Практычныя прытамкі: Інжынерыя запытаў для проектавання систем AI: RAG, памяць, інструменты
Практычныя прыказкі: інжынерыя запыткаў для проектавання систем AI: RAG, памяць, інструменты — кантракты, перакрычанняя та слоты для коду для команд, якія выкарыстоўваюць гэты патэрн.
У гэтым карыце парадоксу перадстаўляецца шлях ад сыр'ёчных матэрыялаў да рабочай системы для: інжыніерыі запытаў і дизайна AI-систем: RAG, памяці, інструментаў, тонкай налады і ацэнкі. Акцэнт ставяцца на практычныя крокі, чыстае перакананне і код, які можна падставіць у репазітарый без неабяснення меты. У стадзіі агляду неабходна практычна з'явіць вхідныя даны, адпаведальнага за крок і критэрыя завершэння прычымкі перад зменай коду. Аператары должны магчымае перадзначыць крок з вядомай точкі контролю без неабяснення схованага стану. Конфігурацыю трэба залічыць парадзельна ад коду прыемленае. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядзець без чытання всей структуры.
Інжыніерыя запытаў проты інжыніерыі контэксту
Калі працюеце над стадзіяй «Prompting vs Context Engineering», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераконтролюе чыстасць пазнейшых змян у кодзе. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некоректных паведамленняў ёсць часткаю продукту, а не пазнейшыя доработкі. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамаргіналу — частая прычына зношэння ресурсаў.
Answer the customer's question.
Answer the customer's question directly.
Use the supplied policy information as your source of truth.
If the policy does not establish an answer, say that the information is unavailable.
Keep the response concise unless the customer asks for more detail.
Prompt engineering
"What should the model do?"
Context engineering
"What should the model see while doing it?"
Больш контэксту не значыць апошней краща
Калі працуеце над проектам, дзе не патрэбна ўсё большая кантэкстная інфармацыя, спачатку запісайце умовы дагавору: неабяжны данні, сігнал успеху і тое, што выканаецца у разе частковага нявыпалення. Такі список пераканальвае зберагчы чыстасцю пазнейшых змян у кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок нявыпанаецца, прычына нявыпалення павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач. Зберагчыце інструкціі стабільных системаў і схемы інструментаў у кэшы. Перадзесланне ідэнтычных даных яўляецца частай прычыной зусільнае выкарыстоўвання ресурсаў.
RAG проты памяці: аднаковы механізм, разныя цялі
Калі працуеце над стадзіяй RAG vs Memory Similar, спачатку запісайце контракт: неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Спрэцьвачайце гэтую стадзію як контракт межа даннімі і перакананымі выходамі. Дайце назвы артыфактам, задацьте критэрыя успеху і не прымайце часткова завершэння без паведамлення. Зберагачвайце стабільныя інструкцыі системы і схемы інструментаў у кэшы. Перадзесланне ідэнтычных прамаўляючых частак — частая прычына зношэння ресурсаў. Калі працуеце над стадзіяй RAG vs Memory Similar, спачатку запісайце контракт: неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Зберагачвайце настройкі за межамі коду прыемліка. Файлы сераўнавання, храненні секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, куда аператары можаць адбавіць аудыт без неабяжлівага чытання всей структуры.
Prompt
+ retrieved refund policy
+ customer's stored preferences
+ current conversation
+ account lookup tool result
+ structured output schema
↓
Model
Prompting vs. Fine-Tuning
Этап стварэння запытаў проты налёгкага налаштавання работае лепей, калі яго спрыяваць як меркаваную плошчу. Запісаце адны ідеальны прыклад, адну справу з бягам і прыметку пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументаваце як успішны, так і вярнучыся шляхы. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пасляднім дапрацоўкам. Задаце бюджет токенав на кожны рунт і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі.
Model + instructions/examples/context
=> output
Base model + training examples
=> specialized model
billing
technical_problem
account_access
cancellation
product_question
Налёгкага налаштавання не ёсць проста “лепшым стварэнням запытаў”
Тонкая наладка лепша, калі ёй ставіцца як меркаваемая величына. Зафіксавце адзін ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце варою маленькія, тэставальныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы должна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач. Задаўце ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.
Выбор модэлю і інжынерія запрошэнняў, спецыфічных для модэлю
Этап выбору модэлю і спецыфікацыі модэлю працюе найкраща, калі яго розглядаць як вимерную плошчу. Зафіксавце адны ідеальны прыклад, адну справу з бягам і прыметку па вярнэнню да пачатковага стану пры розширэнні масштаба. Разглядзайце гэты этап як кантракт межа вхіднымі даннымі і паверынутымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Задаце ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі. Этап выбору модэлю і спецыфікацыі модэлю працюе найкраща, калі яго розглядаць як вимерную плошчу. Зафіксавце адны ідеальны прыклад, адну справу з бягам і прыметку па вярнэнню да пачатковага стану пры розширэнні масштаба. Зберагачце настройкі праза код аплікацыі. Файлы сяродавішча, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
Quality
Cost
Latency
Context capacity
Tool capabilities
Structured-output support
Reasoning capability
Safety behavior
Практычная рамка прыняцтва рашэнняў
Для стадіі «Практычная рамка прыямоў» неабходна пазначыць вхідныя даны, адпаведальнага за выкананне крока і крэтыяры завершэння пры перадзеі коду. Аперацыйныя працавнікі должны магчыма ўвайсці крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны даны з перакананнем схэмы, чым вольныя тэкстовыя апісанні.
Інжынерыя запытанняў стае часткай проекта системы
У стадії, калі «Prompt Engineering Becomes System», пярэд зменым коду неабходна ясная дэфініцыя вхідных дадзеных, адпаведнага адпаведальніка за шаг і крэтарыяў выходу. Аператары должны магчымае перзапускать шаг з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі шаг не выйшаў, прычына неудачы павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцоўкі задач. Калі наступны шаг — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны данні з перакананнем ў схэме, замест вольнага формата тэксту.
Write a good instruction.
Try it.
Change the wording.
Try again.
Модульныя запрошэння
Для стадіі модульных запросаў неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння. Аператары должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце цій стадіі як даговору межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, задаць перакананні на успех і адмовіцца ад беззвучнага частковага завершэння. Калі наступны крок — це код або вызов інструмента, валідаваць структураваныя выходныя даны за дапамою схемы, а не вільна проза. Для стадіі модульных запросаў неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння. Аператары должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Хавайце настройкі за межамі коду прыемленае. Файлы сераўіса, хранільнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь граф.
Програмна та автаматызаваная формуліравання запитоў
Калі працюеце над стадзіяй програмнай та автаматызаванай формуліравання запитоў, спачатку запісайце умовы: неабходныя даны, сигнал успеху та тое, што відбываецца у разе частковага невыпання. Такі список контролю дапамагае заліцварыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкі контроль та обработка некоректных запитоў є часткай продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі системы та схемы інструментоў. Перадача ідэнтычных прамулі є частым выклікам для ресурсаў.
LLM-ы, які оптымізуюць запиты
Калі працуеце над стадзіяю оптымізацыі запросоў у LLM-ах, спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што выходзіць па частковай нявыполненні. Такі список пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Валічыце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, нявыполненні должна паказваць на адную адпаведальнасць, а не на заплутаны процес. Зберагаюце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамаргіналу — частая прычына змарнавання ресурсаў.
Працэсы, керованыя ацэнкай
Калі працюеце над стадзіяй Eval-Driven Pipelines, спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрэчвайце гэтую стадзію як контракт межа вхіднымі данымі і перакананымі выходнымі данымі. Дайце назвы артыфактам, задаце перакананні успеху і не прыймайце часткова завершэння без паведамлення. Зберагачвайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача ідэнтычных прамаркетаў ёсць частым выкарыстоўваннем ресурсаў. Калі працюеце над стадзіяй Eval-Driven Pipelines, спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Зберагачвайце настройкі за межамі коду прыемліка. Файлы сераўнавання, храненні секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без чытання всей структуры.
accuracy ↑
groundedness ↑
customer satisfaction ↑
unsupported claims ↓
unsafe actions ↓
latency ↓
cost ↓
Што мы яшчэ не ведаем
Этап «Што мы яшчэ не ведаем» працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаўце адна «золатая» транскрыпцыя, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументаваць трэба як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не наступным етапам дорабкі. Задаце бюджет токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі.
Чы можа дзейны контекст заменіць процес выкарыстання дадзэнняў?
Длігі контексты Can лепша працуюць у ролі вимерных паверхностей. Запісаўце адна «золатая» транскрыпцыя, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест велізарных скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Задаўце ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.
Чы можна калі-небудзь абсолютна рашыць проблему втрымкі запрошэнняў?
Этап атакі падставам Can prompt injection працуе наяўнейша, калі яго спрыяваць як мерым аб’ектам. Зафіксавайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыявайце гэты этап як кантракт между вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння. Задаць ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі. Этап атакі падставам Can prompt injection працуе наяўнейша, калі яго спрыяваць як мерым аб’ектам. Зафіксавайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Зберагаюце настройкі праза код аплікацыі. Файлы сераўнавальнага сяродовішча, хранілішчы секрэтных дадзенняў і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всей структуры.
Чы можаць моделі Can надзеявана адгуквацца пра іншыя моделі?
Ёнколі трэба надзеяна адгуквацыя модэляў, паказваючых стадію, неабходна з’явіць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры перамены коду. Аперацыйныя працавнікі павінны магчымае запускаць крок з вядомай точкі перапытку без неабясненняя схованага стану. Неабходна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем схэмы, чым вольныя тэкстовыя апісанні.
Чы будуць оптымізаваныя запросы перадавацца между модэлямі?
Для стадзіі пераказу оптымаўжаных запросаў Will неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае перадзеўжваць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптаў. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем схэмы, чым працэсны тэкст.
Чы можа аўтаматызаваная оптымаізацыя генералізаваць?
Для стадіі абстрагавання ў автаматызаванай оптымізацыі Can неабходна перад зменой коду задаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю без неабясненняя схованага стану. Спрыятлівайце гэтую стадію як даговор межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, задаць перакананні на успех і адмовіцца ад тыхняе частковага завершэння без паведамлення. Калі наступны крок — це код або вызов інструмента, валідаванне за дапамою схемы ў структураваных выходных рэзультатах лепша, чым вольная проза. Для стадіі абстрагавання ў автаматызаванай оптымізацыі Can неабходна перад зменой коду задаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю без неабясненняя схованага стану. Хавайце настройкі за межамі коду прыемлена. Файлы сераўіса, храненні секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без чытання коду прыемлена.
Граф гэтакоў.Большая карціна
Калі працуеце на стадыі «Большая карціна», спачатку запісайце умовы: неабходныя даны, сигнал успеху і тое, што выканаецца у разы частковага нявыпання. Такі список контролю дапамагае заліцварыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перасылка ідэнтычных прамуров є частым выклікам для ресурсаў.
You are a customer-support assistant.
Answer the customer's question using the supplied information.
Чэк-ліст для эксплуатацыі
Стадыя чэк-ліста для эксплуатацыі працюе найэфектывней, калі яе спрыяваць як мерыемую плошчу. Запісайце адна ідеальная транскрыпцыя, адзін прыклад нявыпання і прыметкі па анулюванню змян перад расшырэнням масштаба.
Запісвайце часы выканання задач і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівая візуалізацыя костаў з’являецца рана, чым утвараюцца неспакоўныя рахункі, калі парадок зменшваецца з дэмовай среды на спакоўную.
Задаце бюджет токеноў на адну руну і на адну сесію. Інструменты-агенты актыўна расширваюць контэкст; строгія ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.
Указвайце тыя часткі тексту, якія фактычна сталі падставай для адпаведнага адказу. Без ціх цытатаў аператары не можуць разлічыць галюцинацію ад працягу індэксавання.
Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзультат кожнага вызову. Без такога лёгкага следу вылечванне петляў агента губіць гады часу.
Заморозьце «золаты» набор пры перадзмене запросаў або модэляў. Змена як самай системы, так і критэрыяў маскіруець регрэсіі.
Перш чым запускать даную систему, заморозьце версіі, зафіксавце ідеальны транскрыпт для критычнага шляху і паказвце спосабы анулювання змян. У спільных сераўерах неабходны ліміты частоты запытоў, пераказы наявнасці права выкарыстоўвання ресурсаў і чысткі власнік для змены секретных даных. Валіце простую надзейнасць працы над крэатіўными, адночасовымі дамах.
Прыметка для b60692e45ddf: не кладзіце ключы прадаўцаў у репазітарый, задаце ліміт токена на адну сесію і зберагачыце транскрыпты разам з фіксатрамі для ацэнкі, каб пазнейшыя замены моделей заставаліся порównанымі.
Прыемка 0 па правілу змяцнення безпекі работае лепш, калі яе спрыяваць як мерыемую плошчу. Зафіксавце адны ідеальны транскрыпт, адзін прыклад неудачы і прыметку анулювання змян перш чым расширваце сферу дзейнасці. Спрыявайце гэтую стадію як даговор межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад тыхняе частковага завершэння без паведамлення.
Дзеянне паўжасткі 0/869: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Для першага этапа паўжасткі неабходна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перадзваначыць крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Канфігурацыю трэба зберагчы за межамі коду прыемленае. Файлы сяродавішча, хранільнікі секрэтных дадзенняў і флагі функцыйяй должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь граф.
Дзеянне паўжасткі 1/869: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Калі працуеце над 2-й стадзіяю практыкы заспеклення, спачатку запісайце умовы кантракта: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць пад частковым нявыпаннем. Такі список контроля дапамагае залічваць пазнейшыя змены коду чыста і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач.
Дзеянне заспеклення 2/869: звярніце увагу на час выканання, класы каштоўкаў і витрату токенаў для гэтай практыкі, а потым вырашыце, чы робіць змены на адной основе фіксаванага набору пытанняў, а не на адной толькі прыватнай інформацыі.
2-я стадзія практыкы заспеклення працюе найэфективней, калі яе спрыямаць як меравальную плошчу. Запісайце адзін ідеальны прыклад роботы, адзін кейс нявыпання і прыказку па адкатаванню, перш чым расширваць масштабы. Запісвайце час выканання і вартасць токенаў або запыткаў разам з функцыйнальнымі рэзультатамі. Відразувая візуабілізацыя вартасцей запобегае неспакойным рашчыткам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне паўжасткі 3/869: звярніце увагу на час выканання, клас памылак і колькасць викорыстоўваных токенав для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набора пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.