欢迎光临
我们一直在努力

【AI Agent通识九课】 04 · AI 的双车道 — 安全怎么保

在这里插入图片描述

AI Agent 通识课 · 第 4 篇 / 共 9 篇

一句话记住:危险操作必须你点头。


我朋友用 AutoGPT 跑了一晚上,第二天起床发现——

他的 GitHub 仓库被清空了。

不是黑客,是 AI 自己。

它在"帮他整理代码"的过程中,自作主张执行了 rm -rf。


这不是极端案例。

只要你让 AI “自主干活”,这类事故就有可能发生:

  • AI 给错的人发了重要邮件
  • AI 下错了订单
  • AI 改错了线上配置
  • AI 删了不该删的文件

怎么让 AI 既放得开手脚,又不至于闯大祸?

这就是今天要聊的——Agent 的安全机制。


01 · 矛盾的核心

Agent 产品的设计有个根本矛盾:

一边:让 AI 自动干,才有价值(你不想每步都点 Accept)

另一边:让 AI 自动干,才会闯祸(你不想它乱来)

怎么平衡?

答案其实就一个——

不是所有操作都一样危险。

查一下天气和删一个数据库,风险完全两个量级。

不该用同一套策略处理。


02 · 生活中最好的参照:机场安检

你想想机场安检是怎么设计的?

普通行李:直接过 X 光机

  • 衣服、书、电子产品
  • 上机器自动扫描
  • 不需要人工干预

疑似违禁品:开箱查

  • 液体、刀具、电池
  • 安检员开箱人工确认
  • 必须得到旅客点头

明确危险品:直接扣

  • 枪支、爆炸物
  • 不管你同不同意
  • 直接拦住,不让上机

三级分类:自动放行 / 人工确认 / 绝对禁止。

这就是现代 Agent 产品的安全模型——操作按风险分级,不同级走不同路。


03 · 如果让你来做,你会怎么设计?

假设你要做一个"个人助理 Agent"。

它有 4 个工具:

  • 📅 查日程
  • 📧 发消息
  • 🛒 下单
  • 🗑️ 删邮件

你怎么控制它闯祸的风险?

方案 A:全自动(AutoGPT 风格)

AI 想做什么就做什么,不问你

结果:AI 以"整理邮箱"的名义删光了你所有邮件。

我朋友的 GitHub 就是这么没的。


方案 B:每步都问(老派 Cursor 风格)

AI 每次想调工具前:
→ 弹窗:"要不要执行 X?"
→ 等你点 Yes

结果:AI 想查个日程都要问你,你一天点 50 次 Yes,烦到卸载。


方案 C:只拦危险操作(聪明做法)

查日程 → 安全,直接跑
发消息 → 危险,问你
下单 → 危险,问你
删邮件 → 危险,问你(可能还要二次确认)

结果:体验丝滑 + 关键处有闸。

这就是"双车道"模型。


04 · 四种主流安全策略

策略 A:全自动(AutoGPT 路线)

做法:AI 想干啥干啥,没有任何拦截。

谁在用:早期 AutoGPT、BabyAGI、部分实验性项目

优点:

  • ✅ 真·自主,最接近"AI 员工"
  • ✅ 不打断用户,体验流畅

缺点:

  • ❌ 事故风险极高
  • ❌ 用户无法预测 AI 下一步做什么
  • ❌ 出了事没地方兜底

适合:沙箱环境、研究、完全不怕出错的场景

真实故事:AutoGPT 2023 年爆红时,Reddit 上有人帖子标题叫"AutoGPT 花了我 $50 让我 GPU 过热"。


策略 B:每步都问(老派 IDE 路线)

做法:AI 每次想调工具,都弹窗问用户。

谁在用:老版本 Cursor、早期 Copilot、多数企业级工具

优点:

  • ✅ 绝对安全,每一步都经过人类
  • ✅ 用户有完全控制权

缺点:

  • ❌ 体验极差,AI 的"自主性"基本丧失
  • ❌ 用户点到手软
  • ❌ 违背 Agent 的核心价值

适合:极高危险场景(金融交易、线上生产环境)


策略 C:Allowlist 白名单(Claude Code 路线)

做法:用户提前声明"哪些工具 / 哪些目录 / 哪些命令"可以自动执行,其他都要问。

# Claude Code 的 settings
auto_approve:
– read_file: always
– write_file:
allowed_paths: ["src/", "tests/"]
– shell:
allowed_commands: ["npm test", "git status"]

谁在用:Claude Code、部分企业级 Agent

优点:

  • ✅ 用户自己定风险边界
  • ✅ 配好后体验顺畅
  • ✅ 符合"principle of least privilege"

缺点:

  • ❌ 需要用户前置配置(学习曲线)
  • ❌ 新工具上线要重新配
  • ❌ 白名单太宽等于没有

适合:成熟用户、开发者、愿意花时间配置的人


策略 D:风险标签(Warp 路线)

做法:给每个工具打"是否只读"+"是否危险"两个标签,AI 框架自动决策。

// Warp 的工具定义
ReadFiles → is_read_only: true, is_risky: false → 自动跑
SearchCode → is_read_only: true, is_risky: false → 自动跑
WriteFiles → is_read_only: false, is_risky: true → 要确认
ShellCommand → is_read_only: false, is_risky: true → 要确认
DeleteFiles → is_read_only: false, is_risky: true → 要确认(可能二次)

谁在用:Warp、部分新生代 Agent

优点:

  • ✅ 不需要用户配置,开箱即用
  • ✅ 安全操作并行跑,快
  • ✅ 危险操作自动拦截

缺点:

  • ❌ 标签是开发者定的,用户没法调
  • ❌ 粒度粗(如"所有 shell 命令都危险",但 ls 其实没事)

适合:大多数普通用户(不想配置的人)


速查表

策略生活类比代表产品安全性流畅度用户配置成本
全自动 小偷进家门没锁 AutoGPT 🔴 低 🟢 高 🟢 无
每步都问 每出门一次问门卫一次 老版 Cursor 🟢 高 🔴 低 🟢 无
Allowlist 小区门禁 + 访客登记 Claude Code 🟢 高 🟡 中 🔴 高
风险标签 机场安检分级 Warp 🟢 高 🟢 高 🟢 无

05 · 两级风险标签的精妙之处

Warp 的"双车道"模型为什么体验好?

关键在两个标签的组合使用:

is_read_onlyis_risky含义执行策略
true false 纯读取 ✅ 自动跑,可以并行
false false 写入但不危险 ✅ 自动跑,串行
false true 有副作用的危险操作 🛑 弹窗确认
true true 读取但有隐私风险 🛑 弹窗确认

关键洞察:

  • is_read_only = true → AI 可以并发做多件事(同时读 5 个文件,秒出结果)
  • is_risky = true → AI 必须停下来等你点头

这样既有自动化的流畅感,又有危险动作的安全闸。


06 · 手把手:一次混合任务的执行流程

场景:你对助理说"帮我整理下周三的会议,把过期的删掉,给参会人发提醒邮件"。

这个任务混合了读、写、删、发送多种操作。

看看安全机制怎么编排:

┌──────────────────────────────────────────────────────┐
│ 用户:整理下周三会议,过期的删掉,给参会人发提醒 │
└────────────────┬─────────────────────────────────────┘


┌──────────────────────────────────────────────────────┐
│ AI 规划:拆分成 6 个动作 │
└────────────────┬─────────────────────────────────────┘


╔══════════════════════════════════════════════════════╗
║ 第一阶段:并行执行(安全操作) ║
╠══════════════════════════════════════════════════════╣
║ ✓ 查日程(下周三) │ is_read_only ✓ 并行跑 ║
║ ✓ 查参会人联系方式 │ is_read_only ✓ 并行跑 ║
║ ✓ 查每场会议状态 │ is_read_only ✓ 并行跑 ║
╚══════════════════════════════════════════════════════╝


┌──────────────────────────────────────────────────────┐
│ AI 分析结果: │
│ – 3 场会议(2 场有效,1 场已过期) │
│ – 参会人:张总、李总、王总 │
│ – 需要:删除 1 场过期、发 2 场提醒 │
└────────────────┬─────────────────────────────────────┘


╔══════════════════════════════════════════════════════╗
║ 第二阶段:串行确认(危险操作) ║
╠══════════════════════════════════════════════════════╣
║ 🛑 删除会议(过期会议) │ is_risky ✓ 弹窗确认 ║
║ 用户:确认 → 执行 ║
║ ║
║ 🛑 发邮件(张总, "提醒")│ is_risky ✓ 弹窗确认 ║
║ 用户:确认 → 执行 ║
║ ║
║ 🛑 发邮件(李总, "提醒")│ is_risky ✓ 弹窗确认 ║
║ 用户:确认 → 执行 ║
╚══════════════════════════════════════════════════════╝


┌──────────────────────────────────────────────────────┐
│ 完成:删除 1 场、发送 2 封邮件 │
└──────────────────────────────────────────────────────┘

看三个细节:

  • 查询类操作并行:3 个查询同时跑,总耗时 = 最慢那个的时间
  • 删除和发送都要确认:每个都弹窗
  • 批量确认可合并:体验好的产品会让你"一键同意这 3 个操作"
  • 这就是双车道的威力——快的地方快,慢的地方慢。


    07 · 你的场景该怎么选?

    没有绝对的"最佳策略",看你的场景:

    场景 1:给开发者用的编程 Agent

    推荐:Allowlist(Claude Code 风格)或 风险标签(Warp 风格)

    理由:开发者愿意配置,但也不想被频繁打断。给他们控制权。


    场景 2:给普通用户的日常助理

    推荐:风险标签(自动分级)

    理由:普通用户不会去配 allowlist,但他们需要安全兜底。


    场景 3:企业内部流程自动化

    推荐:每步都问 + 记录审计

    理由:合规第一,体验第二。每个操作都要可审计。


    场景 4:沙箱 / 实验 / Demo

    推荐:全自动

    理由:本来就是玩,出错不怕。


    08 · 我踩过的坑

    坑 1:早期我相信"聪明的 AI 不会闯祸"

    刚接触 AutoGPT 时,我以为 GPT-4 足够聪明不会做蠢事。

    结果它花了我 $30 反复调用无效 API,凌晨把我账单刷爆。

    教训:AI 不知道"$30 很贵"这件事——上下文里没有"预算"这个概念。

    必须有外部限制(额度、次数、确认),不能指望 AI 自己判断。


    坑 2:Allowlist 配太宽等于没配

    我用 Claude Code 时图省事,把 shell 工具设成 always 自动允许。

    结果有次它跑了一个长循环脚本,把笔记本风扇拉到起飞。

    教训:Allowlist 一定要精确到命令粒度,不要给整个工具放行。

    我现在的配置:

    shell:
    allowed_commands:
    "npm test" # 跑测试,安全
    "git status" # 查状态,安全
    "ls" # 列目录,安全
    # 其他 shell 命令都要问


    坑 3:二次确认很重要

    发邮件、转账、删数据这类不可逆操作,光弹一次窗不够。

    我见过有用户在 Confirm 弹窗上"手滑点了 Yes",然后给客户发了一封错误邮件。

    好的设计:不可逆操作要二次确认(如输入 “DELETE” 才能真删)。

    Warp / Claude Code 对 rm -rf 这类都有额外拦截。


    09 · 你能带走什么

    读完这篇,你应该能回答的 3 个问题

    ✅ AI 安全的核心不是"全自动"或"全手动",是"分级"

    ✅ 四种主流策略:

    • 全自动 → 沙箱/实验
    • 每步问 → 高危场景
    • Allowlist → 开发者/高级用户
    • 风险标签 → 大众用户

    ✅ 双车道模型:安全操作自动跑,危险操作必须你点头

    下次评估 Agent 产品时,问 5 个问题

  • 它用什么安全策略?(全自动 / 每步问 / Allowlist / 风险标签)
  • 危险操作有没有拦截?
  • 有没有二次确认机制?
  • 出错能不能回滚?
  • 有没有操作日志可审计?
  • 产品经理设计 AI 功能时

    • 先分级:别把所有操作当一样危险
    • 给用户控制权:让他们决定哪些自动、哪些问
    • 不可逆操作要二次确认:发邮件、删数据、转账
    • 记录一切:至少有日志能追溯
    • 留"急刹车":用户能随时 Ctrl+C

    开发者自己搭 Agent 时

    • 起步用风险标签(两个 bool:is_read_only / is_risky)
    • 添加 Allowlist 让高级用户自定义
    • 不可逆操作加二次确认
    • 接 日志系统 记录所有动作
    • 设 成本/次数限制 防止失控

    10 · 下一篇预告

    05 · AI 的红绿灯 — 长任务怎么管

    AI 跑半小时的任务,谁来掌方向盘?

    跑到一半你想看日志 / 想插话,怎么办?

    代驾开到一半你想自己开——方向盘怎么交还?

    对比 ChatGPT 同步 / LangChain 回调 / Claude Code Hook / Warp 状态机,告诉你长任务怎么设计。


    一句话记忆锚点

    🎯 危险操作必须你点头。像机场安检——普通行李直接过,危险品单独开箱。


    路易乔布斯 © 2026 | AI Agent 通识课 · 第 4 篇 / 共 9 篇

    赞(0)
    未经允许不得转载:171主机测评 » 【AI Agent通识九课】 04 · AI 的双车道 — 安全怎么保
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址