Речь идёт про общий паттерн **multi‑agent orchestration / multi‑agent conversation frameworks**: несколько LLM‑агентов, каждый со своей ролью и промптом, а один из них (оркестратор/менеджер) формулирует задания для остальных в виде промптов и читает их ответы.
Снаружи это выглядит как «агенты пишут друг другу промпты», но технически это просто управляемый обмен сообщениями внутри одного приложения.
## Как это устроено под капотом
В типичном мультиагентном сетапе:
- У каждого агента свой системный промпт: роль, цель, стиль, доступные инструменты и границы ответственности.
- Оркестратор разбивает задачу на подзадачи и для каждой формирует текстовый запрос (промпт) к нужному агенту: ресёрчер, кодер, критик, суммаризатор и т.п.
- Ответы агентов идут обратно в оркестратор, который решает, кого вызывать следующим, когда останавливать цикл, и что показать пользователю.
По сути, это чат не «человек ↔ один ИИ», а **человек ↔ группа ИИ‑агентов**, где один из них рулевой.
## Конкретные фреймворки, которые так делают
Чаще всего под этим подразумевают не один конкретный продукт, а любой из таких фреймворков:
- **AutoGen** от Microsoft — «multi‑agent conversation framework», где есть `GroupChat`‑менеджер, который координирует разговор нескольких агентов; каждый агент — отдельная роль с собственным промптом и поведением.
- **LangGraph** (поверх LangChain) — граф оркестрации, где узлы = агенты/инструменты, рёбра = кто кому передаёт управление; типичные роли: Planner, Router, Specialist‑агенты.
- **KaibanJS** и похожие JS‑библиотеки — делают то же самое в Node‑стеке: агенты с явно прописанными промптами и протоколами взаимодействия.[](https://huggingface.co/blog/darielnoel/llm-prompt-engineering-kaibanjs)
Плюс крупные компании (Anthropic, OpenAI и др.) описывают у себя внутренняя мультиагентная оркестрация с lead‑агентом, который делегирует subtasks другим агентам через промпты.[](https://www.anthropic.com/engineering/multi-agent-research-system)
## Типовые паттерны «агент пишет промпт агенту»
Чаще всего встречаются такие схемы:
- **Supervisor + workers**: супервизор читает запрос юзера, решает план («спроси ресёрчера, потом проверяющего») и формирует для них текстовые задания; каждый воркер видит только свой промпт и историю.
- **Group chat**: несколько агентов в общем чате, а специальный менеджер решает, чей сейчас ход (так устроен `GroupChat` в AutoGen).
- **Граф задач (LangGraph)**: переходы между агентами зашиты как граф состояний (если нужно больше фактов — к ресёрчеру, если код не прошёл тесты — обратно к кодеру и т.д.).
Конкретно «что именно юзает» тот или иной сервис, по одному внешнему поведению обычно не определить: это может быть AutoGen/LangGraph/KaibanJS или полностью кастомная оркестрация, но логика почти всегда сводится к этим же паттернам.