Проблема: регенерация — это дорого и непрозрачно
Структурированные вызовы инструментов (tool calls) часто терпят неудачу из-за нарушения нескольких полей схемы. Традиционный подход — полная регенерация объекта — расширяет пространство действий, что делает процесс ремонта сложным для аудита и требует огромных затрат на токены. Исследователи из команды Miaobo Hu и коллег предлагают альтернативу: ContractRL (Contract-Constrained Group-Relative Policy Optimization).
Как это работает: верификация и маска действий
Метод моделирует исправление JSON как ограниченный процесс принятия решений. Агент работает в цикле, где на каждом шаге:
- Получает обратную связь от верификатора (с типизацией ошибок).
- Использует JSON Pointer для точечной навигации.
- Следует истории исправлений (immutable repair history).
- Ограничен бюджетом токенов.
Ключевая особенность — action mask (маска действий), которая фильтрует некорректные или запрещенные операции RFC-6902 до того, как детерминированный валидатор применит переход. Это гарантирует, что агент не может «сломать» валидный JSON некорректным патчем.
Результаты: скорость и точность
В сравнительных тестах на 192 случаях (5 сидов) ContractRL показал превосходство над базовыми методами. Метод достигает высокой семантической успешности при минимальном расходе токенов, что критично для снижения latency и стоимости inference.
| Метод | Семантическая успешность | Среднее кол-во токенов |
|---|---|---|
| ContractRL (RL) | 0.9375 | ~34.4 |
| ContractRL (Supervised) | 0.9186 | — |
| Full Regeneration | 0.9148 | 137.2 |
| Patch-SFT | 0.9076 | 44.9 |
Статистическая значимость улучшений по сравнению с Patch-SFT подтверждена: семантическая разница составляет +0.0396 (95% CI [+0.0137, +0.0662], p=0.0039).
Почему это важно для AI-разработки
ContractRL решает сразу две проблемы: аудируемость и эффективность. Поскольку исправления локальны и следуют строгим контрактам, разработчики могут точно видеть, какая часть JSON была изменена и почему. Экономия токенов (в 4 раза меньше, чем при полной регенерации) напрямую снижает стоимость развертывания LLM-агентов, работающих с внешними API. Метод открывает путь к созданию более надежных систем, где ошибки парсинга и валидации не приводят к полному сбою цепочки вызовов.
Источник: arXiv cs.AI ↗
