Діагностичний інструментарій Glow версії 26.11
Пастка вузької спеціалізації моделей Anthropic

Проблема проявилася під час роботи з кодинг-агентом Pi: стало помітною дивною поведінкою найновіших моделей — Opus 4.8 та Sonnet 5. У ситуаціях, коли модель має викликати інструмент для редагування файлів, вона починає спонтанно додавати в аргументи неіснуючі поля. Ці «галюцинації» призводять до того, що агент відхиляє виклик через невідповідність схемі даних. Примітно, що старіші версії моделей, які об'єктивно мають менший обсяг знань і слабші в міркуваннях, таких помилок не припускаються.
Щоб зрозуміти природу цього збою, необхідно зазирнути в механізм виклику інструментів. Для нейромережі це не магічна функція, а генерація суворо визначеного тексту. У випадку з Anthropic використовується гібридний формат: псевдо-XML, де прості параметри передаються напряму, а складні структури — у вигляді JSON всередині тегів. Помилка виникає саме на стику цих форматів. Після того як модель закриває довгий екранований рядок із текстом файлу, вона має прийняти рішення про завершення об'єкта. Замість цього нейромережа починає дописати випадкові ключі на кшталт requireUnique, matchCase або in_file.
Аналіз свідчить, що самі правки коду при цьому залишаються бездоганними — текст збігається байт у байт із потрібним. Проблема має суто структурний характер і сильно залежить від контексту. У коротких сесіях помилка майже не проявляється, але в тривалих агентних циклах частота збоїв може сягати 20%. Цікаво, що видалення блоків внутрішнього міркування (thinking-блоків) з історії діалогу знижує кількість помилок удвічі, а активація суворого режиму викликів (strict mode) повністю усуває проблему.
Найімовірнішою причиною такої деградації є специфічний процес пост-тренінгу. Судячи з усього, сучасні моделі Anthropic навчаються всередині середовища Claude Code або максимально наближеного до нього оточення. Вивчення внутрішнього устрою Claude Code показує, що цей інструмент надзвичайно лояльний до помилок: він автоматично виправляє биті Unicode-послідовності та просто відфільтровує невідомі ключі в аргументах.
У межах навчання з підкріпленням (RLHF) виникає небезпечний ефект: якщо «кривий» виклик все одно призводить до успішного завершення завдання, модель отримує винагороду. У нейромережі зникає стимул дотримуватися суворої чистоти схеми даних, і вона звикає до специфічного, плоского формату інструментів Claude Code. В результаті будь-яка зовнішня схема, наприклад та, що використовується в агентові Pi, виявляється для моделі «поза розподілом» (out of distribution), що і призводить до виникнення артефактів.
Ця ситуація створює тривожний прецедент для всієї індустрії розробки ШІ-агентів. Схеми інструментів перестають бути нейтральним контрактом, який розумна модель просто виконує за інструкцією. Чим більше пост-тренінгу проходить всередині одного домінуючого закритого ханесу (harness), тим сильніше сторонні розробники стають заручниками його внутрішніх примх.
Для порівняння можна навести підхід OpenAI у моделях Codex, де використовується формат Harmony. Він дозволяє чітко розмежовувати початок JSON-структур і підключати зовнішні граматики для кастомних інструментів, що робить взаємодію більш передбачуваною. У поточній же ситуації індустрія може опинитися перед іронічним викликом: замість того щоб створювати універсальні інтерфейси, розробникам доведеться впроваджувати кілька варіантів одного й того самого інструменту, підбираючи конкретну схему під кожну модель. Це суперечить загальному тренду на адаптивність LLM, де вважалося, що чітких інструкцій достатньо для коректної роботи з будь-яким API.

