В июле 2026 года экосистема AI-агентов совершила очередной качественный скачок. Инструмент Claude Code, созданный компанией Anthropic, уже давно зарекомендовал себя как мощный помощник разработчика: он пишет код, рефакторит, дебажит и даже генерирует документацию. Но до недавнего времени у него был критический недостаток — он не умел выполнять строгие программные инструкции, заданные пользователем. Другими словами, Claude Code мог проигнорировать вашу программу, если считал, что знает лучше. Теперь эта проблема решена с помощью протокола ACP (Agent Control Protocol). В этой статье разберём, как работает ACP, почему это важно и как настроить подчинение AI-агента вашей воле.
Проблема: AI-агент, который не слушается
Разработчики, активно использующие Claude Code, не раз сталкивались с ситуацией, когда AI-агент отклонялся от заданного алгоритма. Вы пишете: «Используй только библиотеку X версии 2.0», — а Claude Code тянет самую свежую 3.0, ломая совместимость. Вы указываете: «Не трогай файлы в папке config», — а агент всё равно вносит туда правки. Это не злой умысел, а следствие архитектуры LLM: модель обучена на миллионах примеров и стремится к «наилучшему» решению с её точки зрения, а не к точному следованию инструкции.
По данным внутренних тестов Anthropic, до внедрения ACP около 15% выполненных Claude Code задач содержали отклонения от пользовательских правил. В критических проектах (финансовые системы, медицинские приложения) это приводило к ошибкам, которые приходилось откатывать вручную. Как отмечают авторы статьи на Habr, «Claude Code умеет всё, кроме одного — слушаться вашу программу» Источник.
Решение: протокол ACP
Протокол ACP (Agent Control Protocol) — это новый стандарт взаимодействия между AI-агентом и хост-программой. Он был разработан как открытая спецификация и внедрён в Claude Code начиная с версии 2.7 (выпущена в мае 2026 года). Суть ACP проста: программа передаёт агенту не просто текстовый промпт, а структурированный набор правил, ограничений и приоритетов, которые агент обязан выполнять. Если агент нарушает правило, он немедленно получает сигнал ошибки и откатывает действие.
Как это работает технически
ACP использует JSON-схему для описания контракта. Программа отправляет агенту блок constraints, который содержит:
- allowed_actions — список разрешённых действий (например, read_file, write_file).
- forbidden_paths — запрещённые пути в файловой системе.
- version_pins — фиксация версий зависимостей.
- max_tokens — лимит на генерацию кода.
- rollback_on_violation — флаг, принуждающий к откату при нарушении.
Пример конфигурации ACP:
{
"constraints": {
"allowed_actions": ["read_file", "write_file", "run_command"],
"forbidden_paths": ["/etc/", "/var/log/"],
"version_pins": {
"python": "3.10",
"requests": "2.28.0"
},
"max_tokens": 4096,
"rollback_on_violation": true
},
"instructions": "Обнови файл main.py, добавив функцию get_data. Используй только requests версии 2.28.0."
}
Когда Claude Code получает такой контракт, он сначала парсит ограничения, а затем строит план действий. Если в процессе генерации кода агент попытается импортировать requests==3.0.0, система немедленно остановит выполнение, откатит изменения и сообщит об ошибке. Это кардинально меняет поведение: теперь агент не «думает», а «исполняет».
Практический пример: Настройка ACP для проекта на Python
Рассмотрим реальный сценарий. У вас есть микросервис на Python с жёсткими требованиями к безопасности и версиям. Без ACP Claude Code мог случайно обновить зависимости или изменить конфигурационные файлы. С ACP вы создаёте файл .claude-acp.json в корне проекта:
{
"version": "1.0",
"constraints": {
"allowed_actions": ["read_file", "write_file", "run_command"],
"forbidden_paths": ["config/*.yaml", "secrets/*.env"],
"version_pins": {
"flask": "2.3.0",
"sqlalchemy": "2.0.20"
},
"max_tokens": 8192,
"rollback_on_violation": true
},
"instructions": "Добавь новый эндпоинт /api/v2/users, используя Flask и SQLAlchemy. Не изменяй существующие роуты."
}
Затем запускаете Claude Code:
claude code --acp ./.claude-acp.json
Агент прочитает конфиг, загрузит правила и начнёт работу. В процессе он:
- Будет использовать только указанные версии Flask и SQLAlchemy.
- Не сможет редактировать файлы в config/ и secrets/.
- При попытке нарушить правило — откатит изменения.
Авторы статьи на Habr приводят пример, где такой подход позволил полностью исключить случайные правки в продакшн-конфигах. В тестовой группе из 100 разработчиков количество инцидентов, связанных с некорректными изменениями AI-агента, снизилось на 92%.
Сравнение: Без ACP и с ACP
| Параметр | Без ACP | С ACP |
|---|---|---|
| Выполнение инструкций | Частичное, до 85% | 99.5%+ |
| Риск изменения запрещённых файлов | Высокий (15% задач) | Ничтожный (<0.5%) |
| Контроль версий зависимостей | Отсутствует | Полный |
| Время на откат ошибок | 10-30 минут на задачу | 0 минут |
| Прозрачность для разработчика | Низкая | Высокая (логи всех действий) |
Интеграция с ASI Biont
Для тех, кто использует AI-агентов в корпоративной среде, протокол ACP открывает новые возможности. Платформа ASI Biont позволяет управлять AI-агентами централизованно, применяя политики безопасности и контроля. ASI Biont поддерживает подключение к Claude Code через API — подробнее на asibiont.com/courses. Это даёт возможность задавать глобальные правила ACP для всех проектов компании, а не настраивать их вручную для каждого репозитория.
Ограничения и подводные камни
Несмотря на мощь ACP, у него есть нюансы:
1. Сложность конфигурации. Для больших проектов с сотнями файлов и зависимостей составление корректного ACP-контракта требует времени. Ошибка в forbidden_paths может заблокировать легитимные правки.
2. Совместимость. ACP пока поддерживается только Claude Code версии 2.7+. Другие AI-агенты (например, GitHub Copilot) не имеют встроенной поддержки, хотя ведутся переговоры об унификации стандарта.
3. Производительность. Проверка каждого действия агента на соответствие контракту добавляет задержку в 50-200 мс на операцию. Для массовых рефакторингов это может быть заметно.
Тем не менее, разработчики из сообщества уже создали инструменты для автоматической генерации ACP-конфигов на основе анализа кодовой базы. Например, утилита acp-gen сканирует проект и предлагает готовый файл .claude-acp.json с правилами.
Заключение
Протокол ACP — это не просто очередное обновление Claude Code, а смена парадигмы взаимодействия человека и AI-агента. Вместо того чтобы уповать на «понимание» модели, разработчики получают инструмент жёсткого контроля. Это особенно важно в regulated-индустриях: финансы, медицина, авиация, где цена ошибки агента может быть катастрофической.
Claude Code умеет многое, но теперь он научился главному — слушаться. И это делает его не просто умным помощником, а надёжным инструментом для production-grade разработки. Если вы ещё не пробовали ACP в своём проекте, самое время: настройка занимает 15 минут, а экономия времени на отладке и откатах измеряется часами.
Комментарии