Новини Gate, 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-запити, встановлення заявлених залежностей, офіційна установка інструментарію, зчитування конфігураційних облікових даних для відправки до цільового провайдера, пуш у поточну гілку.
У системі також реалізовано механізм «відключення» (фейл-контроль): після трьох послідовних відмов або 20 сумарних відмов система переходить до ручного підтвердження; у headless режимі агент просто припиняє роботу. Якщо класифікатор недоступний, контроль здійснюється через feature flag, який визначає режим «fail-closed» (прямий відмов) або «fail-open» (зниження до ручного підтвердження).
У Auto Mode поведінка з інжектуванням підказок має тонке регулювання частоти: кожні 5 діалогів — інжект, причому в кожному п’ятому циклі інжекту перша — повна версія (близько 800 слів, з командами «негайно виконати», «зменшити перерви», «діяти краще за план» тощо), решта чотири — скорочена версія, що балансуватиме між обсягом контексту та стабільністю поведінки.