Инженеры Ant провели реверс-инжиниринг исходного кода Claude Code, раскрывая механизм четырехуровневой конвейерной цепочки принятия решений режима Auto Mode

Gate News сообщение, 25 марта, инженер Ant Group, автор фронтенд-фреймворка Umi.js Чэнь Чэн произвел реверс-инжиниринг исходного кода Claude Code 2.1.81 и полностью восстановил механизм принятия решений в Auto Mode. Основное открытие: каждый вызов инструмента проходит через четыре уровня цепочки решений, и только если три первых уровня не могут определить результат, вызывается отдельный AI-классификатор для проверки безопасности.

Четыре уровня цепочки решений идут по порядку: первый — проверка существующих правил разрешений, при совпадении — немедленное пропуск; второй — моделирование режима acceptEdits (разрешение на редактирование файлов), если в этом режиме происходит пропуск, значит риск очень низкий, и классификатор пропускается; третий — проверка белого списка только для чтения инструментов (Read, Grep, Glob, LSP, WebSearch и др.), которые не изменяют состояние системы, и такие инструменты безусловно пропускаются; если ни одно из условий не выполнено, то переходим к четвертому уровню, где отправляется отдельный API-запрос к Claude Sonnet для оценки безопасности.

Ключевые детали дизайна классификатора включают: постоянное использование Sonnet вместо Opus — баланс между затратами и задержками; установка temperature в 0 для обеспечения детерминированности вывода; классификатор определяется как «безопасный монитор автономного AI-программирования», защищающий от трех типов рисков (инъекция подсказок, распространение по диапазону, случайные повреждения); конфигурационный файл пользователя CLAUDE.md внедряется в контекст классификатора как основание для определения пользовательских намерений.

Правила перехвата охватывают более 22 категорий, включая force push, прямой пуш в ветку main, загрузку и выполнение внешнего кода, производственные развертывания, утечку данных, самовнесение изменений в разрешения, создание уязвимых точек для удаленного выполнения кода, утечку учетных данных и другие. Исключения из пропуска включают 7 случаев: тестовые жестко закодированные ключи, локальные операции с файлами внутри рабочей директории, только чтение GET-запросов, установку заявленных зависимостей, установку официальных инструментальных цепочек, чтение конфигурационных учетных данных и их отправка поставщикам, пуш в текущую рабочую ветку.

Также в системе реализован механизм «отказа» (circuit breaker): после трех подряд отклонений или 20 накопленных отказов система переходит в режим ручного подтверждения; в режиме headless агент немедленно останавливается. Когда классификатор недоступен, управление осуществляется с помощью feature flag, который определяет поведение как «fail-closed» (немедленный отказ) или «fail-open» (переход к ручному подтверждению).

В режиме Auto Mode поведение по внедрению подсказок регулируется с точностью: каждые 5 раундов диалога происходит внедрение, причем в каждом пятом цикле внедрения — полный вариант (около 800 слов, включает шесть команд, таких как «немедленно выполнить», «уменьшить прерывания», «действие лучше плана» и др.), остальные четыре — укороченная версия, что обеспечивает баланс между использованием контекстного окна и стабильностью поведения.

Посмотреть Оригинал
Отказ от ответственности: Информация на этой странице может поступать от третьих лиц и не отражает взгляды или мнения Gate. Содержание, представленное на этой странице, предназначено исключительно для справки и не является финансовой, инвестиционной или юридической консультацией. Gate не гарантирует точность или полноту информации и не несет ответственности за любые убытки, возникшие от использования этой информации. Инвестиции в виртуальные активы несут высокие риски и подвержены значительной ценовой волатильности. Вы можете потерять весь инвестированный капитал. Пожалуйста, полностью понимайте соответствующие риски и принимайте разумные решения, исходя из собственного финансового положения и толерантности к риску. Для получения подробностей, пожалуйста, обратитесь к Отказу от ответственности.
комментарий
0/400
Нет комментариев