Auto 自动执行模式设计

前置知识

阅读本文前,你需要先学习:

工具调用的权限检查 给 Agent 装了三种权限模式:default 事事都问,bypass 一律放行,acceptEdits 介于两者之间。

但这三种模式都不太理想。default 太烦,跑个 npm test 都要确认;bypass 太险,等于把命令行权限完全交给模型;acceptEdits 只解决了一半问题,文件编辑放行了,跑命令还是得守着终端点 Yes。

有没有更聪明的办法?让命令也能自动放行,但又不像 bypass 那样无脑全放。

Claude Code 给的答案是 auto 模式:本该弹窗问你的调用,先交给另一个 LLM 看一眼,它觉得安全就自动放行,觉得危险才拦下来。相当于雇了个安全审查员替你点 Yes/No。

这篇我们动手实现一个简化版,把最核心的几个问题讲透:审查请求怎么发、要给审查员看什么上下文、以及怎么防止模型或者文件内容把审查员骗过去。