Припиніть сліпо довіряти ШІ: як зменшити галюцинації ШІ-агентів
ШІ-агенти часто припускаються помилок. Вони галюцинують кодом, порушують бізнес-правила або обирають неправильні інструменти.
Більшість людей намагаються виправити це за допомогою кращих промптів. Це помилка.
Якщо ви хочете мати надійних ШІ-агентів, ви повинні проєктувати системи з чіткими обмеженнями. Вам потрібно перейти від ролі «Друкаря» до ролі «Архітектора».
Друкар проти Архітектора
Більшість користувачів діють як Друкарі:
- Ви запитуєте: «Реалізуй систему автентифікації».
- ШІ сам вирішує, якою буде структура, які бібліотеки використовувати та як організувати папки.
- Кожне окреме рішення — це потенційна можливість для галюцинації.
Інженери діють як Архітектори:
- Ви спочатку визначаєте структуру та бібліотеки.
- Ви встановлюєте обмеження та правила.
- ШІ лише пише код у межах ваших кордонів.
ШІ галюцинує не тому, що йому бракує навичок програмування. Він галюцинує, тому що намагається вгадати контекст, який є у вас у голові, але яким ви ніколи не поділилися.
Стратегія 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) просто перетворює специфікацію на код. Це зменшує кількість помилок і підтримує цілісність вашої кодової бази.
Я розпочинаю серію публікацій про побудову надійних робочих процесів для ШІ-агентів. У наступних частинах я розгляну складання системних промптів та передові інженерні методи.
