Адварсны промпты: ператворэнне хорашага сеансу LLM у промпт, які можна выкарыстоўваць знову
Дазвольце дазнацься, як выявіць прампт для адзінаго запытку з успешнай багатоэтапнай розмовы з ШІ, а таксама як метод перавернення прампта дапамагае вярнуць прампты, калі у вас є толькі рэзультаты.
Той запрос, які нарэшце працюе, рэдкасцю являецца тым, з каго вы запускалі: ён формуецца пасля кальколькох раундоў корэкцый, а потым зникае, калі вы закрываеце чат. Зворачны запрос перакідвае звычную схему работы. Спачатку вы доходзіце да рэзультата, які вам падабаецца, а потым прасіце модель воссоздаць інструкцыі, якія б надзеяна ўсё гэта створылі. Вы научыцеся, як зафіксаваць гэтыя інструкцыі з размовы, як восстановіць апрыксиматычны запрос толькі на адной основе рэзультатаў, і дзе гэтыя два методы перестаюць быць надзеянымі.
Чаму працюючы запрос зазвычай губіцца
Зворачны запрос выкарыстоўвае тое, што сучасныя передовыя моделі добра вмеюць аналізаваць свой сэнтакс. Ён працуе як у вікнах чата, так і як частка алгорытму, і ён найбольш эфектыўны пад час генеравання коду і роботы з агентамі, дзе ўмоваў многа і іх лёгка забыць.
Тыповы цикл удосконалення
Уявіце разработчика, які даджуе канцэнтр па рэгістрацыі корыстунача да службы на Python. Мета — код FastAPI высокай якосці для прыменення ў практыцы: перакананне вхідных дадзеных, структураваныя адпаведзі на памылкі, логаванне і тэсты. Пачатковы запит ўмышлена просты, на кшталт «напісаць канцэнтр FastAPI для рэгістрацыі корыстунача», і першая адпаведзь, як і можна было спадзявацца, мінімальная. Таму разработчык продовжае працаваць:
- Прабуеяць атрымаць модэлі Pydantic, якія пераканаюць адресу электроннай пошты і контролююць сілу пароля.
- Прабуеяць атрымаць належныя HTTP-выключэння плюс функціі логавання.
- Прабуеяць атрымаць едынакавую структуру JSON для кожной памылкі.
- Прабуеяць атрымаць тэсты pytest, якія пакрываюць успешны ход роботы і ситуаціі з бракамі пераканання.
Чыраз-пяц разоў пасля таго код дасягае стандарту команды, яго копіююць у рэпазітары, а размова, як і всі абмежэння та паследжэнні, якія яе сформавалі, забываюцца. Наступны канцэнтрык пачынаецца знову з нечыяснага, стислага тэксту.
Выяўленне одноразовага запросу з размовы
Версія адварцэйвага прамптавання, якая базуецца на размове, вырашае гэтыя проблемы за дапамою ўзельнага паведамлення. Калі рэзультат стане правым, дадаёцца мета-інструкцыя, якая прасіць модель пераглянуць усю абмянку і стиснуць яе ў адны самодастатковы запрос. У наведанай нижэй інструкцыі паказана, што саме павінен мястіць гэты запрос: ролю, накуплены контекст, усі дагавораныя абмежэння, формат выходу, критэрыі якосці та прыклады. Зверніце ўвагу на апошнія два рядкі. У яных прасіцца толькі сам запрос, без жадных каментараў, ўсёлякі рэзультат можна будзе прыклеўці безпасова ў новую сесію.
Now that we have reached this final output, reverse-engineer
the entire conversation. Look at every correction, added constraint,
tone adjustment, format decision, and the result.
Produce one complete, standalone prompt that would generate
this exact output quality in a single shot with no follow-ups.
The prompt must explicitly state:
- Role and expertise level
- All background context and requirements established
- Every constraint and rule settled on
- Output format and structure
- Tone, style, and quality criteria
- Any examples or reference patterns used
Output only the prompt itself, ready to copy into a fresh session.
No explanation.
Выходным результатам являецца чыста спэцыфікацыя всьго таго, што ўмовна належыць да дыялогу. Наветны сэсія, якая яго выкорыстоўвае, должна даць падобны вынік ў першай жа спробе; якщо патрабуецца дадатковыя дзеяння, значыць, чагосці не было урахавана.
Спрыяйце тлумачэнню рэзультата як інжынернага актыва:
- Зберажыце яго ў рэпазітарыі разам з кодам, які ён генеруе, каб змяны моглі быць пераглянутыя і версіяваныя.
- Раздзеліце яго з колегамі, каб адныя толькі стандарты дапэўнаваліся незалежна ад таго, хто яго запускае.
- Заменіце часткі, спецыфічныя для конкрэтнага завдання, на параметры (наеў імена, поля, коды абэракцый) і вярнайцеся да яго для падобных канцаўак.
Вярнэнне запиту на адной лэйтаркі вынікаў
Метод дыялогу працюе толькі тады, калі у вас ўсё jeszcze є історыя пераказоў. Болей універсальны метод, вядомы як інвэрсія запросу або зворачная інжынерыя запросу (RPE), перадаўляе апрыксиматыю запросу толькі на адваротнае пацелаванне тексту, які ён стварыў.
Формальна: якісь супакрыты запрос X стварыў выход O. Вы хочаце знайсці запрос P, чыё выход N будзе сэмантычна і функцыйна ближы да O. У вас є толькі доступ да „чорнай скрынькі“, тое значыць няма лоджітов і няма дадзеных для трэнавання, толькі можласць адправляць запросы і чытаць адпаведзі.
Выбіранне кандыдатаў і ўпэўненне ў яных
Просты падход складаецца з трох крокаў:
- Дайце модэлю выходныя даны O і папрабуйце, каб ён вывучыў запрос, які стаў прычынай іх падзея. Адна спроба часта прыводзіць да занадто строгаг адпаведнення або стварэння такіх обмежэнняў, якіх няма, таму трэба выконваць гэта колька разоў з рознымі настройкамі тэмпературы і выбору прыкладоў, каб скасаваць канкурэнтныя запросы.
- Пройдзіце кожны канкурэнтны запрос через модэль і паўпоручыце тое, што ён генеруе, з данымі O, выкарыстоўваючы такі показнік перакрыцця, як ROUGE-1 (рэшынка F1 на аднойчыных словах, якія ўзаемна прыналежаць).
- Зберагчыце канкурэнтны запрос з найвышэйшай разыгрышкай.
Шаг паўтарачэння ўпэўнення яшчэ больш ператварае гэта з простага здогадкі: вы мерзіце, який канкурэнтны запрос насправды відтварае цялевы результат, а не павержаецеся ў думку модэля.
Эвалюяцыя канкурэнтных запросоў па прыему генетычнага алгорытму
Вы таксама можете спрацавваць з канкурэнтнымі запросамі як з популяцыяй і ўдосконаляць іх. Кожная пакоління:
- Размер фітнесу вычысляецца як сярэгожа падобнасць межу выходамі, якія генеруе кандыдат, і аднорыжным O.
- Зберагаюцься найлепшыя рэзультаты.
- Слабейшыя варыяцыююцца паляваннем модэлю чырвонаго запросу разам з зафіксаванымі разлікамі, і яй даёцца можлівасць перапісаць, дадаць адноўу чысткія або выдаліць яе, або пераструктураваць.
- Павтараецца пакуль балы не перастану прыбываць або калі заканчываецца бюджэт.
Гэты падход не выклікае патрэнавання. Яго эфектывнасць падтверджана: з пяці прыкладных выходамі ён дае цэлеспрабныя, можна выкарыстоўваць знову запросы, а модэлі з закрытым кодам не являюцца пераканаўкай, адтолькі яму трэбна недорогая функцыя падобнасці.
Ліміты, якія трэба прыглядзець
Реканструкцыя завжды ўособлена. Вярнуты запрос часта бывае дэльней і болей ясным, чым той, што стварыў выход, таму што ёму трэба адзначыць нюансы, якія спачатку былі ў контэксте.
Ішчырэ два застережэння:
- Прампты, створаны методам зворачнай інжынеріі, паўтараюць усі особлівасці модэлю, з якога ўзьяты. Прампт, настроены для аднаго модэлю, можа патрабаваць корекцыі, каб належна працаваў з іншым; таму неабходна праконтролаваць яго працэсныя характарыстыкі пасля змены модэлю.
- Лексычныя паметры, такія як ROUGE-1, адзначаюць спакойныя словы, а не правільную працэю модэлю. Для коду чы аб’ектаванага выходу розгледзіце можлівасць дадагаць пераканальныя контралы, важныя для вас — напрыклад, чы падготавлены тэсты праходзяць, чы JSON-данні ў спакою, паўнараваны з рэзультатамі паметры схожасці.
Якое месца займаюць агенты для кодавання
Інструменты агентскага кодавання, такія як OpenAI Codex і Claude Code, оптымізаваны для працы ў напрамку выконання задач, з моцным кераваннем контекстам, довгіми цикламі дзеяння агента і актыўным викорыстоўваннем кэшавання запитаў. Тым не менш, які з іх можа зупініцца перад напісанням коду і задаць вам запытанні з калькулятора, што дапамагае раней выявіць неабходнасці. Продовжуйте працаваць з агентам, пакуль рэзультат не стане достатньна якісным, а потым выкарыстаце гэты сеанс, ўзяўшы з яго основны запит для одноразовага викорыстоўвання. Чыба прачытаць пра альтернатыўны спосаб структуравання запытоў, якія вы выкарыстоўваете, адзірніце нашаю інструкцыю па стварэнню запытоў для LLM, гатовых да викорыстоўвання, за дапамогою семішаровага карэктару.
Ключовыя моманты
- Практычная цэннасць довгаг сеансу запытанняў заключаецца ў накопілаваных умовах; зафіксавайце іх перад закрыцьцем чату.
Спадні матэрыялы
- Безпечная замена модэляў LLM: людзкія пазначкі, метрыкі на кожны крок, настройкі зусілля — як перайсці да новыях модэляў з багатакрокавага прайсупутніка LLM без рызыку абвалення: людзкія правільныя рэшынгі, метрыкі на кожны крок, застарэлыя запросы і аналіз зусілля.
- Дзе знаходзяцца інструкцыі Claude Code: CLAUDE.md, правілы шляха або хукі — Дазвольце дазнацца, чаму Claude Code спрыяе CLAUDE.md як контэксту, як яго адчыніць, як застаўляць правілы па шляху, калі пераносіць крокі, якія павінны выконвацца, у хукі, і як пераканацца, што насправды было завантажана.
- Інструменты ацэнкі для прыладоў LLM: наборы дадзеных, ацэнка і механізмы выяўлення регрэсій — Дазвольце дазнацца, што такое інструмент ацэнкі для прыладоў LLM, якія ў яго є чатыры основныя складовы, і як ён выяўляе регрэсіі у запытах і справядліва парабягае модэлі, прычым нічога не прабывае да корыстнікаў.
- Self-Hosted Vision LLM OCR у Go: Rasterizing, Prompting, Parsing — Как працоўнік на мове Java ператварае медычныя PDF-файлы на структураваны JSON за дапамогою Ollama, pdftoppm, строгіх запросаў, альтернатывнага парсінгу і груп спожывачаў Redis Streams.
- Стварэнне персональнага інструмента для доўнелення та гэнеравання запросаў з Claude Artifacts — Как ператварыць адну чат-розмову з Claude на інструмент запросаў, які можна викорыстоваць знову, ён павышае якасць слабых запросаў і розвівае прыбліжныя ідеі у базовыя, працоўныя та экспертныя версіі.