Розробка контексту для сучасних агентів ШІ: менше інструкцій, кращі результати

Сучасні агенти ШІ часто працюють краще з меншою кількістю чіткіших інструкцій.

Це звучить нелогічно. Старіші моделі потребували детальних правил, повторюваних попереджень і прикладів для майже кожної дії. Новіші моделі краще читають репозиторій, розуміють наміри та вибирають відповідний метод. Забагато інструкцій тепер може уповільнити роботу агента або створити конфлікти.

Ця стаття пояснює ідею в практичних термінах і показує, як покращити контекст, що надається агенту кодування.

Що таке інженерія контексту?

Підказка – це запит, який ви надсилаєте зараз:

Додайте кінцеву точку, яка повертає поточного користувача.

Context is everything else the agent can see: system instructions, repository rules, skills, memory, source files, tool descriptions, tests, and design references.

Інженерія контексту означає організацію цієї інформації, щоб агент отримував правильні вказівки в потрібний час.

Мета полягає не в тому, щоб надати максимально великий файл інструкцій. Мета полягає в тому, щоб надати достатньо інформації для правильного рішення, не ховаючи завдання під невідповідними правилами.

Конфліктні інструкції зібрані в один контекст
One request may combine system instructions, skills, and user guidance that the agent must reconcile.

Старі практики контекстної інженерії порівняно з сучасними

  • Сучасні агенти виграють від оцінки, чітких інтерфейсів, поступового розкриття інформації та багатих довідок. *

1. Замініть жорсткі правила чіткими намірами

Жорсткі правила можуть запобігти очевидним помилкам, але вони також зазнають невдачі в законних особливих випадках.

Занадто жорсткий:

Ніколи не додавайте коментарі. Ніколи не створюйте файли документації.

краще:

Відповідайте назві, стилю та щільності коментарів навколишнього коду.
Створюйте документацію лише тоді, коли цього вимагає завдання.

Друга версія пояснює бажаний результат і дозволяє агенту використовувати репозиторій як доказ.

Дотримуйтеся строгих правил для дій, у яких недостатньо розсудливості: секрети, виробничі дані, руйнівні команди, юридичні вимоги та незворотні зміни.

2. Створіть кращі інструменти замість того, щоб писати довгі приклади

Приклади можуть допомогти, але вони також можуть змусити агента копіювати один шлях, навіть якщо інший шлях кращий. Добре розроблений інтерфейс передає власні правила.

Слабка конструкція інструменту:

update_task(завдання)

Чіткіший дизайн:

update_task(
  статус: "очікує на розгляд" | "in_progress" | "завершено",
  резюме: рядок
)

Якщо лише одне завдання може бути активним, вкажіть це обмеження один раз в описі інструменту. Тоді агент знає, які значення є дійсними та як має поводитися держава, не читаючи кількох зразків розмов.

Довгий опис інструменту порівняно з лаконічним інтерфейсом

  • Лаконічний, добре продуманий інтерфейс може замінити тисячі символів прикладів. *

3. Завантажуйте детальні інструкції лише за потреби

Не поміщайте інструкції щодо розгортання, міграції бази даних, перегляду коду, написання інтерфейсу користувача та реагування на інциденти в одному гігантському файлі сховища.

Будьте короткими інструкціями root:

Це сайт Hugo.
Запустіть `hugo --gc --minify` перед тим, як завершити зміни вмісту чи макета.
Для роботи з міграцією читайте `docs/migration-guide.md`.
Для роботи над випуском використовуйте навик розгортання.

Це називається поступовим розкриттям: почніть з невеликої карти, потім завантажте детальний посібник, який відповідає поточному завданню.Практичною структурою може бути:

AGENTS.md
документи/
  architecture.md
  migration-guide.md
навички/
  verify-site/
  опублікувати-випустити/

Агент бачить карту негайно, але використовує контекст для детального файлу лише тоді, коли він стає актуальним.

4. Розмістіть інструкції біля інструменту, яким вони керують

Повторення того самого правила в системній підказці, посібнику зі сховища та описі інструменту витрачає простір і створює проблему обслуговування.

Віддайте перевагу одному авторитетному розташуванню:

Інструмент: delete_preview
Опис: видаляє згенерований попередній перегляд. Ніколи не використовуйте його для вихідного вмісту.

Якщо правило змінюється, ви оновлюєте одне місце. Що ще важливіше, інструкція з’являється саме тоді, коли агент розглядає можливість використання цього інструменту.

Підказка, посилання, системна підказка, інструкції проекту, навички та пам’ять як контекстні шари
Запит — це лише один рівень повного контексту, доступного агенту.

5. Використовуйте якісні посилання

Іноді посилання передає мету краще, ніж інший параграф інструкцій.

Корисні посилання включають:

  • набір тестів, що визначає очікувану поведінку;
  • існуючий API з бажаним дизайном;
  • HTML-макет сторінки;
  • визначення схеми або типу;
  • коротка рубрика, яка описує, що означає «добре».

Наприклад, замість того, щоб писати «зробіть нову картку схожою на решту сайту», вкажіть на наявний компонент картки та його тести. Код і структуровані артефакти є точними та легкими для перевірки агентом.

Проста вправа на очищення

Перегляньте інструкції агента та класифікуйте кожен рядок:

  1. Основне правило — зберігайте його, особливо для безпеки або незвичайних обмежень проекту.
  2. Очевидне зі сховища — видаліть його.
  3. Деталі конкретного завдання — перенесіть їх до навичок або цілеспрямованого посібника.
  4. Поведінка інструменту — перемістіть його в опис інструмента.
  5. Дублікат або конфліктне правило — зберігайте одну авторитетну версію.

Раніше:

Використовуйте TypeScript.
Завжди перевіряйте існуючі файли.
Ніколи не вгадуйте типи.
Виконайте тести.
Використовуйте контрольний список випуску...
[ще 150 рядків]

після:

Відповідає існуючій архітектурі TypeScript.
Не редагуйте створені файли в `dist/`.
Запустіть `npm test` для змін коду.
Використовуйте `docs/release.md` лише для випусків.

Практичне правило

Хороший контекст – це маленький, релевантний і його легко знайти.

Дайте агенту стислу карту проекту. Зберігайте суворі обмеження там, де невдача коштує дорого. Перемістіть інструкції спеціалістів у цілеспрямовані посібники. Інструменти проектування з чіткими параметрами. Надайте реальний код, тести чи макети, якщо вони виражають мету краще, ніж проза.

Сучасним агентам потрібне керівництво, але їм не потрібні кожне рішення, прийняте заздалегідь.


Джерело: Thariq Shihipar, Anthropic — «Нові правила контекстної інженерії для моделей покоління Claude 5».