Речь идёт про общий паттерн **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 или полностью кастомная оркестрация, но логика почти всегда сводится к этим же паттернам.