Припиніть сліпо довіряти ШІ: як зменшити галюцинації ШІ-агентів

ШІ-агенти часто припускаються помилок. Вони галюцинують кодом, порушують бізнес-правила або обирають неправильні інструменти.

Більшість людей намагаються виправити це за допомогою кращих промптів. Це помилка.

Якщо ви хочете мати надійних ШІ-агентів, ви повинні проєктувати системи з чіткими обмеженнями. Вам потрібно перейти від ролі «Друкаря» до ролі «Архітектора».

Друкар проти Архітектора

Більшість користувачів діють як Друкарі:

  • Ви запитуєте: «Реалізуй систему автентифікації».
  • ШІ сам вирішує, якою буде структура, які бібліотеки використовувати та як організувати папки.
  • Кожне окреме рішення — це потенційна можливість для галюцинації.

Інженери діють як Архітектори:

  • Ви спочатку визначаєте структуру та бібліотеки.
  • Ви встановлюєте обмеження та правила.
  • ШІ лише пише код у межах ваших кордонів.

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

Стратегія 1: Файли контексту

Припиніть повторювати інструкції в кожному чаті. Використовуйте конфігураційні файли, щоб надати ШІ постійну структуру. Різні інструменти використовують різні стандарти:

• CLAUDE.md для Claude Code • AGENTS.md для open source екосистем • .cursorrules для Cursor • .copilotrules для GitHub Copilot

Порада: Створіть один центральний файл AGENTS.md і використовуйте symlinks, щоб усі інші файли оновлювалися автоматично.

Стратегія 2: ADR (Architecture Decision Records)

Перш ніж просити агента щось побудувати, створіть ADR. Цей документ позбавляє ШІ необхідності «вгадувати».

Хороший ADR містить:

  • Чітке визначення того, що саме потрібно побудувати.
  • Які файли створити, а які ніколи не чіпати.
  • Конкретний технологічний стек та бібліотеки для використання.
  • Явні обмеження (наприклад, «Жодного стану в пам'яті»).
  • Список речей, які агенту НЕ дозволено вирішувати самостійно.

Коли Оркестратор (Orchestrator) отримує ADR, архітектурні рішення вже прийняті. Агент-розробник (Developer agent) просто перетворює специфікацію на код. Це зменшує кількість помилок і підтримує цілісність вашої кодової бази.

Я розпочинаю серію публікацій про побудову надійних робочих процесів для ШІ-агентів. У наступних частинах я розгляну складання системних промптів та передові інженерні методи.

Джерело: https://dev.to/devjohanadrian/el-problema-de-la-confianza-ciega-como-reducir-las-alucinaciones-en-agentes-de-ia-parte-1-2aah