Практычныя нататкі: 21 агентны патэрн праектавання простымі словамі
Практычны разбор тэмы «21 агентны патэрн праектавання простымі словамі»: кантракты, праверкі і гатовыя фрагменты кода для каманд, якія ўкараняюць гэты падыход.
У гэтым карыце парадоксальнае шляхатка ад сыр'ёчных матэрыялаў да рабочай сістэмы для кнігі «21 Агентны шаблон дзеянаў, пасвятаваная простаю адказу». Акцэнт ставіцца на практычныя крокі, чыстае перакананне ў правільнасці дзеяння і код, які можна проста падключыць у рэпазітарый, не намагаючыся з'ясаваць мету. У стадыі агледку неабходна з'явіць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння прычынам перад змінайом коду. Аператары должны магчымае перадзеяць крок з вядомай точкі контролю, не намагаючыся з'ясаваць схованы стан. Конфігурацыю трэба залічыць парадзельной ад коду прыкладнага програмы. Файлы сяродавішняе сераўісу, хранілішчы секрэтных дадзеных і флагі функцый належаць у аднам месца, якое аператары можаць пераглядаць, не чытаяўшы весь граф.
Агентныя шаблоны дзеянаў — Дыяграмы архітэктуры + Практычны падказкі (21 шаблон)
Калі працюеце над стадзіяй архітэктуры шаблонав дызайну з агентамі, спачатку запісаце кантракт: неабяжлівыя даныя, сігнал успеху і тое, што выканаецца пад частым неудачам. Такі спіс пераканаецца, што пазнейшыя змены коду буду чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зрабіце пераканаўку пасля дорогіх крокаў. Сістэма вярнення не павінна зноў вырахоўваць кашты за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Змест
Калі працюеце над стадзіяй кантэнту, спачатку запісайце умовы контракта: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўкі дапамагае заліцвачваць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроўку пасля дорогіх крокаў. Програма не павінна зноў сцягваць плата за той самы вызов LLM, калі аператар праканае пазнейшы вузел.
1) Ланцужок запытак (Pipeline)
Калі працуеце над стадзіяй 1 Prompt Chaining Pipeline, спачатку запісайце контракт: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Спрэцьвачайце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назвы артыфактам, задацьце перакананні успеху і не прымайце часткова завершэння без паведамлення. Зберагачвайце у кэшы стабільныя інструкцыі сістэмы і схемы інструментаў. Перадача ідэнтычных прамаргінаў ёсць частым выклікам расходавання рэсурсаў. Калі працуеце над стадзіяй 1 Prompt Chaining Pipeline, спачатку запісайце контракт: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Зберагачвайце настройкі за межамі коду прыемліка. Файлы сераўнавання, храненні секрэтных даных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аўдыт без неабяжлівага чытання всей структуры.
flowchart TD
A[Input] --> B[Step 1 Prompt e.g. summarize ]
B --> C[Step 2 Prompt e.g. extract structured data ]
C --> D[Step 3 Prompt e.g. format output ]
D --> E[Final Output]
2) Маршрутызацыя
Этап 2 маршрутацыя працюе наўздоўж лепш, калі яго розглядаць як вімерную паверхню. Зафіксавайце адна ідэальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней. Храніце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блокі маскуюць, які вузел запісаў канкрэтны поле, і спакоююць продовжэнне працы пасля перарываў.
flowchart TD
I[User Request Input] --> R{Router intent and confidence }
R --> A[Workflow A e.g. Q&A ]
R --> B[Workflow B e.g. coding ]
R --> C[Workflow C e.g. retrieval ]
R --> Q[Ask Clarifying Question]
A --> O[Output]
B --> O
C --> O
Q --> I
3) Паралелізацыя
Этап паралелізацыі №3 працюе наяўней, калі яго розглядаць як мерыемую паверхню. Зафіксавайце адна ідэальная версія, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзервавайце стан графа ў простам і тыпізаваным фармаце. Вкладныя структуры маскуюць інфармацію пра тое, які вузел запісаў які поле, і спакоююць працэс пасля перэрываў.
flowchart TD
I[Input] --> F[Fork]
F --> A[Task A e.g. retrieve source 1 ]
F --> B[Task B e.g. retrieve source 2 ]
F --> C[Task C e.g. retrieve source 3 ]
A --> J[Join Merge]
B --> J
C --> J
J --> O[Output]
4) Размышленне (Стварэнне → Крытыка → Удосконаленне)
Этап «4. Аналіз, стварэнне крытыкі» працюе наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштаб. Спрыяйце гэтым этапам як даговор межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння. Храніце стан графа ў простам і тыпаваным фармаце. Вярнутыя структуры маскуюць, які вузел запісаў кожны поле, і спакшуюць продажчыку працу пасля перэрываў. Этап «4. Аналіз, стварэнне крытыкі» працюе наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштаб. Храніце настройкі параду ўнутры коду прыемлівача. Файлы сяродавішча, хранілішча секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всего графа.
flowchart TD
D[Draft Output] --> C[Critique Review check requirements errors ]
C --> R[Revise using critique]
R --> D
C --> O[Final Output]
5) Апыткаінструментаў (Выклік функцый)
Для этапы 5 «Іспытанне функцыі выкарыстоўвання інструментаў» неабходна пазначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння пры перадзеі коду. Аперацыйныя працавнікі должны магчымае запускаць этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не элементамі пазнейшага доўрабатвання. Аўтэнтыфікацыя павінна выконвацца на воратах, а перарганізацыя прав на доступ — у роўні дадзеных. Толькі токэн-носіцель не ёсць межай адпаведнае часткі продукту.
sequenceDiagram
autonumber
participant U as User
participant L as LLM Agent
participant T as Tool API
U->>L: Request
L->>L: Decide tool and arguments
L->>T: Call tool args
T-->>L: Tool result
L-->>U: Answer using result
6) Планаванне
У 6-й стадзіі планавання неабяжна ўскладніць вхідныя даны, адпаведальную особу за кожны крок і крытэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехарактэрыстыкі должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс. Неабяжна людская апраўда для тых крокаў, якія выкарыстоўваюць грошы чы зміняюць даны ў працэсе віробніцтва. Компіляцыйныя налашчэння не ёсць гарантыяй полнай адпрацоўкі бізнес-процэса.
flowchart TD
G[Goal] --> P[Create Plan steps and dependencies and tools ]
P --> S1[Execute Step 1]
S1 --> C1{Step success }
C1 --> S2[Execute Step 2]
C1 --> RP[Revise Plan Recover]
RP --> P
S2 --> C2{Done }
C2 --> S3[Next Steps ]
C2 --> O[Output]
S3 --> C2
7) Спавяленнае дзейство калькі агентаў
Для этапы 7 «Саўместная праця калькулятораў» неабходна перад змінай коду адзначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння. Аператары должны магчыма было перзапусціць этап з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце цій этапы як даговору межаў вхідных і перакананых выходных даных. Даўце назвы артыфактам, адзначыце крэтыры успеху і не прабоўваюце прыймаць часткова завершаныя рэзультаты без падтверджэння. Заставьце людзкія падтверджэння для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праработкі. Працэс складання коду не ёсць адпаведнікам пачатковай цэлесообразнасі праекту. Для этапы 7 «Саўместная праця калькулятораў» неабходна перад змінай коду адзначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння. Аператары должны магчыма было перзапусціць этап з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце настройкі параду коду прыкладнення. Файлы сераў, хранільнікі секрэтных даных і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнай чытання всіх дакументаў.
граф.
flowchart LR
G[Goal] --> C[Coordinator]
C --> R[Research Agent]
C --> B[Builder Agent]
C --> V[Verifier Reviewer Agent]
R --> S[Synthesis]
B --> S
V --> S
S --> O[Final Output]
8) Адміністрацыя памяці
Калі працюеце над 8-м этапам адміністрацыі памяці, спачатку запісайце умовы: неабходныя даныя, сігнал успеху і тое, што відбываецца у разе частковай невыполнення. Такі спіс дапамагае залічваць змяны ў кодзе чыста. Документавайце як шлях успеху, так і шлях відновлення. Перапрыбуткі, людзкі контроль і обработка некорэктных паведамленняў ёсць часткай продукту, а не наступным етапам дорабкі. Стварайце контрольныя пункты пасля дорогіх крокаў. Продовжэнне працы не павінна знову сцягваць плата за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
flowchart TD
E[Events Conversation] --> STM[Short-term Memory session buffer ]
E --> LTM[Long-term Memory Store vector DB ]
Q[Current Query] --> RET[Retrieve relevant memory]
LTM --> RET
STM --> CTX[Assemble Context]
RET --> CTX
CTX --> L[LLM Agent]
L --> O[Output]
9) Навчанне & адаптацыя
Калі працюеце над 9-м стадзіям адаптавання навыку, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі спіс пераконтролюе чыстасць пазнейшых змян у кодзе. Валіце маленькі, тэставаныя елементы замест большых скрыптов. Калі якісь крок неяксамоства, гэта неяксамоство павінна вказваць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не павінна зноў выклікаць той самы вызов LLM, калі аператар праканае пазнейшы вузел.
flowchart TD
R[Run Agent] --> L[Log outcomes success fail and user edits ]
L --> A[Analyze patterns where it fails ]
A --> U[Update prompts routes retrieval or fine-tune ]
U --> E[Evaluate before rollout]
E --> R
E --> A
10) Протакол кантэкста мадэлі (MCP)
Калі працуеце над 10-ю стадзіяй Протакола кантэксту мадэлі, спачатку запісайце угоду: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьварыць пазнейшыя змены коду. Спрэчвайце гэтую стадзію як угоду межа данымі і перакананымі выходамі. Дайце назвы артыкулам, задаце перакананні успеху і адмовіцеся ад тыхоўага частковага завершэння. Зберагачвайце стабільныя інструкцыі сістэмы і схемы інструментаў. Перадача ідэнтычных прамулкіў — частая прычына вітрацын. Калі працуеце над 10-ю стадзіяй Протакола кантэксту мадэлі, спачатку запісайце угоду: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцьварыць пазнейшыя змены коду. Зберагачвайце настройкі за межамі коду прыемліка. Файлы сераўнавання, храненні секрэтных дадзенаў і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аўдыт без неабяжлівага чытання всей структуры.
flowchart LR
A[Agent LLM] --> C[MCP Client]
C <--> S[MCP Server]
S --> T1[Tool: Documents]
S --> T2[Tool: DB]
S --> T3[Tool: Tickets]
T1 --> S
T2 --> S
T3 --> S
S --> C --> A
11) Выканек целей і стэрагаванне
Этап 11 «Выканек целей і стэрагаванне» працюе наяўней, калі яго спрыяваць як мерыемую структуру. Запісайце адна ідэальная сцэнарыя, адзін прыклад неудачы і прыметкі па вярнэнню да пачатковага стану пры расшырэнні масштаба. Дакументавайце як успешны, так і няуспешны шляхі рашэння проблем. Практыкі павторных спробы, кантроль з боку людзя і обработка некорэктных паведамленняў ёсць часткай самага продукту, а не паслядніх дапрацоўкаў. Зберагайце стан графаў у простам і тыпаваным фармаце. Вярнутыя структуры даных маскуюць інфармацыю пра тое, які вузел запісаў кожнае поле, і спакшуюць продовжэнне працы пасля перэрываў.
flowchart TD
G[Define Goal and Success Criteria] --> X[Execute steps]
X --> M[Monitor state metrics progress budget risk ]
M --> X
M --> A[Adjust plan change route escalate]
A --> X
M --> O[Output]
12) Обработка асаблівых сітуацыяў і вярнэнне да нормальнага стану
Этап вярнення пасля адміністрацыі выключэнняяў працюе належна, калі яго розглядаць як мерыемую структуру. Запісаўце адна ідэальная транскрыпцыя, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзерваваць стан графа ў простам і тыпізаваным фармаце. Вкладныя структуры маскуюць інфармацыю пра тое, які вузел запісаў які поле, і спакоююць продажчыку працу пасля перарываў.
flowchart TD
A[Action Tool Call] --> E{Error }
E --> N[Next Step]
E --> R[Retry with backoff]
R --> S{Recovered }
S --> N
S --> F[Fallback route tool]
F --> T{Still failing }
T --> N
T --> H[Escalate to Human Safe Stop]
13) Чалавек у ланцюгу (HITL)
«13 Human» у гэтам этапе працюе наяўнейша, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адну справу аб неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштаб. Спрыявайце гэты этап як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Храніце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блокі маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакшуюць возз'яднанне пасля перэрываў. «13 Human» у гэтам этапе працюе наяўнейша, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідэальны прыклад, адну справу аб неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштаб. Храніце настройкі парадульна ад коду прыемлівача. Файлы сераўнавання, хранілішча секрэтных даных і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всего графа.
sequenceDiagram
autonumber
participant U as Human
participant A as Agent
participant S as System Tools
A->>U: Proposal and rationale
U-->>A: Approve Edit Reject
A->>S: Execute approved action
S-->>A: Result
A-->>U: Confirmation and summary
14) Адзыскванне ведамаў (RAG)
Для 14-го этапа адміністрування базы знаўень RAG неабходна пазначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння пры перадзеіснаванні коду. Аператары должны магчымае запускаць этап з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, пераказы людзям і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не елементамі пазнейшай дапрацоўкі. Паказваць трэба тыя часткі тэксту, якія фактычна ляглі в основу адпаведнай адказы. Без цых цітатаў аператары не зможуць розразліць галюцынацыю ад прасоў у індэксаванні.
flowchart TD
Q[Question] --> E[Embed Rewrite Query]
E --> R[Retrieve top-k chunks vector keyword hybrid ]
R --> RR[Rerank Filter optional ]
RR --> C[Compose grounded prompt question and context ]
C --> L[LLM]
L --> O[Answer and citations quotes optional ]
15) Комунікацыя межа агентамі (A2A)
Для 15-го этапа «Комунікацыя межа агентамі» неабходна прадзеўжыць вярнікі вхідных дадзеных, адпаведальнага за шаг і крэтарыя выходу пры перадзеўжанні коду. Аператары должны магчымае перадзеўжваць шаг з вядомай точкі контролю, не падозрываючы прыхованы статус. Лепш выбіраць маленькія, тэставаныя елементы замест абмежлівых скрыптав. Калі шаг не выконваецца, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Неабходна людская апраўда для тых крокав, якія выкарыстоўваюць грошы або зменяюць даны праўай працы. Компіляцыйныя налашчэнні не ўзроўнаўцяюцься з пачатковай цэласнасцю бізнес-процэса.
sequenceDiagram
autonumber
participant A as Agent A
participant B as Agent B
participant C as Agent C
A->>B: Task request schema and constraints
B-->>A: Result or stream updates
A->>C: Verification request
C-->>A: Verified flagged findings
A-->>A: Merge and decide next step
16) Оптымізацыя з урахоўваннем рэсурсаў
Для этапы 16 «Оптымацыя з урахоўваннем рэсурсаў» неабходна перад змянай коду адзначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння. Аперацыйныя працавнікі должны магчымае перайсці на гэты этап з вядомага пункта контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце тлумачэнню гэтай этапы як даговору межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, адзначыце крэтыры успеху і не прабоўваце прыймаць часткова завершаныя рэзультаты без падтверджэння. Заставьце людзкія падтверджэння для тых крокаў, якія выкалічваюць грошы або зменяюць даны прадукцыі. Компіляцыйныя налашчэння не ёсць падтверджэннем повнасці бізнес-працэсаў. Для этапы 16 «Оптымацыя з урахоўваннем рэсурсаў» неабходна перад змянай коду адзначыць вхідныя даны, адпаведальнага за этап і крэтыры завершэння. Аперацыйныя працавнікі должны магчымае перайсці на гэты этап з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце налашчэння параду аплікацыйскага коду. Файлы сераўіса, хранільнікі секрэтных даных і флагі функцый должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць без неабяжнае чытання ўсіх зместоў.
цэлага графіка.flowchart TD
I[Request] --> S[Score difficulty and risk and SLA]
S --> D{Choose compute level}
D --> L1[Fast Cheap path small model and minimal tools]
D --> L2[Balanced path hybrid retrieval and standard model]
D --> L3[Strong path best model and RAG and Reflection]
L1 --> O[Output]
L2 --> O
L3 --> O
17) Тэхнікі разумавання
Калі працуеце над стадзіяй 17 «Тэхнікі разумавання», спачатку запісайце умовы: неабяжлівыя даныя, сігнал успеху і тое, што выканаецца у разы ўзельнага неяўнасці. Такі чарт дапамагае залічыць зямнымі пазнейшыя змены коду. Документавайце як «вялікі успех», так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі сістэмы і схемы інструментаў. Перасылка ідэнтычных прамуров ёсць частым выклікам для рэсурсаў.
flowchart TD
P[Problem] --> D[Decompose choose reasoning strategy]
D --> A[Act: tool calls sub-steps optional ]
A --> V[Verify constraints checks tests cross-check]
V --> D
V --> O[Answer]
18) Меры захоплення / Шаблоны безпекі
Калі працюеце над 18 стадзямі модэляў безпекі Guardrails, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі спіс пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце перапактаванне пасля дорогіх крокаў. Програма не должна зноў ставіць плату за той самы вызов LLM, калі аператар праказвае пазнейшы вузел.
flowchart TD
IN[User Input] --> IV[Input Validation policy risk checks ]
IV --> PC[Policy Constraints system rules and boundaries ]
PC --> TR[Tool Restrictions allowlist and sandbox and rate limits]
TR --> L[LLM Agent]
L --> OV[Output Validation PII leak checks and format checks]
OV --> OUT[Safe Output]
OV --> ESC[Escalate Refuse Human review]
19) Ацэнка і манітарынг
Калі працуеце над 19-м стадзіям Адзынакоўкі і Супервізорства, спачатку запісайце контракт: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконтроўвае чыстасць пазнейшых змян у кодзе. Спрыятлівае ставленне да гэтай стадзіі як да контракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і адмовіцеся ад беззвучнага частковага завершэння. Стварайце контрольныя пункты пасля дорогіх крокаў. Програма не должна занова ставіць плату за той самы вызыв LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над 19-м стадзіям Адзынакоўкі і Супервізорства, спачатку запісайце контракт: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконтроўвае чыстасць пазнейшых змян у кодзе. Зберагаце настройкі паза кодам прыемленае програмы. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераканацца без неабяжнага чытання всіх элементаў структуры.
flowchart TD
RUN[Agent Runs] --> LOG[Log traces inputs tools outputs latency cost ]
LOG --> EVAL[Evaluate quality golden set and metrics ]
EVAL --> DRIFT[Drift Anomaly detection]
DRIFT --> IMP[Improve prompts routes retrieval model ]
IMP --> DEP[Deploy and A B test]
DEP --> RUN
20) Прыорытэзаванне
Этап 20 «Прыорытацыя» работае наўзяй, калі яго спрыяваць як мерыемую структуру. Зафіксавайце адну ідэальную версію, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Дакументавайце як шлях успеху, так і шлях вяснавання проблемы. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных паведамленняў ёсць часткай продукту, а не элементамі пазнейшай дапрацоўкі. Храніце стан графа ў простам і тыпаваным фармаце. Вярстакаваныя структуры маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакшваюць продовжэнне працы пасля перарываў.
flowchart TD
T[Incoming tasks] --> N[Normalize into task objects]
N --> S[Score tasks urgency impact risk deps cost ]
S --> Q[Queue Scheduler]
Q --> X[Execute next task]
X --> U[Update scores new info failures deadlines ]
U --> S
X --> O[Outputs Results]
21) Адкрыцція новага
Этап 21 Exploration Discovery працюе найкрашча, калі яго розглядаць як вімерную паверхню. Запісаце адна «золатая» версія коду, адзін прыклад неудачы і прыметку паўрануці працы, перш чым расшырваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты працы графа павінны быць простымі і з адначыя тыпамі дадзеных. Вкладаныя структуры дадзеных масквуюць, які вузел запісаў канкрэтны поле, і спакойваюць працу пасля перарываў.
flowchart TD
S[Start: unknown space] --> H[Generate hypotheses options]
H --> G[Gather evidence search tools experiments ]
G --> E[Evaluate findings rank eliminate]
E --> R[Refine hypotheses]
R --> G
E --> O[Best answer strategy]
Звычныя шаблоны (тае, што насправды выкладваюць команды)
Шаблон Common паказвае, які етапы найэфектывнейшыя, калі іх расследжваць як вімерныя аспекты. Зафіксавайце адну ідэальную версію, адзін случай неудачы і прыметкі па вярнэнню да пачатковага стану пры расшырэнні масштаба. Расследжвайце гэты этап як кантракт межа вхіднымі данымі і пераканаленымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаць крытэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Храніце стан графа ў простам і тыпаваным фармаце. Вярнутыя структуры даных маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакойваюць працу пасля перарываў. Шаблон Common паказвае, які етапы найэфектывнейшыя, калі іх расследжваць як вімерныя аспекты. Зафіксавайце адну ідэальную версію, адзін случай неудачы і прыметкі па вярнэнню да пачатковага стану пры расшырэнні масштаба. Храніце настройкі за межамі коду прыемлівача. Файлы сяродавысці, хранальнікі секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аўдыт без неабяжнага чытання всего графа.
Чэк-ліст для эксплуатацыі
Этап перагляду канцэлкі працоў выканання даходзіць до наявнасці лепшых рэзультатаў, калі яго спрыявае можласць вімеры. Зафіксавайце адну ідэальную версію, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу працы.
Запісвайце часы выканання і косты токеноў або запытак па боку ад функцыйнальных рэзультатаў. Візуабельнасць костаў з самага пачатку запобегае неспакойным рахункам, калі праця пераходзіць з дэмаверсіі ў спакульнаныя сераўы.
Зберагайце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блобы маскуюць інфармацыю пра тое, які вузел запісаў якое поле, і спаказваюць продыржанне працы пасля перарываў.
Калі бюджэт дазволяе, дадаць тэст на перагляд крытычнай сяглі ў сістэме CI з вікорыстанням фіксатываў, а не рэальных платных API.
Конфігурацыю трэба зберагаць паза кодам прыкладнай програмы. Файлы сераўыска, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всего графа.
Зберагайце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блобы маскуюць інфармацыю пра тое, які вузел запісаў якое поле, і спаказваюць продыржанне працы пасля перарываў.
Перш чым запускаць стак, заморозьце версіі, зафіксавце «золаты» транскрыпты для крытычнага шляху і паказвце способы абяроны. У спільных срэдах неабходны ліміты частоты запытоў, пераканання ў належнасці тэнанту і чысткі власнік для ротацыі секрэтных даных. Валіце простую надзейнасць працоўніка перад крэатыўнымі разовымі дамаваннямі.
Прыметкі для 30adaa1daab9: не кладзіце ключы прадаўцоў у рэпазітарый, задаце верхнюю межу токена на сесію і зберагачыце транскрыпты празаўсюды з фікстурамі eval, каб пазнейшыя замены модэляў заставаліся порównаннімі.