Суть в тому, що їх продають як чіт-коди
Всі шукають чарівну пігулку: набір магічних слів, який перетворює на безпомилкового багатоетапного агента. Можете здогадатися, чим це закінчиться. Чим більше «фреймворків» ви нагромаджуєте, тим повільнішою, тупішою та крихкішою стає ваша система. Це як додавати все більше пультів дистанційного керування, щоб полагодити телевізор. Зрештою, ви всю ніч перемикаєте входи, і ніхто нічого не дивиться.
Ось неприваблива правда: надійні багатоетапні агенти походять від , які встановлюють жорсткий контроль, придушують неоднозначність і тримають інструменти на короткому повідку. Вам не потрібне натхнення. Вам потрібні захисні огородження та повторюваність. дуже хороший, коли ви дозволяєте йому бути буквальним, і дуже поганий, коли дозволяєте йому бути розумним.
Отже, так, 25 для , але не як дошка в з крутими формами. Це ті патерни, які фактично зменшують дисперсію та підвищують надійність багатоетапних агентів. Вони добре поєднуються з викликом функцій, структурованими вихідними даними, пошуком і дратівливою реальністю того, що недетерміновані моделі все ще потребують детермінованих систем.
Чому « для » важливі для реальної роботи
Моделі галюцинують; системи не повинні. Якщо ваш багатоетапний агент залежить від як у вирішенні, що робити, так і в запам'ятовуванні того, що він вирішив, це два незалежні режими відмови. — зроблені правильно — перетворюють агента на суворий автомат станів із клерком із м’якими мізками всередині. Клерк () пише квитанції; автомат станів перевіряє математику. Ось форма надійності.
І оскільки ви попросили 25 патернів, ми зробимо 25. Але ми зробимо їх єдиним способом, який витримує виробництво: стисло, примусово, вимірювано. Ніякої пухнастої нісенітниці «давайте уявимо». Коли я кажу патерн, я покажу, як він вписується в багатоетапного агента, і чому він працює з сильними сторонами : використання інструментів, чітке дотримання інструкцій, коли ви усуваєте неоднозначність, і поведінку відмови, на яку ви можете спертися, а не боротися.
1) Спочатку системний контракт, все інше — потім
Ціль: Заморозити закони всесвіту до початку розмови.
Патерн: Системне повідомлення верхнього рівня, яке визначає ролі, не-цілі, вимогу виводу лише в форматі , обробку помилок і критерії ескалації. Повторіть схему у системному повідомленні, а не лише схему інструменту.
Чому це працює: слухняний щодо чітких обмежень. Справжній системний контракт звужує розподіл можливої поведінки.
Фрагмент:
- Ви оркестратор. Ви повинні виводити лише , що відповідає цій схемі. Ви не повинні вигадувати поля. Якщо відсутні дані, відповідайте {"status":"need_info","fields":[...]} .
2) Єдине джерело правди про стан
Ціль: Зберігати пам'ять зовнішньою. розповідає; він не пам'ятає.
Патерн: Агент ніколи не «запам'ятовує» попередні кроки в прихованому контексті. Він відновлює стан із канонічного сховища чернеток на кожному ходу та передає його назад у системному повідомленні.
Чому це працює: Запобігає ледь помітному дрейфу та «контекстному гниттю».
3) Ланцюжок думок без ланцюга (Теги обґрунтування)
Ціль: Отримати можливість аудиту без запрошення до блукань.
Патерн: Запитуйте коротке обґрунтування в обмеженому полі, наприклад, обґрунтування: одне речення, не надане інструментам.
Чому це працює: дає кращі результати, якщо ви дозволяєте мінімальні міркування, але ви обмежуєте багатослівність, щоб стримати надмірне пристосування до нісенітниці.
4) Суворе шлюзування функцій
Ціль: Не дозволяйте моделі імпровізувати інструменти.
Патерн: Надайте назви інструментів, схему аргументів і правило: якщо інструмент не вказано, відповідайте cannot_execute.
Чому це працює: Усуває цілий клас згалюцинованих можливостей.
5) Детермінований планувальник кроків
Ціль: Відокремити «що робити» від «як це робити».
Патерн: Схема планування з дозволеними типами кроків: retrieve, transform, call_api, validate, finalize. Модель видає план; середовище виконання виконує; модель перевіряє результати.
Чому це працює: чудово перераховує кроки, коли дієслова попередньо визначені та кінцеві.
6) Шаблон пошуку «Спочатку інструмент»
Ціль: Усунути згалюциновані знання в корені.
Патерн: Для фактичних запитів вимагайте початковий крок пошуку. Якщо пошук повертає низьку довіру, відповідайте need_info.
Чому це працює: Надійні агенти не блефують. «Найкраще припущення» не є джерелом.
7) Двопрохідна відповідь (Чорновик, Перевірка)
Ціль: Зменшити тихі помилки.
Патерн: Етап 1: Чернетка з цитатами або вихідними даними інструментів. Етап 2: Крок перевірки порівнює твердження з джерелами; невідповідності змушують до перегляду.
Чому це працює: Самокритика є надійною, якщо ви запитуєте двійкові перевірки щодо вхідних даних.
8) Вивід лише схеми для побічних ефектів
Ціль: Зберігати дію та коментарі окремо.
Патерн: Коли крок вимагає мутації (наприклад, book_flight), модель повинна виводити лише дію . Ніякого вільного тексту.
Чому це працює: Запобігає випадковому виконанню на основі балакучих формулювань.
9) Ідемпотентні виклики інструментів
Ціль: Безпечні повторні спроби.
Патерн: Вимагайте ключів ідемпотентності в кожному виклику інструменту. повинен повторити попередній ключ, якщо він повторюється.
Чому це працює: Повторні спроби перестають бути жахливими.
10) Захисні для відмови
Ціль: Спертися на модель безпеки .
Патерн: Перелічіть заборонені завдання та попросіть коротко пояснити, чому він відмовився (у полі refusal_reason).
Чому це працює: Робить відмови передбачуваними та такими, що можуть бути проаналізовані.
11) Інструкції з низькою ентропією для математики та коду
Ціль: Змусити до буквалізму.
Патерн: «Не пояснюйте. Поверніть лише результат і мінімальний висновок. Якщо не впевнені, поверніть cannot_compute».
Чому це працює: поважає буквальні математичні/кодові обмеження, коли ви усуваєте простір для маневру.
12) Підсумовування курсорного вікна для довгих контекстів
Ціль: Зупинити роздування токенів.
Патерн: Попередньо підсумуйте великі документи за допомогою стабільного шаблону (розділи, маркери, ключові сутності). Подавайте лише перетравлений вигляд в .
Чому це працює: Краще, ніж сподіватися, що модель ігноруватиме 120 сторінок.
13) Семантичне розрізнення замість повного відтворення
Ціль: Уникнути каскадних переписувань.
Патерн: Для завдань редагування вимагайте -патч або уніфікований проти попереднього артефакту.
Чому це працює: Менша площа поверхні, менше нових помилок.
14) Обґрунтовані посібники зі стилю
Ціль: Послідовні вихідні дані, які люди можуть читати.
Патерн: Надайте короткий, конкретний посібник зі стилю (тон, аудиторія, заборонені фрази) і тестовий абзац, який це ілюструє.
Чому це працює: імітує зразки краще, ніж слухається прикметників.
15) Таксономія помилок і відновлення
Ціль: Зробити помилки нудними.
Патерн: Визначте типи помилок: missing_field, tool_timeout, auth_error, schema_mismatch. Визначте рецепт відновлення для кожного.
Чому це працює: Перетворює випадкову відмову на контрольний список.
16) Перехресні перевірки інструментів на адекватність
Ціль: Довіряй, але перевіряй.
Патерн: Після критичного виклику інструменту запустіть другий інструмент, який перевіряє вихідні дані (наприклад, синтаксис адреси електронної пошти, межі цін).
Чому це працює: Багатоетапні агенти зазнають невдачі тихо без перевірок на адекватність.
17) Твердження з позначками доказів
Ціль: Відстежуваність.
Патерн: Модель повинна анотувати кожне твердження за допомогою source_ids, які відображаються на отримані фрагменти. Немає джерела, немає твердження.
Чому це працює: Перегляд стає механічним, а не теологічним.
18) Запитайте-Підтвердьте-Дійте для ризикованих операцій
Ціль: Не зламайте обліковий запис користувача.
Патерн: Модель видає зрозумілий для людини підсумок підтвердження плюс корисне навантаження дії; система блокує виконання, доки людина не схвалить.
Чому це працює: добре підсумовує; люди добре вміють звинувачувати.
19) Песимістичні значення за замовчуванням
Ціль: Безпечний збій, а не швидкий.
Патерн: Якщо довіра < поріг або вхідні дані неповні, поверніть need_info з явними запитаннями.
Чому це працює: Захист від крихких шляхів успіху.
20) Юніт-тести в (Декілька знімків, Мінімальні)
Ціль: Показуйте, не розповідайте.
Патерн: Включіть 2–3 невеликі, різноманітні зразки, які відображають вхідні дані на точні вихідні дані. Зберігайте їх короткими. Не потопіть модель.
Чому це працює: узагальнює на основі чітких прикладів з кількома знімками.
21) Стиснення ролей: Один мозок, багато капелюхів
Ціль: Зменшити дрейф між повідомленнями.
Патерн: В одному системному повідомленні визначте підролі (планувальник, виконавець, перевіряльник) і вимагайте, щоб модель заповнювала певні поля для кожної ролі в одній відповіді.
Чому це працює: Менше ходів, менше втрат стану.
22) Дисципліна температури
Ціль: Передбачуваність над «креативністю».
Патерн: Запускайте планування та використання інструментів при низькій температурі; лише остаточний поверхневий текст (якщо є) при помірній температурі.
Чому це працює: Зберігає структуру стабільною, дозволяючи прозі дихати.
23) Детермінований час і місцезнаходження
Ціль: Усунути неоднозначність, пов'язану з часом.
Патерн: Завжди вводьте годинник, часовий пояс, валюту та місцезнаходження в системний контекст. Вимагайте, щоб модель повторювала їх у вихідних даних.
Чому це працює: «Завтра» щось означає. Зробіть це явним.
24) Примусове перерахування для неоднозначних запитів
Ціль: Не вгадуйте, що мав на увазі користувач.
Патерн: Якщо завдання має кілька правдоподібних інтерпретацій, модель повинна представити варіанти з плюсами та мінусами та попросити користувача вибрати.
Чому це працює: Неоднозначність — це те місце, куди йде надійність, щоб померти; перелічіть це.
25) Остаточний арбітр: Вето валідатора схеми
Ціль: Перевірка реальності перед відправленням.
Патерн: Розглядайте помилки перевірки схеми як першокласні. Якщо вихідні дані моделі не проходять перевірку, поверніть помилку з однією інструкцією: виправте, щоб пройти перевірку, без нового вмісту.
Чому це працює: добре вміє редагувати відповідно до специфікації, коли ви показуєте точну різницю між очікуваним і фактичним.
Створення надійного багатоетапного агента за допомогою (без чарівного пилу)
Поєднайте ці для , і ви отримаєте систему, яка відчувається менше як «ШІ», а більше як добре керована кухня. Квитки надходять, кухарі на лінії біля гриля, експедитор на перевалі. Магія полягає не в тому, що якийсь один крок є розумним — а в тому, що жоден крок не є неоднозначним. Виклики інструментів пов’язані зі схемою. План перераховано. Докази позначено. Відмови чіткі. Коли щось йде не так, агент не вигадує історію; він просить солі.
Практична схема підключення:
- Системний контракт визначає ролі та схеми.
- Перший хід: планувальник перераховує кроки, використовуючи закритий набір дієслів.
- Середовище виконання виконує виклики інструментів ідемпотентно; усі побічні ефекти закриті підтвердженнями.
- Роль перевіряльника перевіряє вихідні дані на відповідність джерелам і схемам.
- У разі збою або невизначеності агент видає need_info з явними, пронумерованими запитаннями.
І так, ви все ще натрапите на дивні кути — обмеження токенів, нерівномірний вихідний матеріал, ненадійні API. Для цього існують такі патерни, як підсумовування курсорного вікна (12) і таксономії помилок (15). Надійність — це не про те, щоб ніколи не зазнавати невдачі. Йдеться про те, щоб зазнавати невдачі однаково кожного разу та відновлюватися так, ніби ви це мали на увазі.
для для завдань, доповнених пошуком
Будьмо конкретними, тому що «» — це те місце, куди хороші системи йдуть, щоб надмірно обіцяти.
- Попередньо зобов’язуйтеся до пошуку (6) перед будь-яким фактичним твердженням.
- Позначайте доказами кожне твердження (17). Якщо твердження охоплює кілька фрагментів, перелічіть їх усі.
- Використовуйте двопрохідну відповідь (7), щоб перевіряльник міг накласти вето на будь-яке твердження без джерела.
- Підсумуйте джерела за допомогою фіксованого шаблону (12), щоб модель припинила перечитувати цілі PDF-файли.
добре синтезує різні фрагменти — коли ви змушуєте його цитувати. У той момент, коли ви послабите цитування, він «згладить» суперечливі факти в щось правдоподібне. Правдоподібне не є надійним.
для використання інструментів і виклику функцій
Інструменти — це те місце, де моделі руйнують четверту стіну. Зберігайте це нудним.
- Захищайте інструменти (4). Не спокушайте його забороненими дієсловами.
- Ключі ідемпотентності (9) для будь-якого транзакційного інструменту.
- Відокремте дію (8) від розповіді. Надішліть ; покажіть розповідь людині.
- Перехресні перевірки інструментів на адекватність (16) після всього, що пов’язано з грошима, конфіденційністю або плануванням.
чисто обробляє виклик функцій, коли схема чітка. Якщо ваші аргументи — це вільний масив «речей», приготуйтеся до «речей».
«Але чи не можемо ми просто сказати йому думати крок за кроком?»
Можете. Він це зробить. А потім він буде блукати. Хитрість не в покроковому мисленні — а в покроковому дозволі. Кроки мають сенс лише в тому випадку, якщо середовище виконання примушує їх виконувати. Ось чому детерміновані планувальники (5) і стиснення ролей (21) перевершують вільний ланцюжок думок кожного разу. Думайте менше про «дати йому думати, як людина», а більше про «змусити його поводитися, як компілятор».
-частина, за якою ви прийшли, без зайвого
Якщо вам потрібно, щоб ключові слова були вимовлені вголос: для , багатоетапні агенти, надійні робочі процеси агентів, для використання інструментів, з , для виклику функцій. Суть та сама: вам потрібні патерни, які можна перевірити. Патерни, які можна обернути юніт-тестами. Патерни, які змушують вашу операційну команду позіхати.
Де Sider.AI насправді допомагає, а де ні
Примітка, яка насправді не є приміткою: Sider.AI насправді працює — принаймні, коли ви використовуєте її для того, в чому вона хороша, що, як не дивно, не зовсім те, що говорить маркетинг. Найкраще застосування — це нудна інженерія: спільні бібліотеки із застосованими схемами; провідне підключення інструментів; швидка ітерація з валідацією в циклі. Якщо ви намагаєтеся відвантажити агента, який надійно бронює речі, узгоджує дані або складає чернетки з джерелами — і ви хочете, щоб команда повторно використовувала ті самі патерни, не граючи в телефон — модель робочої області є дорослим кроком. Якщо ви шукаєте фантазію «напиши один раз, автопілот назавжди», ви будете розчаровані. Але це не провина ; це гравітація. Поширені підводні камені, які руйнують в іншому випадку хороші для
- Переповнені контексти. Якщо вам потрібно 60 тисяч токенів, щоб сказати моделі, що робити, ви не знаєте, чого хочете.
- Змішування розповіді та дії. Люди читають прозу; системи читають . Не змушуйте їх гадати.
- Вдавання, що відмови є помилками. відмовляється з певної причини. Скеруйте це.
- Неоднозначний час і місцезнаходження. «До п’ятниці» — це помилка математики календаря, яка чекає, щоб статися.
- Неперевірені шляхи відновлення. Ваш «щасливий шлях» не є надійним; ваш «сумний шлях» є.
Практичний міні-шаблон для запозичення
Система:
- Ви оркестратор для багатоетапного агента. Дозволені step_types: ["retrieve","transform","call_api","validate","finalize"].
- Усі вихідні дані повинні бути дійсним , що відповідає наведеній нижче схемі.
- Якщо не впевнені, поверніть {"status":"need_info","questions":[...]}.
- Доступні інструменти: [список]. Ви не повинні вигадувати інструменти.
- Місцезнаходження: en-US. Часовий пояс: America/New_York. Валюта: USD.
Схема:
{
"status": "plan|act|validate|final|need_info|cannot_execute|cannot_compute",
"rationale": "string <= 180 chars",
"steps": [ {"step_type":"retrieve|transform|call_api|validate|finalize","args":{}} ],
"action": {"tool":"string","idempotency_key":"string","args":{}},
"evidence": [ {"source_id":"string","snippet":"string"} ],
"claims": [ {"text":"string","source_ids":["..."]} ],
"errors": [ {"type":"missing_field|tool_timeout|auth_error|schema_mismatch","detail":"string"} ],
"questions": ["..."]
}
Хід користувача → планувальник (низька температура) → середовище виконання виконує інструменти (ідемпотентні) → перевіряльник порівнює твердження з доказами → фінал.
Тихий висновок, який ніхто не продає: надійність — це віднімання
Надійні багатоетапні агенти народжуються не з розумних ; вони створюються шляхом усунення способів зазнати невдачі. Кожен патерн вище — це віднімання: менше дієслів, менше інтерпретацій, менше місць для приховування. чудово почувається у вузькому коридорі з яскравим світлом і пронумерованими дверима. Помістіть його в поле вночі та попросіть знайти ваші ключі, і ви отримаєте поезію.
Якщо ви хочете поезії, чудово. Якщо ви хочете надійних агентів, виберіть свій коридор, повісьте ліхтарі, позначте двері. Тоді змиріться з нудними частинами. Ось де робиться робота.
Q1:Що таке для і чому вони важливі для багатоетапних агентів?
Це повторювані шаблони інструкцій, які змушують поводитися передбачувано на різних етапах. У багатоетапних агентах зменшують неоднозначність, застосовують схеми та перетворюють ненадійні завдання на робочі процеси, які можна перевірити.
Q2:Як мені зупинити від галюцинацій інструментів або фактів?
Захищайте інструменти явними схемами та змушуйте до пошуку перед будь-яким фактичним твердженням. Поєднайте це з твердженнями з позначками доказів і двоетапним кроком перевірки — немає джерела, немає заяви.
Q3:Який найкращий спосіб структурувати виклик функцій за допомогою ?
Використовуйте суворі схеми функцій, ключі ідемпотентності та вихідні дані лише для дій. Зберігайте планування окремо від виконання та запускайте валідацію після будь-якого виклику, що змінює стан.
Q4: Чи роблять підказки типу chain-of-thought Claude 4.5 більш надійним для агентів?
Лише тоді, коли вони обмежені. Короткі обґрунтування допомагають; необмежені монологи – ні. Надійність походить від детермінованого планування кроків і перевірки схеми, а не від багатослівного внутрішнього діалогу.
Q5: Яке місце займає Sider.AI у побудові надійних багатоетапних агентів?
Sider.AI корисний для кодифікації та повторного використання цих шаблонів підказок Claude 4.5 – спільних схем, інструментального забезпечення та валідації в циклі. Це не змахне чарівною паличкою над неоднозначністю, але допоможе вам тримати коридор добре освітленим.