Практычныя прыемкі: Падаэйенты проты систем з колькае агентаў: Паўныя інструкцыі пра тое, як
Практычныя прыказкі: Падзеўнікі проты багатападзеўніковых систем: Паўны путнік пра тое, як: контракты, перакрыцчы і слоты для коду для команд, якія выкарыстоўваюць гэты патэрн.
У гэтым карыце парадоксу перадстаўляецца шлях ад сыр'ёчных матэрыялаў да рабочай системы для кніги: «Падагенты проты мульті-агентных систем: Паўны практычны вядар пра тое, як AI-агенты насправдзе работаюць разам». Акцэнт ставіцца на практычныя крокі, чысткія перакананні та код, які можна проста дадаць у репазітарый без неабяснення меты. У стадзіі агульнага відгледу неабходна з'явіць вхідныя даны, адпаведальнага за крок та критэрыя завершэння прычым перад зменай коду. Аперацыйныя працавнікі должны магчымае перадзначыць крок з вядомай точкі контролю, не падозрюючы пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцоўкі задач.
Змест
Калі працюеце над стадзіяй Кантэксту, спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўкаў дапамагае заліцвачыць пазнейшыя змены ў кодзе. Спрыймайце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назву артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце пераконтроўку пасля дорогіх крокаў. Програма для продакцыі не павінна знову ставіць плату за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы вузел.
1. Проблема аднаго агента
Калі працюеце над стадзіяй 1 «Проблема аднаго агента», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список дапамагае заліцьваваць змяны ў кодзе пасля таго. Запісвайце час выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы запобегаюць неспакойным рахункам, калі працэс пераходзіць з дэмаверыяна ў спакульнаныя сераўсы. Зробіце контрольную пазнаку пасля дорогіх крокаў. Функцыя адновлення не должна зноў нарахоўваць косты той самай вызову LLM, калі аператар прабуюць зноў выканаць пазнейшы вузел.
2. Што такое сабагент?
Калі працуеце над стадзіяй «2. Што такое?», спачатку запісайце умовы виконання: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список дапамагае заліцвачыць пазнейшыя змены ў кодзе. Зберагаюце настройкі паза кодам прыемліка. Файлы серавэра, хранілішча секретных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры. Ставяце контрольныя пункты пасля дорогіх крокаў. Система вярнення роботы не должна занова ставіць плату за той самы вызов LLM, калі аператар перапрыяўляе роботу да наступнага элемента. Калі працуеце над стадзіяй «2. Што такое?», спачатку запісайце умовы виконання: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список дапамагае заліцвачыць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшаў, прычына невыпання должна вказываць на адну конкрэтную абавязку, а не на заплутаную структуру роботы.
3. Што такое мульті-агентны система?
Этап «3. Чам ёст а стэйдж» працюе наякраўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыявайце гэты этап як кантракт межа вхіднымі даннымі і падтвердзенымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананням задач. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць продажчыку роботы пасля перарываў.
4. Сабагенты проты систем з калькольніка агентаў — рэальная разліка
Этап 4 падчынных агентаў протыва мнага-агентных систем работае наякша, калі яго спрыяваць як вимерную паверхню. Зафіксавайце адна «золатая» транскрыпцыю, адзін прыклад неудачы і запіс пра вярненне да пачатковага стану, перш чым расширваць масштабы. Запісвайце часы выконання і косты токенав або запытак па боку ад функцыйнальных рэзультатаў. Візуабельнасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмавайшага режыма ў спяльныя сераўеры. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшваюць продажчыку роботу пасля перарываў.
5. Асновная архітэктура: Оркестрайтор–Рабочы
Этап «5. Основная архітектура» працюе найэфективней, калі яго розглядаюць як меравальную плошчу. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Размешчайце настройкі за межамі коду прыемліка. Файлы сераўнавальнага сераўса, хранілішчы секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх элементаў структуры. Стан структуры должен быть простым і адзінаковага типу. Вярсткаваныя элементы маскуюць інфармацію пра тое, калькі вузел запісаў калькі поле, і спакоююць продажчыку роботы пасля перерываў. Этап «5. Основная архітектура» працюе найэфективней, калі яго розглядаюць як меравальную плошчу. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Вядзьміце прыоритет над малымі, тэставанымі елементамі працы над вялікімі скрыптамі. Калі які-небудзь крок не выйшаў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцоўку задач.
6. Рабочы процес «з канца ў канец», па кроках
Для 6-й стадзіі «Цэлы працоўны цикл» неабходна прадзефінаваць вхідныя даны, адпаведальную особу за кожны крок і критэрыя завершэння працы перад змінайом коду. Аператары должны магчымае запускаваць крок з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Спрыяйце цій стадзіі як даговору межаў вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, прадзефінаваць пераканання ў успеху і адмовіцца ад беззвучнага частковага завершэння. Заставіць людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе виробніцтва. Праця ў часе компілявання не адпаведае пачатковай цэлесообразнасі бізнес-процэсу.
7. Чатыры топалогіі з калькольнікаямі агентамі (і калі іх вжываць)
Для стадіі 7 „Four Multi-Agent Topologies“ неабяжна ўзначыць вхідныя даны, абавесць крока і крэтынія выходу пры перадзмене коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Запісваць час выконання і кост токенаў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы запобегаюць неспакоўным рашчыткам, калі парадок пераходзіць з дэмавай версіі ў спяльныя сераўысы. Прыкласты людзкія апрацавкі да тых елементаў, якія витрачаюць грошы або зменяюць даны для працы. Прыўязка пад час компілявання не абавесць полнайасцю бізнес-процэсаў.
8. Чаму гэта работае: Эканоміка токенаў
У стадії «8 прычын, чаму гэта работае» неабяжна практычна вакуменцыя: перад змінайом код неабяжна адзначыць вхідныя данні, адпаведальную особу за крок і критэрыя завершэння. Аперацыйныя працавнікі павінны магчымаецца перазапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Конфігурацыю трэба знаходзіць за межамі коду прыемленае. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцыйяў павінны быць у адном месца, якое аперацыйныя працавнікі могу пераглядаць, не чытаючы весь ланцуг задач. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя данні з пераканальванням схемы, чым вольныя тэкстовыя апісанні. У стадії «8 прычын, чаму гэта работае» неабяжна практычна вакуменцыя: перад змінайом код неабяжна адзначыць вхідныя данні, адпаведальную особу за крок і критэрыя завершэння. Аперацыйныя працавнікі павінны магчымаецца перазапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Лепш выкарыстоўваць маленькія, тэставаныя елементы, чым велікія скрыпты. Калі крок не выйшоў, прычына неабяжна павінна быць асоўваная з адной конкрэтнаяя адпаведальнасцю, а не з заплутаным ланцугам задач.
9. Калі НЕ трэба вжываць систему з калькольнікаяе агентамі
Калі працуеце над пунктамі «9. Калі НЕ трэба…», спачатку запісайце угоду: неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі чэк-ліст дапамагае захаваць чыстасць пазнейшых змян у кодзе. Спрэцьвуйце да гэтага етапу як да угоды межа даннімі і перакананымі выходамі. Дайце назвы элементам, задаце критэрыі успеху і не падзеляйцеся частковым выпаннем без адказу. Зробіце чэкпоінт пасля дорогіх крокаў. Система вярнення не павінна зноў ставіць плату за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы вузел.
10. Урокі інжынерыі, апранутые пад час стварэння гэтых систем
Калі працюеце над 10 урокамі інжынерыі, спачатку запісайце умовы: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад частыя неудачы. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі. Запісвайце час выканання і кост токена або запыту пад функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмаверыянту ў спакульнае сераўерское сэрвіса. Зрабіце перапытку пасля дорогіх крокаў. Система не должна зноў нарахоўваць кост той самай вызову LLM, калі аператар прабуюць зноў запрацаваць пазнейшы вузел.
11. Мінімальны прыклад работы
Калі працуеце над стадзіяй 11 A Minimal Working, спачатку запісайце контракт: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага абякання. Такій чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Зберагаеце настройкі за межамі коду прыемлі. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры. Ставяйце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення до роботы не должна занова ставіць плату за той самы вызыв LLM, калі аператар перапрыяўляе роботу да наступнага элемента. Калі працуеце над стадзіяй 11 A Minimal Working, спачатку запісайце контракт: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага абякання. Такій чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі крок абякае, прычына абякання должна вказываць на адну адпаведальнасць, а не на заплутаную лінію обробкі.
def run_research(query: str) -> str:
# 1. Lead agent plans
plan = lead_agent.think_and_plan(query)
memory.save("plan", plan) # survives context truncation
findings = []
subtasks = plan.subtasks # explicit objective + boundaries per subtask
# 2. Spawn subagents in parallel, not sequentially
results = run_in_parallel([
subagent.execute(task=subtask, tools=subtask.allowed_tools)
for subtask in subtasks
])
findings.extend(results)
# 3. Lead agent decides: enough evidence, or loop again?
while not lead_agent.has_sufficient_evidence(findings):
new_subtasks = lead_agent.refine_plan(findings)
more_results = run_in_parallel([
subagent.execute(task=t, tools=t.allowed_tools)
for t in new_subtasks
])
findings.extend(more_results)
# 4. Synthesize, then verify citations in a separate pass
draft = lead_agent.synthesize(findings)
cited_answer = citation_agent.attach_citations(draft, findings)
return cited_answer
12. Спісак перагляду практычнай роботы
Этап 12 Спісака перагляду практычнай роботы дае найкращыя результаты, калі яго спрыяваць як меркаваную структуру. Зберыце адна ідеальная версія транскрыпцыі, адзин прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы роботы. Спрыявайце этапу як кантракту между вхіднымі даннымі та паверыжанымі выходнымі рэзультатамі. Дайце назвы всім элементам, задаце критэрыя успеху та не падзейвайце частковыя завершэння роботы без паведамлення. Зберагаеце стан графа ў простам і типаваным формате. Вкладзеныя элементы маскуюць інфармацію пра тое, який вузел запісаў кожны поле, і спакоююць продовжэнне роботы пасля перерываў.
13. Справы
Этап 13 «Апавяранні» работае наўлежна, калі яго спрыяваць як мерыемую паверхню. Зберагуце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы.
Чэк-ліст для эксплуатацыі
Этап чэк-ліста для эксплуатацыі работае наўлежна, калі яго спрыяваць як мерыемую паверхню. Зберагуце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы.
Дакументаваце як шлях успеху, так і шлях вярнэння да нормальнага стану разам. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадацца пазней.
Зберагаюце стан графа у простам і типаваным формате. Вярнутыя структуры маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакоююць працэзвяршэнне пасля перарываў.
Калі бюджет дазволяе, дадзіце тэст на перакананне, які працюе над критычным шляхам у CI з викорыстаннем фіксатываў, а не рэальных платных API.
Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, адказгавальнасць за гэта павінна быць прызначаная для адной задачы, а не для заплутанага ланцюга крокаў.
Зберагаюце стан графа у простам і типаваным формате. Вярнутыя структуры маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакоююць працэзвяршэнне пасля перарываў.
Перад апраноўкай стэка заморозьце версіі, зафіксуйце ідеальны транскрыпт для критычнага шляху і паказваце крокі для адворачэння. У спадзеленых средах патрэбны ліміты частоты запытоў, перакананні пра адпаведнасць власніка і чысткі распад секрэтных даных. Валіце простую надзяйнасць замест крэатыўных, адзінразовых дэманстрацый.
Запіска параграфу 45d9cb2740c4: не трэба кантрацеўваць ключы прадаўцаў у репазітарыі, задаць максімальную кантроль на токены на адну сесію, а таксама зберагчы транскрыпціі празаўседле з фікстурамі для ацэнкі, каб пазнейшыя замены моделей заставалі пораўнанневымі.
Запіска па прыняццю заходаў абароны 0 стадіі найэфектывней працюе, калі яе спрыяваць як мерыемую плошчу. Зберагчы адну ідеальную транскрыпцію, адзін прыклад неудачы і запіску пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Канфігурацыю трэба кантрацеўваць за межамі коду прыемленае. Файлы сераўнавання, сховішчы секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць без неабходнасці чытання всей структуры.
Дзялічны пункт абароны 0/815: мерыць час выканання, класу каштоўкаў і выкарыстаныя токены для гэтай запіскі, а пасля — вырашыць, чы робіць змяну на адной падставе фіксаванага набора пытанняў, а не на адной лячбе.
Для першага пасэгу з ударожанняя захавання неабходна ўзначэнне вхідных дадзеных, адпаведальнага за крок і крэтарыяў завершэння працы перад зменым коду. Аперацыйныя працавнікі должны магчымае перадзвануць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшае, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач.
Дзеянне з ударожанняя захавання 1/815: вымерыце час выконання, класію памылак і колькасць выкорыстоўваных токенав для гэтага пасэгу, а потым выявіце, чы рашацца застаўляць змяну на адной пазначкі фіксаванага набора пытанняў, а не на асобістых спазырах.
Калі працуеце над 2-й стадзіяю прыемкі з паўнейшага захавання, спачатку запісайце умовы кантракту: неабходныя даны, сігнал успеху і тое, што выходзіць па частым неудачам. Такі список контроля дапамагае заставаць пазнейшыя змены коду чыстымі. Запісвайце час выканання і вартасьць токена або запыту праза функцыйнальныя рэзултаты. Відразувая візуабельнасьць вартасцей запобегае неспакою, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне прыемкі з паўнейшага захавання 2/815: замерьце час выканання, класію паканаў і витраты токена для гэтай прыемкі, а пасля выберце, чы хацеце застаўіць змену на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.
2-я стадзія прыемкі з паўнейшага захавання работае лепей, калі яе спрыямаць як мерыму аспект. Запісвайце адну ідеальную транскрыпцыю, адзін прыклад пакана і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштаб. Дакументавайце як успішны, так і вярнэнчы паты. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжасткі 3/815: звярніце увагу на час выканання, клас памылак і колькасць токенаў, выкорыстаных для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.