Разработчики столкнулись с неожиданной проблемой: современные модели, включая Claude 3 Opus, начали добавлять вымышленные поля в аргументы при вызове внешних инструментов. Несмотря на корректность самой логики действий, нарушение схемы данных приводит к сбоям в работе API. Это создает критические риски для надежности агентных систем, где строгое соблюдение формата вывода является обязательным условием интеграции.

Ситуация демонстрирует парадоксальный тренд: рост «интеллектуальных» способностей моделей не гарантирует стабильности их взаимодействия с программными интерфейсами. В процессе работы модель может самостоятельно расширять JSON-структуры, добавляя ключи, не предусмотренные спецификацией инструмента. Это вынуждает разработчиков внедрять дополнительные уровни валидации и принудительной фильтрации аргументов на стороне клиента, чтобы избежать ошибок парсинга.

Подобное поведение моделей усложняет создание автономных агентов, которые должны полагаться на предсказуемые ответы. Если модель начинает «фантазировать» не только в тексте, но и в структуре вызовов, стандартные методы валидации схем (например, через JSON Schema) становятся узким местом. Разработчикам приходится пересматривать подходы к проектированию инструментов, делая их более устойчивыми к невалидным данным, поступающим от LLM.

Ключевые факты

  • Модели Claude (включая версию Opus) при вызове инструментов добавляют в массив `edits[]` поля, отсутствующие в исходной схеме.
  • Ошибки возникают даже в крупных, высокопроизводительных моделях, что исключает версию о простом недостатке «интеллекта» у компактных версий.
  • Нарушение схемы данных приводит к тому, что принимающая система (в данном случае Pi) отвергает вызов из-за несоответствия формату.
  • Проблема требует внедрения жесткой серверной валидации или промежуточных слоев очистки данных перед передачей аргументов в исполняемые функции.