基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-24 08:05

AIClaw 缩短审批等待,超时仍需确认

dev.to · AI#Agent#权限审批
Editor brief · 编辑速览

AIClaw 3.7.22 将模型审批时限从 30 秒降至 8 秒,并减少部分审查请求、分开展示模型审查与人工确认。超时不会自动放行,Default 模式下文件写入的审批范围也有调整。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

AI 审批也会拖慢编程代理:执行一次工具操作,可能先等模型审查,再等人确认,最后才开始运行。AIClaw v3.7.22 在 10 月 23 日发布的改动,是把模型审查的等待预算从 30 秒压到 8 秒,并让部分操作跳过没有必要的模型请求。

这次调整值得看的,是它如何拆分规则判断、模型审查和人工确认。不过,Default 模式同时放宽了文件工具的写入权限,评估升级时要把这笔权限账单独算清。

八秒限制的是审查,整项任务能快多少还不知道

v3.7.22 给单次模型审查设置了 8 秒截止时间,上一版 v3.7.21 是 30 秒。同时,输出上限从 512 tokens 降到 128 tokens,并请求关闭思考模式。

下面这段节选展示了三个设置如何进入审查请求:

reviewCtx, cancel := context.WithTimeout(ctx, approvalReviewTimeout)
defer cancel()
response, err := client.Stream(reviewCtx, llm.Request{
    Model: model.Model,
    MaxTokens: 128,
    DisableThinking: true,
    // Separate system instructions and the operation to assess.
}, nil)

要看的是 context.WithTimeout:它约束这一轮审查请求。MaxTokens: 128 则对应一个很小的输出目标,模型只需要返回包含 decision 字段的 JSON,值只能是 allow 或 ask,不需要再写一份任务答案。

实际请求包含两条消息:审查器的系统指令,以及描述近期可见用户请求和拟执行操作的 JSON。审查器没有工具,职责就是判断这次操作能否放行。

超时会转入人工确认,不会自动获得权限。

8 秒不包含人的响应时间,也不包含命令执行时间。一项任务还可能触发多次独立审查。因此,预算减少 22 秒只能说明这一阶段的等待上限变小,不能写成「整个任务平均快了 22 秒」。

关闭思考也有适用范围。审查仍使用当前会话模型,没有偷偷切换到小模型。客户端只对已识别的 DashScope 端点和受支持模型发送 enable_thinking=false;对已识别的原生 DeepSeek 端点及受支持模型发送 thinking.type=disabled,同时移除冲突的 reasoning-effort 值。

未知网关和已识别的仅支持思考的模型名称保持原样,普通对话请求也不受影响。接入 OpenAI-compatible 服务的人可以借鉴这个边界:接口兼容不代表供应商扩展参数通用。

规则已经要求找人,就别再问一次模型

授权路径先看操作的影响和当前审批策略。可信的只读工具不需要模型审查;已有风险规则明确要求人工确认的命令,则直接找人。

测试覆盖的例子包括 git push、sudo 命令,以及通过 curl 发送数据的请求。这些操作既然已经命中人工确认条件,再调用一次模型,通常只会多一道等待。

但没有命中规则,也不等于获得许可。Default 模式下,不熟悉的命令仍要经过独立审查。这些基于字符串的规则负责分流,不能当作完整的 Shell 安全解析器。

模型返回结果的解析也很保守。重复键、额外字段、JSON 后面附带内容、未知决策、工具调用,以及未完成的响应,都不能转成批准。审查出错后直接回退到人工确认,不重试模型请求;如果原操作已经取消,就不再弹出新的确认。

这里有个值得拿走的工程原则:把模型的职责压到足够窄,再用程序检查输出。模型负责给出有限选择,程序负责决定哪些结果有效、异常走哪条路。

等待时间拆开了,文件权限也变了

过去一个工具步骤里混着多种等待,用户看到「很慢」,却难判断慢在哪里。现在内核会分别为模型审查和人工确认发送开始、完成通知,并携带开始时间与耗时。

桌面端按通知 ID 更新原来的记录,完成时不会再插入一行;步骤组件把时间显示在标题旁。这样就能区分模型审了多久、人在确认界面停了多久。

外层工具计时仍然包含授权和执行工作。不能把工具总耗时直接解释为命令运行时间,也不能把里面的审查耗时再重复相加。

另一项变化需要单独评估:桌面模式改为 Default、Strict 和 Allow all;Default 下,文件工具可以在工作区外写入而不经过审查,没有设置工作区时也适用。受保护的凭据路径仍被阻止,Strict 则保留文件写入确认。

Default 的文件写入改动扩大了权限范围。

它没有把任意 Shell 命令变成文件工具,也没有移除命令原有的沙箱限制。同一个路径,文件工具可以写,不代表 Shell 命令也能绕过审查或沙箱写进去。

我的判断

我认同把确定性规则放在模型前面,也认同给模型审查设置明确预算。审批属于工具执行的关键路径,重复判断和漫长等待都会放大交互成本。相比所有操作都先问模型,这种分流更容易解释,也更容易定位问题。

不过,8 秒是否合适,原文没有生产环境对照数据。作者从 v3.7.22 标签导出的代码中,使用 Go race detector 重跑了 8 个重点测试函数,全部通过。测试覆盖超时后单次回退、严格解析、风险命令分流、文件权限,以及关闭思考的参数不会泄漏到普通对话等行为。

这些证据能支持实现按预期运行。测试使用临时文件和受控 HTTP、模型响应,不能证明真实模型的平均延迟,也不能证明风险分类普遍准确。发布说明还报告了 290 项渲染器相关测试和 184 项 UI 检查,但作者没有重跑整个桌面测试套件。

原文也没有给出关闭思考前后的误放行率、转人工比例或总体完成耗时,所以「能提升多少体验」仍需实测。这个取舍有清晰逻辑,但效果还不能替作者背书。

相比始终人工确认,它减少了部分交互;相比直接放行,它保留了模型失败后的人工兜底。至于 Default 放宽文件写入,便利性成立,是否适合团队还取决于目录边界和确认要求。审批变快与权限变宽应分别评估。

能拿来做什么

  • 如果你在做 Node 工具代理或 AI 编程助手,可以先把只读操作、明确要求人工确认的操作和待审查操作分流,再决定是否调用模型,避免重复判断。
  • 给审批模型定义最小输出协议,严格解析 allow、ask,并明确超时、格式错误和请求取消的处理路径。不要把模型没答完当成默认同意。
  • 在代理界面或运行日志里分别记录模型审查、人工等待和工具执行时间,再用真实请求统计耗时与转人工比例,判断瓶颈究竟在哪里。
  • 升级 AIClaw 时,检查 Default 对工作区外文件写入的行为;如果团队需要逐次确认文件写入,就选择 Strict,并分别核对文件工具权限和 Shell 沙箱限制。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
1Password 为 Agent 提供免暴露密码登录
下一篇
端侧语音合成如何守住音频实时期限

资讯速览

dev.to · AI · 2026-10-24 08:05

AI 评分 8.0 / 10

相关标签

#Agent#权限审批

继续阅读

  • 让模型拦截 Git 推送,误判如何评估
  • 1Password 为 Agent 提供免暴露密码登录
  • 端侧语音合成如何守住音频实时期限
  • 让编程 Agent 交付可审阅的变更说明
  • TTS 指令被静默丢弃,A/B 测试失效