Ад інжынерыі запытак да інжынерыі контэксту: пісаць, выбіраць, стыскаць, ізолюваць
Курс па контэкстнай інжынерыі для агентаў ШІ: чаму інжынерыя запытак не ўсё, як заполняецца вікна контэксту, чатыры стратэгіі, RAG для інструментаў, Claude Code.
Кожны, хто стварыў агента, верагодна бачыў такі ж патэрн. У першыя калькі крокаў ён працуе добра: выбірае розумныя інструменты, чыста аргументуе і дыржыцца задання. Адносна 15-20-го крока ён становіцца недбалым. Ён забывае, што было запрасана, выкарыстоўвае інструменты, якія не падходзяць для задачы, або пачынае даўаць слабыя рэзультаты.
Звычная першая падозра падкладаецца на саму мадэль. Але часта прычыной ёсць тое, што показваецца модэлі. Адліквідаванне таго, што будзе прадставлена модэлі, у якой форме і у які момент, называецца інжыніерыяю кантэксту, і для тых, хто стварае агенты, гэта стае аднай з найценнейшых навыкаў.
У наступных раздзелах адмована, што такое інжыніерыя кантэксту і чаму яе патрэбуюць агенты, чатыры стратэгіі, якія выкорыстоўваюцца практычна для кожнай тэхнікі, чатыры спосабы, калі кантэкст можа паспяліць, конкрэтныя прадактыкі для запрошэнняў сістэмы і апісаў інструментаў, поэтапны працэс работы, які аб’еднвае стратэгіі, а таксама тое, як Claude Code, Manus, ChatGPT Agent і Google’s Agent Development Kit рашаюць гэтыя задачы.
Ад інжыніерыі запрошэнняў да інжыніерыі кантэксту ў вікні кантэксту
Інжыніерыя запрошэнняў — гэта мастацтва пісання хорашых інструкцый для мадэлі мовы: чыстае формулюванне, надача прыкладаў, прызначэнне ролі. Для чату з аднам пытаннем і адказам часта гэтага ўсё ўстатківае.
Агенты зменяюць сітуацыю. Агент не адпавядае адразу. Ён пераглядае інфармацыю, вызывае API, пішае код і запускае каманды, шаг за шагам, а інодзе нават дзесяткі шагоў, без удзеле чалавека. Кожны шаг дае вынік, і ўсе гэта падае ў кантэкст мадэлі, які мае фіксаваны размер.
Таму інжыніерыя кантэкста — гэта праектаванне цэлай інформацыйной сістэмы навакол мадэлі. Гэта включае запрошэння да сістэмы, апісацыю інструментаў, рэзультаты паказвання інструментаў раней, історыю размовы і ўсё інша на кожны шаг. Інжынерыянтская команда Anthropic апісвае кантэкст як сукупнасць токэнаў, якія включаюцца пад час выбору дадзеных з мадэлі, а інжыніерыя кантэкста — як оптымізацыю таго, насколькі корыстныя ўсі эты токэны для досягнення паставленага рэзультата. Проста кажучы, агент павінен бачыць правямую інфармацыю, у правямым фармаце, у правямы час.
Anthropic таксаваць гэта як наступны парадыгменны крок пасля інжынерыі запросаў. Усе, што было важліва для стварэння запросаў, застаецца актуальным (чыстыя інструкцыі, хорашыя прыклады, структураваны фармат), аднак додаецца ўсё новы слой: інструменты, зовнішнія даны, історыя паведамленняў, памяць і дынамічны стан. Інжынерыя запросаў стае ўсьмою часткай гэтага падходу.
Час таксуючы важлівы. Компанія Gartner прагнозуе, што да канца 2026 года 40% корпоратыўных прыкладоў будуць аб’яднаны з AI-агентамі, прызначанымі для конкрэтных задач, пры чым гэты пакет у 2025 году станавіў менш чым 5%. Агенты заменяюць статычныя запросы і фіксаваныя каналы адзысквання інформацыі на дынамічную сістэму, у якой кожны вызов інструменту, адзысканы документ і рашэнне падаюць у вікно, якое заполняецца матэрыялам, якога корыстувач ніколі не прасіў прымусова. Команды, якія навучаюцца кераваць гэтым, зазвычай ствараюць агентов, якія застаюцься надзеянымі, адтолькі як яны перастаюць карайць мадэль за проблемы, якія вынікаюць у ўсіх ўводных даных.
Вікно кантэксту як рабочая памяць
LangChain пропонуе падобна аналагія. Спрэчыце LLM як новы тып аператывайчага сістэмы: мадэль — гэта CPU, якая ведае мысленне, а вікна кантэксту — гэта RAM, рабочая памяць, якая зберагае все, што мадэль можа зараз бачыць. Калі RAM запоўняецца, камп’ютар спавальвае, тады як калі вікна агента запоўняецца, ягоя спроможнасць до логічных выводам зменшаецца.
Этот адчутак мае назву — «розклад кантэксту». Chroma перапрацавала адзіннаццаць модэляў новай генерацыі, у тымчасі GPT-4.1, Claude 4, Gemini 2.5 і Qwen3, і выявіла, што кожны з іх паслабляе свою працэздатнасць з адным ростам дужынаі вхідных дадзенняў, нават калі гэта значэнне застаецца далека ад адзначанага ліміту. Мадэль з вікнам на 200K-токенав можа паказаць рэальнае паслабленне працэздатнасці ўжэ пад 50K-токенав. Не існуе разычнага падышку, толькі пастойны спад. Самыя тэхнічныя аналізы компаніі Anthropic таксама дасягаюць такога ж вынікі і рассматрываюць гэта паслабленне як градыент.
Прычына крычыцца у спосабе работы трансфармэроў. Кожны токэн звертае увагу на кожны іншы токэн, што стварае n-квадратных парных адносаў. Калі вікна расце, можлівасць мадэлі сочыць за ўсімі імі практычна зменшваецца, гэта трохі падобнае да сітуацыі, калі каго-то прасябяць зберагчы ў галаве все большыя купы айтэмаў. У певны момент частка інфармацыі пропадае.
Другі добра адстудаваны эфект — „загубленне ў серэдзіне“. Група дактарантаў пад кераваннем Лю адкрыла, што працэс атэнцыі выклікае форму U. Матэрыял, які знаходзіцца блізу пачатку кантэксту, лёгка запам’ятваецца, матэрыял блізу канца таксама лёгка запам’ятваецца, а матэрыял у серэдзіне застаецца незапам’ятаваным; тачнасць зніжваецца на больш чым трыдцаць процэнтных пунктав, калі значыцыйны фрагмент пераходзіць з пачатку на серэдзіну. Уявіце агента, чыяя первісныя інструкцыі знаходзяцца пад п’яцьцюдэсятамі тысячамі токэнаў выходных даных інструмента. Тыя інструкцыі практычна знікаюць.
Працавальнікі знайшлі практычныя правілы. Карыстальнікі Claude Code адзвярцяюць, што якосьць выходных даных пачынае падыходзіць пры прыблізна 40–60 процэнтах часу працы, задоўга да наступлення якога-лібо строгага ліміту.
Што конкуруе за прастор
Семь відоў інфармацыі борацца за месца ў кантэксце агента:
- Сістэмны запрос – гэта ідэнтыфікатар агента: правілы поведзення, логіка керавання і вядомасці для разных тыпаў задач. У агенце гэта не проста фраза „падпрыемны асістэнт“, а можа візначаць, як усё будзе функцыонаваць.
- Апісаціі інструментаў. Кожны інструмент, які можа быць выкліканы агентам, патрэбуе схемы, якая опісвае, што ён робіць, якія параметры ён прыймае і калі яго трэба вжываць.
- Рэзультаты інструментаў. Кожны выклік дадае свой выход. Зявленая веб-сторанка можа мець ад пяці да дзесяці тысяч токэнаў, а сітуацыя з чытаннем файла аднойчы.
Чатыры основныя стратэгіі, з прыкладамі RAG і Claude Code
Календарны ўзрэмень, які ўскора заканчываецца, выклікае пытанні пра тое, што можа быць включана, што застаецца занятым і што павінна быць стыснута. Шырокаа практыкуемая праметка LangChain раздзеляе кожную тэхніку працы з кантэкстам на чатыры катэгорыі: запіс, выбір, стысненне і ізоляцыя. Калі гэтыя катэгорыі стануць вядомымі, практычна будзь-яя тэхніка, з якой вы сталкнётэсь, будзе належаць да адной з іх.
Запіс
Агенты забываюць. Калі весь кантэкст стыснюецца, інформацыя знікае, і калі агент не зберагаў яе ў іншым месцы, яна пропадае. Запіс означае стварэнне для агента спосабоў зберагаць інформацыю па за межамі календарнага ўзрэменя. Гэта можа выглядаць у трох распашчых формах.
Scratchpads — гэта адэт для запісу нотатак, які агент можа выкарыстоўваць пад час выканання задання, каб зафіксаваць тымчасовыя нараджэнні, рашэнні і тое, што патрэбна будзе пазней. Компанія Anthropic створыла адэт "think", які дае Claude спецыяльнае месца для аналізу проблемы, і на тэстах tau-bench ён паўышыў карыстоўнасць на 54% па дзеякіх заданнях.
Файлы з правіламі служаць стойкай процедурной памяцю. Карыстувальнікі Claude Code знаюць CLAUDE.md. Штоўныя файлы запускаюцца на пачатку кожнай сесіі як стаўкі, якія охопляюць архітэктуру праекта, стандарты, спосабы адрабаткі тэстаў і тое, на шта трэба зважаць, таму базовыя элементы ніколі не забываюцца.
Выкарыстоўванне памяці дазволяе агенту зберагаць факты, прыярытэты і выучаныя шаблоны ў файловай сістэме і адсылацца да іх у пазнейшых сесіях, абсалютна парадульна з вікна.
Выбіраць
Запісі ўжыткавыя толькі тады, калі правільныя даны вяртаюцца у правы момент. Выбір означае дачу агенту таго, што яму патрэбна для данага крока, а не всьго, што ён мог бы выкарыстаць. Агент з дзесяткамі інструментоў, большым базам знанняў і калькамі історыі не можа заўсёды запрацаваць усё адразу, таму хтось павінен выбіраць, што ёсць рэлевантным, і справжнія пытанне — хто саме выконвае гэты выбір.
У класычным RAG выбірае сістэма. Прыходзіць запіт, запрашваюцца дакументы і ўкладаюцца ў запрошэнне, а мадэль не мае права голасу. У агентным RAG сам агент выбірае, што шукаць, якія інструменты выкарыстаць, як удосконаліць запіты і калі ёму вастаткі. Працэс запрашэння дакументаў стае ітэратыўным, што ўзгодна, адтак як рэлевантнасць зменшваецца на кожны крок дзялега заведання, і толькі агент знае, што яму патрэбна далей.
LangChain і Pinecone адмініструюць тры разлічныя відменнасці спамяці, з якіх можна чэрпаць інфармацыю. Эпізодычная спамяць — гэта прыклады таго, як раней рашалася падобная сітуацыя, у малай колькасці прыкладаў. Семантычная спамяць — гэта сховішча фактов, якія агент выучыў або якія яму рассказалі. Процедурная спамяць — гэта стацыонарныя інструкцыі па дзеянні, такія як файлы з правіламі, упомянутыя вышэй. Якісна аднароджаная агентка выкарыстоўвае всі тры відменнасці спамяці залежна ад крока.
Інструменты ствараюць найбольшыя проблемы з выборам. За дапамогою чатырохдзесят калькі інструментоў у кантэксце можа знаходзіцца ад дзесяці тысяч токэнаў з апісаннямі, прычым яшчэ не пачалася жадная праца. Як паказвае раздзіл пра абыекты ніжэй, занадта многі інструменты не толькі марнуюць прастор, але і актываўна плутаюць модэль.
Рэштункам ёсць застосаванне тэхнікі RAG да самых апісаў інструментаў, прабываючы сэмантычны пошук, які выявляе толькі тыя інструменты, якія можна выкарыстаць у даным кроку. У стацыянцы пад назвай RAG-MCP гэта было перапрацавана, і было зафіксавана падышча точнасці выбору інструментаў з апошніх 14% да 43%, тыяму больш чым у трох разоў, тады як колькасць токенав запытанняў зменілася прыблізна на палову.
Загальныя рэкамендацыі компаніі Anthropic — гібрыдны падход. Для прышвычкі швайнасці спачатку завантажваецца невялікая колькасць неабходных матэрыялаў, напрыклад файл CLAUDE.md, а робат запрашае ўсё іншае толькі тады, калі гэта неабходна. На практыцы гэта значыць, што робат зберагае лёгкія рэферэнсы, такія як шляхі да файлаў, запытанні і лінкі, а важкі контэнт ачынае толькі тады, калі крок гэта выкарыстоўвае. Першы завантажэння базовых дадзеных і запрашэнне рэшты за патрэбай дапамагае заліцьі праца без зайвага навантажэння, не залічываючы гэта як слепасць праца.
Кампрэсаванне
Нават пры належным выборы, вікно продовжае заполняецца. Уявіце агента, які здае дваццаць запітоў да інструментаў. Ён перадае вісімдэсят тысяч токенаў з рэзультатаў, історыі і следаў логічных выважанняў, большая частка якіх ужо была выкарыстоўвана. Гэты стары матэрыял яшчэ займае прастор, паслабляе увагу і падвышае вартасць і час адпаведзі. Гэта знову проблема «згнілізны» кантэксту, а стысненне яе рашае, зменшаючы кантэнт токенаў, але заставаючы ту інфармацыю, якая мае значэнне. Гэта можа быць адбітае у трох моментах.
Перад тым, як інфармацыя прайдзе ў кантэкст. Разбіўка на часткі дзелае вялікія дакументы на меншыя, супаўзятныя фрагменты, а пераранжаванне дазволяе толькі найкрашчым часткам прайсці ў вікно. Рэзультаты інструментаў таксама можна падсумаваць на лету, перш чым яны стануць часткай главнага кантэксту.
Коліквіт працюе. Падзейна тэхніка — гэта стварэнне падзею: постаўленая падзея, якая аднавляецца пасля кожнай абмянкі, дапамагае зберагчы кампактны запіс усьго, што ўжо было сказана. Популярны гібрыдны падход — гэта зберагчы последнія дзесяць паведамленняў слова ў слова, адтак як інодзе можа знадобіцца точная інфармацыя, а ўсе старэйшыя паведамлення падводзіцца пад статыстыку. Іншы варыянт — простае скасаванне старых паведамленняў па жорстка заданым правілам, калі ўся ўмова заповнення досягае певнага рубежа. Claude Code включае функцыю аўтаматычнага складчання: ён падводзіць пад статыстыку всю ходу пераказу, калі ўмова заповнення досягае 95%. Гэта як страховка. У ідэале складчанне відбываецца загадзя, а не толькі пад час надзвычайных сітуацый.
Пасля таго, як агент чыгае ўжо ўсё, што трэба. Апштосны спосаб — гэта вычышэнне рэзультата работы інструмента. Калі інструмент выканаў панздзесят крокаў, а агент вось-вось вжыўся ў рэзультат, то первісны тэкст можна проста адмаўіць. Старую веб-сторанку, якая была завантажана давно, можна заменіць на кароткіяе падсумаванне або проста адмаўіць.
Ізоляцыя
Ізоляцыя — гэта тое, што робіць багатаагентныя сістэмы працэспрэтнымі. Падазроўваючы, што аднаму агенту даваецца заведац даследжэння, планаванне, кодаванне, тэставанне і адлагоджэнне ў рамках адной дужа дзяўгай розмовы. Яго кантэкст будзе заполняцца, але большая проблема — гэта забрудненне. Пошукі файлаў з фазы даследжэння застаюцца ў сістэме, калі пачынаецца рэалізацыя, і гэты стары матэрыял стае шумам, які відволікае мадэль самэ тады, калі ёй трэба пісаць чысты код.
Рашэннем ёсць прадасты окрэмым часткам работы адзінаковыя вікна кантэксту.
Явным спосабам ёсць вікорыстанне падагентаў. Адпаведальны агент дае конкрэтную задачу, напрыклад, пошук усіх файлаў, зв’язаных з аўтэнтыфікацыяй, падагенту, які працуе у сваёй сабэйной вікні. Калі падагент завершыў работу, ён вяртае толькі стыслае падсумованне, а вся складная процедура пошуку застаецца ў падагенце, не паражаючы адпаведальнага агента.
Іншы варыант — ізоляцыя схемы стану, як яе рэалізавана ў LangGraph. Стан агента спраектаваны так, каб разныя поля хранілі разныя віды кантэксту, і мадэль бачыць толькі тыя поля, якія значны для данага крока. Рэзультаты работы інструментаў могу знаходзіцца ў полях, недоступных для мадэлі, пакуль яны не будуць спецыяльна вынесены на паверхню. Цэе дазволяе точна кантролюваць працэс без неабяжнасці стварання дадатковых агентаў.
Корача, стратэгіямі ёсць запіс, выбіранне, стысненне і ізоляцыя, і все, што выконваецца пасля, аплікуюць адну або калькі з іх.
Як агенты збываюць
Формы неяўнасці паведання адучае, чаго трэба утрымацца. У серэдзіне 2025 года Дру Брэуніг напісаў важлівую двачастную серыю, у якой пераказаў чатыры разныя прычыны, чырэз якія агенты перастаюць эфектывна функцыонаваць, калі ўмовы ў якіх яны працуюць становяцца сложнейшымі.
Занятасць кантэкстам. Халюцінацыя або памылка прабрацуецца ў кантэкст і пасля таго павтараецца знова і знова. Можа, інструмент вернуў некарэктныя даны, або агент пяць крокаў раней зробіў неправільныы вывод. Які-небудзь бяг не застаецца ў кантэксце, але агент продовжае працаваць на адной з асноваў гэтага бягу, і чырвонва агенты ітэруюць над своімі выходамі, кожны некарэктны крок паглыбляе сітуацыю. Рашэннем являецца прыбранне: актыўна адмахваты застарэлую або суперасунковую інфармацыю, калі прыходзяць новыя дэталі, пераканаць выходы інструмента (прычаму з зовнішніх джэраў) пры ўведзенні ў кантэкст, а пасля таго, калі агент вярнуецца да нормальнай працы, скомпрэсаваць неудачныя спробы, каб дзесяць крокаў безрэзультатнага дэбагавання не застаўаліся, калі важна толькі рашэнне. Калі іх не адмахнуць, гэтыя абанаваныя спробы продовжаюць спрабоўваць прабіць модэль назад да падходаў, якія ужо не дапамагаюць.
Адыяктаванне ад кантэксту. Калі кантэкст чырваў, модэль пачынае занадто сільна паследаваць няўздышлівую історыю і занадта мала — тое, што яна выучыла пад час трэніравання. Яна перастае ствараць ўсё новае і павтарае шаблоны, якія няўзды бачыла, пераробляючы паказаны ранейя дзеянні замест таго, каб стварыць новы план. Раўек для гэтага — тое ж самае загальнае заўважэнне: кіраваць і агрэсыўна скарочваць, нават якшо размах кантэксту вельмі вялікі.
Плутаннець у кантэксце. Непатрэбны контэнт перакладваець прыемліе і паслабляе якасць адпаведзі. Класычны прыклад — плутаннець з інструментамі. У аналізнай робе быў выкорыстан квантаваны мадэль Llama 3.1 8B на тэстах GeoEngine. Усупэль, калі было чакаць сорак шасць доступных інструментоў, мадэль не справілася, хоць кантэкст цалкам падпадаў пад яе меры. Калі ж было выкорыстана толькі дзевяцнаццаць інструментоў, мадэль працавала. Інструменты падходзілі па колькасці, але іх было занадта многа, ўжо таму, што мадэль не могла чыста аналізаваць іх усіх. Рашэннем являецца дынамічнае кераванне інструментамі: трэба скорачыць колькасць доступных інструментоў да тых, якія падходзяць для тэкушчага этапу працы агента, пры чым аберыгатар у стылі RAG-MCP выбірае неабходныя інструменты для кожнага крока.
Суперсечна інфармацыя. Новая інфармацыя, якая збіраецца пад час выканання задання, суперчыць чамусь, якое ужо ў кантэксце. У прапанні сістэмы можа быць напісана адна рачунка, а ў отрыманым дасягу — іншая. Агент не можа ўзравняць іх і паводзіцца нэпаспэчна: іноды следуе за адным джэрэлам, іноды — за іншым, а іноды робіць што-небудзь, што не падходзіць ні да однаго. Рашэннем являецца чыстая іерархія аўтарытэта: прапанні сістэмы вышэй за отрыманыя факты, а отрыманыя факты — вышэй за історыю размовы. Перад тым, як увесты новую інфармацыю, пераканайцеся, што яна не суперчыць таму, што ужо ёсць, і вікорыстоўвайце структураваныя часткі, такія як тагі XML або чыстыя заголовкі, каб модэль могла з’ясавіць, звядзе кожны фрагмент і насколькі яму можна даваць доверлівасць.
Хорашая новына заключаецца ў тым, што называнне неудачы зазвычай вказывае на певную стратэгію. Проблему отруеныя рашаюць за дапамою стыснення і адсечкі, прыкладзення увагі — стысненням, плутанне — выборам, а суперсцягі — структураваным пісьмом і выборам. Усё гэта сводзіцца да практык пісьма, выбору, стыснення і ізоляцыі.
Прыказы сістэмы для агентаў
Прыказванне агента сутычыцца з прыказваннем чат-бота. Прыказ чат-бота пераважна задае тон: быць дружэлюбным, залішыцца короткім. Прыказ агента візначае яго архітэктуру. У ём узрозумела практыка опісуецца логіка керавання, тое як распрацоўваць разныя віды задач, якія інструменты падходзяць для якіх сітуацыяў, што робіць пасля памылкі і якія меры безпекі дыяюць. Гэта больш садзіцца на кшталт опісу працы для автонамнага працавніка.
Anthropic говорыць пра неабяжнае напісанне інструкцый, і існуе так званая зона Goldilocks. Чрэзмерна конкрэтна структура інструкцый ёсць крангліва. Уявіце правілу, якое вымагае вікорыстоўваць інструмент X кожны раз, калі корыстувач упомінае платэжы, просіць прызначэння грошаў назад і сума перасягае сто долераў. Такое правіло не працуе ў кожным неспакоўным случае, які ніхто не прагнозаваў. Чрэзмерна нечыярыя інструкцыі таксама ёсць паганыя. Фраза «Будзьце аддзячны і выкорыстоўвайце належныя інструменты» нічога не дае агенту, адтолькі ён не ведае, якія інструменты падходзяць для каго, і не можа прыміць рашэнні без конкрэтных сігналоў. Ідэальны варыянт — гэта інструкцыі, якія ёсць настацькі конкрэтныя, каб кераваць автонамнымі дзеяннямі, але ў той жа час дастаткова свабодныя, каб модэль могла выкорыстоўваць свой рассудак у новых сітуацыях. Неабяжнае выкарыстоўванне сільных гіюрыстык, а не жорсткіх правілаў.
Калькі практычныя прыемы таксама дапамагаюць:
- Даўце інструкцыям чыткую структуру, выкарыстоўваючы XML-тагі або заголовкі у фармаце markdown, якія раздзеляюць фонавую інфармацыю, інструкцыі і рэкамендацыі ўжоўвання інструментаў.
- Пачаткавайце з мінімуму і постарайцеся выправіць неудачы. Запускайце агента на рэальных задачах, адзінавочна выявіце, дзе ён выклікае проблемы, і дадзіце інструкціі, спрамованыя на саме гэтыя прычыны, замест таго, каб прагтаваць загадзя прыгадаць усі крайнія варыянты.
- Мінімум не значыць короткасць. Запрос для складнага працэса можа складацца з тыяч токенав і гэта нормальна, як толькі кожны токен мае сваю прычыну для наявнасці.
- Іспользуйце прыклады з некалькама варыянтамі. Паказанне разнаобразных, стандартных прыкладаў правільнага выбору інструмента, правільнага аргументавання і належнага багатоэтапнага выканання лепшая, чым опіс усіх правіл словамі.
Апісаванне інструментаў
Кожны інструмент, які можна вызваць, патрэбуе схемы, якая охопляе яго мэту, параметры і сцэны ўжыцтва. Хораша апісаванне ёсць самодастатняя, стойкая да памылак і чыстая ў інструкціях, а ўскладненне — гэта прастор для кантэксту.
У практычным застосоўканнях інструменты все чырэй зачыненыя праз MCP – протакол Model Context Protocol, стандартны спосаб для агентаў выходзіць на звязок з зовнішнімі інструментамі і дадзеннямі. Одны сервер MCP для GitHub, другі – для базы дадзеных, трэці – для файловай сістэмы; усе яны даюць інструменты праз аднаковы інтэрфейс. Проблема тая, што падключэнне інструментаў стае настолькі простым, што людзі перэкручваюць гэта. Калі падключаны чатыры-пяць сервераў, апісанні інструментаў можу займаць тыячы токенаў ўжо да першага крока.
Стандартны савет – стварыць мінімальны, але функцыональны набор інструментаў. Калі агенту дасканальна патрэбны многі інструменты, існуюць два падходы, якія дапамагаюць справіцца з гэтым.
Першыя рэкамендацыі дае Manus – платформа для агентаў-выпрацоўвальнікаў. Яны радзяць не дадаваць і не адмахваліць інструменты падчас розмовы з прычыны, якую большасць стваральнікаў не знае: KV-кэш. Калі токены надаюцца LLM, мадэль вырахоўвае для кожнага з іх прэдставленні у фармаце ключ-значэнне, што ёсць даскладным працэсам, таму прадаўцы яны кэшуюць. Калі пачатак кантэксту (прыфікс) заўсёды аднаковы між вызывамі, прадаўцы воспользуюцца ўжо кэшаванымі данымі і обробяць толькі новыя токены напрыкінцы, што ўскорае і здэшавіце працэс.
Калі пераранжаваць або зменіць першую частку кантэксту між вызывамі, кэш стане недзейным, і ўсё даведзецца вырахоўваць занова. З Claude Sonnet кэшаваныя токены вартуюць трыдцаць цэнтав за мільйон, тады як некэшаваныя – тры долары за мільйон, тое ў дзесяць разоў больш. Агент, які выканае трыдцяць або чатырнацаць вызываў за заданне, быстра адчуе гэты разлік.
Таму Manas воліе маскаванне інструментаў замест ўсунення іх. Кожна адзінка застаецца ў кэшаваным прыфіксе, але певныя інструменты пазначаюцца як недоступныя для тэкушчага этапу. Адзінкі застаюцца для стабільнасці кэша, пакуль агент знае, што не трэба іх вжываць, а аднаковыя прыфіксы іменавання дапамагаюць яму аналізаваць катэгорыі інструментаў.
Другі падход — гэта выбіранне на аднойчынцы з RAG, пра якое гаворылася раней: запрашаюцца толькі тыя інструменты, якія ўзмацнююць актуальны крок, і, як паказала артыкул RAG-MCP, гэта падняла точнасць болей чым у тры разы, а таксама зменіла вжытак токенав удвое. Гэтыя два методы допамагаюць адзін другаму. Маскаванне падходзіць для сяродніх набораў інструментаў, а запрашанне — для вельмі большых.
Пад обомі знаходзіцца адна асновная прынцыпа. Стабільны контэнт размешчаецца ў верхней часты кантэкста: прампт сістэмы, апісанні інструментаў і все, што не зміняецца між парадамі. Дынамічны контэнт (історыя, тэперашні крок, стан агента) размешчаецца ў ніжней часты.
Этапавы працэс работы, які спаўнаюць усё
Этыя прынцыпы дапамагаюць як у стандартных асістэнтах для кодавання, так і у самастраўленых агентах. Едыныя разлікі — гэта тое, чы вы самі структуруеце працэс работы, чы ствараеце агента для ціх цэлей.
Кампанія HumanLayer, якую керуе Дэкс Хорты, выступіла на форуме AI Engineer Code Summit, дэтальнаяя метод, які чыста паказвае все гэта. Як паведамляецца, яго команда выкорыстала яго, ўбачыўшы адпрыскальныя трыдцяць пяць тысяч ліній коду ў вялікай базе коду на мове Rust за адну сэсію трохі болей семі гадзін. Ён называе гэта «Частая намеровая компактнасць». Работа навмысна дзеліцца на фазы. Кожная фаза стварае компактны рэзультат, такі як структураваны апіс у фармаце markdown, а кожная новая фаза пачынаецца ў новым вікні, якое мае толькі гэты рэзультат. Мета — навмысна залішацца пры прыблізна 40–60 процэнтах прастору вікна.
Першыя этапы – адзінавочка. Перш чым будзе напісаны які-небудзь код, агент дакледзе базу коду: чытае файлы, выявляе тэксты руху дадзэйнаў і стварае карточку архітэктуры, неабходную для выпання задачы. Падагенты выкананяюць первічны пошук і аналіз, таму всі рэзультаты grep і змест файлаў застаюцца ў ўсаблоках падагентаў і ніколі не трапляюцца ў усаблоку главнага агента. Гэта і ёсць ізоляцыя. Рэзультатам гэтага этапу ёст мастак доследжэння – кампактны документ у фармаце markdown, які містыць шляхі да файлаў, сігнатуры функцый, існуючыя шаблоны і падазры. Гэта ўжо ёсць напісанне, адколі аднаважаныя даныя зберагаюцца па за межамі усаблока. Пасля чаго кантэкст перазначаецца. Первічныя доследжэння могу займаць 60–80 процэнтав усаблока, тады калякат выкарыстоўвае толькі 15–20 процэнтав. Гэта і ёсць стысненне.
Другі ўрадзінні, планаванне. Ачыяецца абсалютна нова вікна, якая містыць толькі файл з данымі доследжэння і опіс проблемы, і агент выкарыстоўвае гэты чысты фон для стварэння дэталізаванага плану рэалізацыі. Гэта таксама найкрашчая падстава для перагляду людзькімі. Логічныя бяды, якія знаходзяцца тут, лёгкая адстрыгчы, таму кожны, хто стварае свой агент, павінен установіць контрольны пункт з удзелам людзіна гэтым моментам.
Трэція ўрадзінні, рэалізацыя. Іншая чыстая вікна містыць толькі план, і агент працуе з яго па кроках. Для заданняў, якім трэба калькі цыклі стыснення, файл progress.md фіксуе, што ужо завершана і што застаўся, што ёсць ўсьмо толькі ўваходжэнне дадзеных.
Якаясь версія гэтага практыкуецца ў большасці прымэнных сістэм.
Як рэальныя продукты керуюць кантэкстам
Claude Code. Агент для напісання коду у рэжыме командной строкі адміністрацыі Anthropic ўваходзіць у чысле найкрашча документаваных прыкладаў. Ён выкарыстоўвае гібрыдны падход да пошуку: файлы CLAUDE.md завантажаюцца загадзя на пачатку кожнай сесіі для стварэння базовага кантэксту, тады як інструменты на кшталт glob і grep адпаведаюць за пошук у кодбазе толькі тады, калі гэта неабходна. Агент не створае прадзіюмовы індэкс усіх дадзеных, а шукае ўсё за патрэбай. Функцыя автакомпактавання актываціюецца, калі ступень выкарыстоўвання досягае 95%, і ў такім разе зберагаюцца архітэктурныя рашэнні oraz пяць файлоў, якія былі апранаваныя неякраз недзеўна. Агент можа ствараць падагентаў з чыстымі вікнамі для выканання складных падзаданняў, а інструмент для зберагання інформацыі дазволяе яе зберагаць між сесіямі. Кансэпцыя яго працы — рабіць сама простая можлівая дзеянне, павераючы модэлю рашэнне пра тое, калі яму трэба, і надаючы йому інструменты для гэтага.
Manus. Гэта падчынны падход, які выкарыстоўвае большую колькасць інфраструктуры, і ён ўсупершце падходзіць для агента загальнага назначэння, які служыць сотням тысяч корыстувачаў, дзе важліва эфектывнасць у масштабе. Яго ключовы элемент — арранжаванне з урахоўваннем KV-кэша, якое падтрымлівае стабільнасць прыфікса між раундамі для максымальнага павторнага выкарыстоўвання кэша, а таксама маскаванне інструментаў заместо ўсунення іх. Канвейер стыснення дадзеных обрабоцуе кожны выход інструмента прытым, як той не доходзіць да кантэксту агента. Перманентны спіс задач следзі за станам, а файлавая сістэма выступае як допаможная памяць для кантэксту, які быў выключаны.
ChatGPT Agent. Агент OpenAI, які выкліканы Project Operator, архітэктурная ўзгалі не падобаецца ні ўжоўшым агентам. Ён працуе на адыгу Model Computer-Using Agent і выбірае падход, дзе прыорытэт дае графічнаму інтэрфейсу. Уместа вызоваў інструментаў на основе тэксту ён выкарыстоўвае візуальны браузер, а скрыншоты стаюць частынай кантэксту як кадры, якія мадэль аналізуе разам з історыяй пакульшых скрыншотаў і дзеянняў. Чынніцы, якія трэба врачыць, таксама зміняюцца. Візуальныя токены ёсць дорогі, таму агенту трэба рашуча выбіраць, сколькі скрыншотаў ён заставіць. OpenAI выкарыстоўвае методы падкрэплення навыкаў, ўжываючы тыясчы віртуальных машын для трэнінгу, замест таго, каб жорсткая прыкладзіць правіла ўжыцтва адпаведных інструментаў. Project Deep Research і Project Operator дзеляцца станам, што дазволяе паўнаста пераходзіць між працэю з браузерам, аналізам тэкста і выкананнем коду. Парадоксальна рэч у тым, што, у працоўніцы з кодам, інструментамі для тэксту і вялікімі вікнамі Claude Code, гэты прыстрой ёсць візуальным і універсальным. І той, і гэты выклікаюць неабходнасць стварэння кантэксту, але з разнымі проблемамі і спосабамі ўсунення ўсіх прыгожданняў.
Кіт для разработкі агентаў Google. ADK выступае з самым прынцыпавым архітэктурным падходам, пры яком існуе троха прынцыпаў дызайну для кантэксту агента. Хаваць зберагчык ад відображэння, таму што стойкі стан не ўзмацнівае таго, што праказваецца пад час адпаведнага вызову API. Неабходна выкарыстоўваць явныя трансфармацыі, тыя бачыць названыя, аранжаваныя працэсары, якія пераформатаваюць кантэкст у тэставаныя, складальныя крокі, а не проста спаўнююць адсутныя часткі за дапамогою з’еднання страк. За замовчаннем трэба обмежваць кантэкст, так што кожны вызов модэлю бачыць толькі мінімум неабходных дадзенняў, і ніч не падае ў кантэкст, як толькі гэта не будзе явна включанае. У такім разе складанне кантэксту рассматрываецца як пайплайн з чысткімі стадыямі, а не як запрос, да якога постаўляюць дадатковыя дадзеныя.
Звычайны пайплайн кантэксту
Якшча паглядзець на гэтыя платформы, на кожным кроку агента выклікаецца аднаковы патэрн:
- Сбор кандыдатаў: даныя з вводу корыстніка, історыя, рэзультаты інструментаў, запрашаныя дакументы і стан агента.
- Выбіранне таго, што ўзмацніць даны крок у межах застатку токенав.
- Складчаўкаванне па мэту адпаведнасці: падсумаванне, скорачэнне чы пераструктураванне выбранага матэрыялу.
- Распараджэнне всіх элементаў для паўтарнага выкарыстоўвання ў KV-кэшы, пры чым спачатку стабільны, а пасля — дынамічны контэнт.
- Складанне фінальнага кантэксту і выкананне запыту.
Галузь развіваецца стрэмгана, і ёсць ўсё, што трэба ўжо выучыць, таму найлепшы спосаб развіцца — гэта експерыментаванне: ствараць ўсё новае, старацца зрозумець, дзе ўсё ламаецца, і ўсё прадзействаваць.
Спадневаная літэратура
- Інжыніерыя кантэкста для прыкладненняў LLM: структураваны выхід, інструменты і меры для агентаў: Як цярпяча ствараць вхідны даны для мадэлі: выбір кантэкста, шаблоны запытанняў, схемы JSON, обмежаная дэкадавання, вызов інструментаў, цыклы агентаў і меры автаноміі.
- Стратэгіі чанкавання для прыкладненняў RAG у працэсе вырабоцтва: фіксаваны размер, семантычнае чанкаванне і чанкаванне па прынцыпу «род-дзець»: Практычны апіс чанкавання дадзенняў у RAG, ад фіксаванага размеру і рэкурсывнага раздзелення да чанкавання па прынцыпу «род-дзець», выражэнняў, пазнелегкага чанкавання, тэхнікі RAPTOR, табелей, коду і стварэння крэйтарыў для ацэнкі.