Глава 9

Оставляйте финальный ответ у manager

Agents-as-tools подходят, когда один владелец должен выбрать специалистов, объединить их outputs и отвечать перед пользователем или внешним gate. Manager хранит исходную цель и вызывает specialist agents как ограниченные tools; specialists возвращают данные или артефакты, но не забирают user-facing разговор. Паттерн удобен для due diligence, release readiness и поддержки, когда единый компонент нормализует стиль и применяет общие guardrails.

TypeScript
import { Agent } from "@openai/agents";

const testAgent = new Agent({
  name: "Test specialist",
  instructions: "Analyze only test evidence. Return findings, not a release decision."
});

const securityAgent = new Agent({
  name: "Security specialist",
  instructions: "Analyze dependency and policy risks. Do not modify source files."
});

const releaseManager = new Agent({
  name: "Release manager",
  instructions: "Call specialists when needed and own the final release summary.",
  tools: [
    testAgent.asTool({
      toolName: "inspect_tests",
      toolDescription: "Inspect test evidence for the release candidate."
    }),
    securityAgent.asTool({
      toolName: "inspect_security",
      toolDescription: "Inspect dependency and policy evidence."
    })
  ]
});

Контракт specialist tool стоит держать узким: один глагол в названии (inspect, search, verify, calculate); описание, которое сообщает, когда вызывать tool и чего он не делает; input с узкой задачей, ссылками на artifacts и локальным budget; output со schema, provenance и completion status; и запрет на необратимый side effect, если manager ожидает только анализ.

Manager полезен, когда нужно вызвать несколько независимых экспертов, сравнить результаты, устранить дубли и выдать один согласованный output. Manager лишний, когда приложение уже знает список workers и может собрать structured outputs обычной функцией.

Manager - это и точка контроля, и bottleneck. Центральный manager удобен для общих rate limits и output policy, но одновременно становится single point of semantic failure. Его prompt нельзя превращать в свалку инструкций всех specialists.

Manager держит управление у себя. Иногда же владение нужно передать целиком - и передавать его можно только вместе с контрактом.

Ссылки