Вам не потрібні субагенти
Більшість людей малюють архітектури агентів подібно до організаційних схем.
Вони ставлять Оркестратора (Orchestrator) зверху. Малюють лінії до Дослідника (Researcher), Кодера (Coder) та Тестувальника (Tester). Це виглядає охайно. Це виглядає професійно.
Це помилка.
У 1975 році Фред Брукс писав, що додавання нових людей у проєкт програмного забезпечення, який запізнюється, лише збільшує термін його виконання. Це стається тому, що витрати на комунікацію зростають швидше, ніж виконується сама робота.
Коли ви створюєте рій агентів, ви повторюєте цю помилку.
Оркестратор витрачає весь свій час на управління підзавданнями. Це створює величезні накладні витрати. Ви будуєте не архітектуру, ви будуєте «сантехніку».
Ось чому субагенти зазнають невдачі:
- Втрата контексту: Субагент працює у власному вікні. Він не може передати батьківському агенту всю свою логіку міркувань. Він надсилає лише резюме.
- Дорогі обхідні шляхи: Люди змушують агентів записувати дані у файли або git лише для того, щоб батьківський агент міг прочитати, що сталося. Ви заново винаходите спільну пам'ять, але робите її повільнішою.
- Марна трата токенів: Ви платите за передачу контексту через кожен кордон. Рій із N агентів коштує N+1 токенів.
- Суперечливі рішення: Паралельні агенти роблять різні припущення. Якщо два агенти створюють одне й те саме, вони часто використовують різні стилі або логіку.
Дослідження показують, що рівень невдач у мультиагентних фреймворках становить від 41% до 87%. Ці невдачі трапляються тому, що агенти «не чують» один одного. Краща модель цього не виправить. Це проблема координації, а не модельна проблема.
Як же будувати замість цього?
Дотримуйтесь цих двох правил:
- Якщо завдання незалежні, запускайте їх як окремі цикли. Використовуйте дві окремі програми. Це паралельна обробка, а не мультиагентна система.
- Якщо завдання потребує єдиного ланцюжка думок, використовуйте один єдиний цикл.
Один цикл зберігає весь контекст в одному місці. Він легко самокоригується. Він залишає чисту історію замість безладу в груповому чаті.
Припиніть будувати сітки. Почніть будувати цикли.
Source: https://dev.to/tony__vi/you-dont-need-sub-agents-1eh7
Optional learning community: https://t.me/GyaanSetuAi