Галоўная / Артыкулы

Дзевяць інжынерных звычак для выпуску першага AI-агента

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

Выдавец: REACTAPP.TOP8 хв чытання1901 слоў

Крыніцы: *9 AI Engineering Rules I Wish I Knew Before Shipping My First Agent*

У кругах, які займаюцяся агентскімі тэхналогіямі, цыркулюе апаведанне пра праект закону на суму 47 000 долераў. Ён пераказваецца без большых дэталяў, таму трэба спрыятаць яму як ілюстрацыі, а не як перапрацаванаму кейсу. Агент парадным чынам выканаў усе задачы пад час кожных дэманстрацый. Але пазней яго засталі ў рэальным рабочым працэсе кліента, дзе ён пачаў знову і знову выканаць тыя ж дзеянні протыраць шасць гадзін, без жоднага старожоў. Модэль не была чыгункавая. Людзі, якія стварылі сістэму, праігноравалі усё, што дапамагае модэлю з’ясавіць, калі трэба зупыніцца.

Гэта некамфортная правда працы над інжынернымі рашэннямі для сістэм AI. Вы можэце володзець Python, RAG, агентамі, векторнымі базамі дадзеных, тэхнікамі стварэння запытань і кожным новым выданнем модэляў, але ўсё раве не будзеце гатовыя да практычнага вікорыстання. Навыкі, якія выручаюць пасля неудачнай дэманстрацыі, рэдка калі практыкуюцца ў навучальных матэрыялах. Яны нудныя і лёгкія да прыхілень, а таксама вядуць ад вялікага па выгляду сістэмы да той, якой можна даверыцца. Ёсць дзевяць працоўных прычын, якія варта маты перад тым, як запускаць які-небудзь автонамны прылад.

Чаму большых знанняў недастаткова, каб стаць высокакваліфікаваным спецыялістам

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

  • Прогназ Gartner з серэдзіны 2025 года, які паўтарае, што ад 40% праектаў з агентскім AI ўсунуцца до канца 2027 года, што адбываецца праз зростаючыя віткі, неясную цэннасць і слабыя механізмы карання рызыкаў.
  • За даным апдэтам S&P Global Market Intelligence з 2025 года, компаніі скасоўвалі прыблізна 46% сваіх прыкладоў практычнаг выкарыстоўвання AI перад запускам у працэсе вырабачання.
  • За інформацыяй, ініцыатыва NANDA з MIT, пасля аналізу болейш чым 300 прыкладоў запуску, выявіла, што толькі адносна 5% з іх прынеслі значны фінансавы эфект.
  • Няхто з модэляў раптам не паспрабаваў рашыць задачы на 40% гэрш. Чыго-небудзь не выходзіць межы між дэманстрацыяй і фактычным запускам. Адпаведная тэорыя гласі, што проблемы пад час вырабачання часта вызваныя або паглыбленыя сістэмай, якая апрацоўвае модэль, а не самым выходам модэля: відсутнасць захоўнага абягу, пакіданыя даны, слабкая праверкі, недастатак можлівасцей для стазіроўкі і неконтрольаваныя вітраты.

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

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

    1. Запісуйце метод ацэнкі раней, чым функцыя

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

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

    2. Выкорыстоўвайце кантэкст як грошы

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

    • Скорачыце отрыманыя документы да сэрйозных частак.
    • Підсумавайце старэйшыя часткі размовы і не перэглядайце іх усіма дэталямі.
    • Адмахніцеся прыкладаў, якія не дапамагают.

    Калі вы не ведаеце, што заполняе вікно, распісціце весь запіт, які надсілаеце, і прачытайце яго. Багато людзей дзівуецца, насколькі там зайвага.

    3. Абмежыце автонамію пры пачатку працы

    Гэта звычка, якая могла б запобігты цыклу повернень грошэй. Одын огляд помілок дорогіх агентаў, підготовленій групою під назвою Operator Collective, роздылів віпадкі на пяць катэгорый: відсутнісць обмежэнь для автономніх дый, застарылі чы некорэктні даныя, довіра до рэзультатыв без перэвіркі, безпека як післядумка і помілкі, якіх ніхто не помітыв, оскількі за німі не стэжылі. Жодна з цых п’яты катэгорый не ёсць „неправільною мадэллю“. Гэта лішэ одын огляд, а не закон прыроды, проце ён вказуе на рэальну проблему. Неправільній рэзультат рыдко завдае шкоды сам по собі. Шкода вінікае тоды, колі нішчо не стрымуе яго чы не запобігае повторэнню.

    Арыметыка паказвае, што гэта ўмоўна. Якшо кожны крок у працэсе агента выкааны з успехам 95% часоў, а задача складаецца з 20 крокаў, то весь працэс не будзе завершаны правільна 95% часоў, таму што шансы на успех сумаваюцца. Якшо кожны крок выкааны з успехам 90%, то ланцуг з 20 крокаў успеяе толькі прыблізна 12% часоў. Дэманстрацыя, якая чыста выконвае тры крокі, майжэ нічога не сказывае пра рэальны працэс з двадзяцьма крокамі.

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

    4. Логаваць так, як будзеш дыбагаваць у тэмрэці о 2 гадзіны ночы.

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

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

    5. Аднімаецеся па шчыгле: стварэнне запіту, адзысканне дадзеных, пасля чаго ўточнэнне

    Калі точна праця модэлі не задовольняе, новачкі частаўна прыходзяць да тонкай наладкі, таму што гэта здаецца „сапраўднай“ інжынерныяю практыкой. Аднак гэта зазвычай неправільны першы крок, і вядомы прыклад паяснюе чаму. Научныя супрацоўнікі Microsoft взялі GPT-4, дадалі набор тэхнік стварэння запытань пад назвай Medprompt і паравалілі яго з Med-PaLM 2 — медычным спецялістам ад Google, наладжаным на клінічныя даны і адпаведным запытанням, напісанным экспертамі. Па рэзультатах тэста MedQA, Med-PaLM 2 пасля тонкай наладкі парадзіў 86,5%, а GPT-4 з тэхнікай Medprompt — 90,2%. Гэта адпавядае зніжэнню колькасці памылак на 27%, а таксама значна меншай колькасці запускаў модэлі, чым трэбае для тонкай наладкі.

    Разумны парадак дзеяння — ад дышэчных і вярнага да дорогіх і медленных:

    Prompting        Retrieval (RAG)      Fine-tuning
    (cheap, fast,  →  (add missing    →   (expensive, slow,
    reversible)        knowledge)          last resort)
    

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

    6. Раздзеляйце мысленне ад дзействаў

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

    Аптэктыя будавальнікі раздзеляюць іх на два часты. Адна частка, мадэль, выступае як «мозг» і выбірае наступны крок. Іншая частка — просты дэтэрміністычны код, які выступае як інструмент для ўжыцтва, выкаанае гэты крок: яны вызываюць API, пераканаліваюць адпаведны адказ, прабуюць знову ў межах заданых правілаў і дазволяюць дзеяння толькі праз аплыненне часу, як таго трэба за трэцім прынцыпам. Саме такое раздзеленне робіць сістэму можлівайю да дыбагавання. Можна адразу з’ясаваць, чы мадэль выбрала неправільную дзеяння, чы код выканання спачатку правільную дзеяння зрабіў некорэктна — гэта розныя багі, якія трэба лікуваты рознымі способамі.

    7. Ставіцеся да запросаў як да коду і версіявайце іх

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

    8. Спачатку выкладзіце цэну функцыі

    Ёсць прыклад, які паказвае рэзультаты. Агент без жадных абмежэнняў, які выканаў аднае програмныя заведаменне, заплатыў ад 5 да 8 долераў за платаўкі API, тады як цэлыя сесіі вырабніцтва, павторныя спробы і вызовы інструментаў коштавалі ад 10 да 100 долераў. Цыфры могу разлічвацца залежна ад модэлю, заведамення і способа оптымізацыі, але загальная карточка застаецца той самай. Косц, які здаецца незначным за адна заведаменне, стае значным пры вялікай колькасці заданняў, а пілятны праект, які здаваўся дышэўскім пад час тэставання, можа стаць прычыной адкладэння праекту.

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

    9. Дыягназаванне пры тым, як здагадвацца

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

    Калі можна прыхіліцца толькі да половіны гэтага

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

    Змена ў адной фразе

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