Галоўная / Артыкулы / Практычныя прытлумленні: Інжынерыя запрошэнняў мертва для агентаў AI — гэта ёсць што.

Практычныя прытлумленні: Інжынерыя запрошэнняў мертва для агентаў AI — гэта ёсць што.

Практычныя прытлумленні: Інжынерыя запрошэнняў мертва для агентаў AI — гэта ёсць што: кантракты, пераказы і слоты для коду для команд, якія викорыстоўваюць гэты патэрн.

1533 слоў

Існавайце гэта як перапрацоўаны варыянт ідэй з артыкула “Prompt Engineering Is Dead for AI Agents — Here Is What Actually Works — Context Engineering” для працавальнікаў: чыстыя этапы, аранжаваныя блакі з кодам і прыметкі для вяснавання пасля перадачы задання. Этап Аналізу работае найэфектывней, калі яго розглядаць як мерыябельную базу. Запісаце адна ідеальная версія рэзультата, адин прыклад неудачы і прыметкі для вярнення да пачатковага стану пры расшырэнні масштаба задання. Разглядайце гэты этап як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўце назвы элементам, задаце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння задання.

Проблема, якую ніхто не называе, пакуль яна не зашкодзіць

Для стадіі «Проблема, якой ніхто не дае назвы», перш чым зменяць код, неабходна дэфініцыя вхідных даных, адміністратара крока і крэтэрыяў завершэння. Аперацыяныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць трэба час выконання і кост токенаў або запытаў разам з функцыйнальнымі рэзультатамі. Відразувыя данні пра косцы запобегаюць неспакойным рахункам, калі процес пераходзіць з дэмавай версіі ў спяльныя сераўры. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны данні з перакананням схемы, чым вольнае пісьменне выражэння.

Што на самай працы ёсць інжынерія контэксту

У стадії «Якій самэм контекст насправды?» неабяжна практычна визначыць інпуты, адпавядаючага за крок адпаведальнага, а таксама крэтынія выходу пры змены коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Конфігурацыю трэба залічыць пазначальна ад коду прыкладнення. Файлы сераўіса, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь ланцуг задач. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны данні з перакананням схемы, чым вольныя тэкстовыя апісанні.

Як гэта выглядае ў пайплайне LangGraph

Для стадіі «Як гэта выглядае» неабяжна прадзефінаваць вхідныя даны, адпраўніка крока і крэтыяры завершэння пры перадзмене коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне крока з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў ёсць часткай продукту, а не чымось, што дадаецца пазней. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакрыцчама схемы, чым вольнай формы тэкст. Для стадіі «Як гэта выглядае» неабяжна прадзефінаваць вхідныя даны, адпраўніка крока і крэтыяры завершэння пры перадзмене коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне крока з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце цій стадіі як даговору межа вхіднымі данымі і перакрытымі выходнымі данымі. Дайце назвы артыфактам, прадзефінаваць перакрыццы успеху і не прабоўваце прыймаць часткова завершаныя рэзультаты без паведамлення.

from typing import TypedDict, Optional, List
from langgraph.graph import StateGraph

class ResearchAgentState(TypedDict):
    # Persistent context — set once, never overwritten
    user_goal: str
    domain_constraints: List[str]
    session_id: str

    # Time-sensitive context — updated by retrieval/tool nodes
    retrieved_docs: List[str]
    current_findings: str
    last_tool_result: Optional[str]

    # Transient context — cleared after use
    raw_api_payload: Optional[str]   # cleared after parsing
    intermediate_reasoning: Optional[str]  # cleared after synthesis

Этап, працэю пра які ніхто не говорыць: якасць контэксту

Калі працюеце над этапам «Этап, пра які ніхто не говорыць», спачатку запісайте умовы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць па частый неякосці. Такі список контроля дапамагае заставаць пазнейшыя змены коду чыстымі. Запісвайце час выканання і вартасць токеноў або запытак праза функцыйнальныя рэзултаты. Відразувая вартасць запобегае неспакою, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Зберагаеце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадзесланне ідэнтычных прамаўляючых частак — частая прычына збытка ресурсаў.

Дзе гэта паслабляецца

Калі працюеце над этапам «Дзе гэта не працуе», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выканаецца пад частым неяўнікам. Такі список контроля дапамагае заліцварыць пазнейшыя змены ў кодзе. Зберагаюце настройкі праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры. Кэшавайце стабільныя інструкцыі системы і схемы інструментаў. Перадача ідэнтычных прамулі ўсё часта становіцца прычыной зайвых витрачэнняў.

Пачніце тут, а не з запыту вашай системы

Калі працуеце на стадыі «Start Here Not at», спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамэра є частым выклікам для ресурсаў. Калі працуеце на стадыі «Start Here Not at», спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрыймайце гэтую стадыю як угоду між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы элементам, задайце критэрыя успеху і не прымайце тыхню частковую упрацоўку.

Хочаце з’ясавіць больш?

Этап «Жадаю глыбэй» работае наяўней, калі яго спрыяваць як мерыемую паверхню. Запісаце адна «золатая» транскрыпцыю, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Запісвайце часы выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы з’являюцца рана, таму не будзе неспакою з рахункамі, калі праця перайдзе з дэмаверсіі ў спакульнаныя сераўысы.

Справакі

Этап апеляцыйй працюе найкраща, калі яго спрыяваць як до мерыемагучай паверхні. Запісаце адна ідеальная версія, адзин случай неудачы і прыметкі па поверненню да пярвоначальнага стану пры расшырэнні масштаба. Зберагачыце настройкі за межамі коду прыемлена. Файлы сяродавішчыны, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх элементаў. Задаце ліміты токенав на кожны рунг і на кожную сесыю. Інструменты-агенты агрэсіўна расширваюць контекст; строгі ліміты не дазволяюць, каб дэманстрацыі ператварыліся на неспакоючыя рахункі.

Чэрніцца кантролю эксплуатацыі

Калі працуеце над этапам чэрніцы кантролю эксплуатацыі, спачатку запісаце умовы: неабяжныя даннэ, сігнал успеху і тое, што выходзіць па частковай неудачы. Гэтая чэрніцца дапамагае залічваць пазнейшыя змены ў кодзе чыста і прозрачна.

Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцоўкі дзеянняў.

Зберагаеце інструкцыі стабільной системы та схемы адзінакоў. Павторная апрабоўка ідэнтычных прамуры ёсць частым выклікам працэздатнасці.

Зберагаеце стан графа ў простам і типаваным формате. Вярнутыя блокі маскуюць, який вузел запісаў канкрэтны поле, і спакоююць працэс пасля перарываў.

Калі дозволяе бюджет, дадзіце тэст на пераверканне критычнага шляху ў CI з викорыстанням фіксатываў, а не рэальных платных API.

Зберагаеце настройкі паза кодам прыемлівача. Файлы сераўнавання, хранілішчы секрэтных дадзеных та флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць перагляд без неабяжнага чытання всего графа.

Перад апраноўкай стаку заморажаваеце версіі, фіксаваеце ідеальны транскрыпт критычнага шляху і падтверджваеце крокі для абворачэння. У спакульнаваных сераўнаваннях неабходны ліміты частоты запытоў, перагляд умов аренды та чысткі власніка для змены секрэтных дадзеных. Валіце простую надзяйнасць працэздатнасці пра крэатыўныя, але еднакратныя дамахі.

Запіска параграфу 541ceda072de: не трэба кантрацеўваць ключы прадаўцаў у репазітарыі, задаць максімальную кантроль над токенамі на кожну сесію, а таксама зберагчы транскрыпціі празаўседле з фікстурамі для ацэнкі, каб пазнейшыя замены моделей заставалі пораўнанневымі.

Запіска па прыемнай змецканосці 0 стадзіі работае лепш, калі яе спрыяваць як меравальную плошчу. Зафіксавайце адну ідеальную транскрыпцію, адзін прыклад неудачы і запіску пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Канфігурацыю трэба кантрацеўваць за межамі коду прыемленае; файлы сераўнавання, сховішчы секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць без неабходнасці чытання всей структуры.

Дзялінкі прыемнай змецканосці 0/905: меравайце час выканання, класу ошибак і выкарыстаны токен для гэтай запіскі, а пасля вырашыце, чы робіць змяну на адной падставе фіксаванага набора пытанняў, а не на адной лячбе.

Для першага стадыі пасілабрання неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес.

Дзеянне пасілабрання 1/905: зважыце час выканання, класію адказаў і колькасць выкарыстоўваных токенав для гэтага пункту, а потым вырашыце, чы робіць змяну на адной пазуроўанай сэтцы пытанняў, а не на адной лічбе.

Калі працуеце над 2-й стадзіяю прыемкі з паўнейшага захавання, спачатку запісайце умовы кантракту: неабходныя даны, сігнал успеху і тое, што выходзіць па частым неудачам. Такі список контроля дапамагае заставаць пазнейшыя змены коду чыстымі. Запісвайце час выканання і вартасьць токена або запыту паляглі ўжо разам з функцыйнальнымі рэзултатамі. Відразувыя даны пра вартасьці запобегаюць неспакоўным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя среды.

Дзеянне прыемкі з паўнейшага захавання 2/905: звярніце увагу на час выканання, класыя ошибакі і витраты токена для гэтай прыемкі, а пасля, на аднойчынных критэрыях, а не толькі на індывідуальных прыкладах, апраняйце рашэнне пра тое, чы робіць змены.

2-я стадзія прыемкі з паўнейшага захавання найэфектывней працюе, калі яе спрыямаць як меравальную плошчу. Запісвайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і вярнэльны шляхы. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.

Дзеянні паўжасткі 3/905: звярніце увагу на час выканання, клас памылак і колькасць викорыстоўваных токенав для гэтага зьязку, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.