AAAEC Resources返回官网
AAAEC Resources

1. 工作模式 / 交互模式

10 模块知识库第 1 篇——讲 agent 与用户的「工作模式」关系(先规划还是直接动手 / 写之前要不要审批 / 怎么被打断 / 怎么接管),含 10 个子 mode 深度对比。

本文覆盖 agent 与用户的 10 种工作模式,以及怎么选:

  • Plan mode 先输出计划再执行,改代码前强制 review(适合重要的一次性任务)
  • Act / Auto mode 跳过 plan 直接动手,或 AI 守门自动放行 routine(适合重复操作)
  • Headless / Goal-driven 单轮 prompt 跑完即退,或长跑到 condition 满足(适合 CI / 长跑任务)
  • Take over / Step-in 用户随时介入、agent 旁观,或中途追加指令(适合紧急自己上手)

选型快查 (TL;DR)

[!TIP] 用法:看第一列你的场景,直接跳到推荐 mode 和 agent。不需要看完整 10 个子模块。

你的场景推荐 mode触发方式 / 关键参数代表 agent
重要的一次性任务(数据迁移 / 部署)Plan modeShift+TabdefaultMode: "plan"Claude Code / Cursor
重复 routine 操作(每日 ETL / 批量 review)Auto modeShift+Tab 切 Auto,Sonnet 4.6+Claude Code Auto
长跑任务(几小时到几天)Goal-driven + Background/goal "所有测试通过"Claude Code / Devin
只想问问题,不要改文件Ask modeShift+Tab 切 AskClaude Code / Cursor Chat
紧急自己上手(agent 卡住)Take over"Take over" 按钮Claude Code / Devin
周期任务(每周 / 每天 / 每月)RecurringRRULE / CronChatGPT Agent / WorkBuddy
CI / pre-commit hookHeadlessclaude -p "..." --output-format jsonClaude Code -p

导览

10 个子模块,按"用户对 agent 的主动程度"从高到低排列。

#子模块一句话用户主动程度
1Plan mode(规划模式)先输出计划,用户审批后再执行
2Act mode(执行模式)跳过 plan,直接动手
3Ask mode(只回答)只答不写中(只读)
4Auto mode(自动分级授权)AI 守门,自动放行 routine中低
5Hybrid(同 session 切换)同一 session 内快捷键切 mode灵活
6Goal-driven(目标驱动)持续跑到 condition 满足
7Headless / CI(无头模式)单轮 prompt,跑完即退极低
8Take over(接管)用户随时介入,agent 旁观用户接管
9Step-in(打断)中途追加指令,无需 cancel用户追加
10Recurring(周期任务)定时自动跑系统触发

建议阅读路径:

  • 新手(15 分钟):子模块 1 → 2 → 3 → 4 → 5,然后看"选型快查"和"选型决策(总)"
  • 进阶(30 分钟):6 → 7 → 8 → 9 → 10,关注 Headless / Goal-driven / Recurring 的工程化用法
  • 选型(2 分钟):只看"选型快查"表 + 文末"选型决策树"

选型决策树(总)

你的任务是什么?

├─ 重要的一次性任务(数据迁移 / 部署 / 删改生产数据)
│  └─ Plan mode
│     ├─ 严格控制每一步 ──────────── Claude Code (defaultMode: "plan")
│     ├─ plan 跨 session / 团队交接 ─ Cursor (.cursor/plans/)
│     ├─ 业务规则 + LLM 混合 ────── Agentforce
│     └─ AI 改代码前强制 review ─── TRAE SOLO

├─ 重复 routine 操作(每日 ETL / 批量 review / 自动响应)
│  └─ Auto mode
│     ├─ 编码 + 风险分级 ────────── Claude Code Auto (Sonnet 4.6+)
│     ├─ 多模型自动选 ───────────── WorkBuddy Auto
│     └─ 国内云 + 精细编排 ──────── Qwen-Agent

├─ 长跑任务(几小时~几天)
│  └─ Goal-driven + Background
│     ├─ 明确通过标准 ───────────── Claude Code /goal
│     └─ 几天到几周 ─────────────── Devin Multi-week

├─ 只想问问题(不动文件)
│  └─ Ask mode
│     ├─ CLI / 终端 ─────────────── Claude Code Ask
│     └─ IDE 内 ─────────────────── Cursor Chat (Cmd+L)

├─ 紧急自己上手(agent 卡住)
│  └─ Take over
│     ├─ terminal ───────────────── Claude Code
│     └─ browser ────────────────── Devin / ChatGPT Agent Operator

├─ 周期任务(每周 / 每天 / 每月自动跑)
│  └─ Recurring
│     ├─ 通用周期 ───────────────── ChatGPT Agent Recurring
│     ├─ 代码依赖更新 ───────────── Devin Scheduled dependency updates
│     ├─ 国内云 + 精细时间 ──────── WorkBuddy Automation
│     └─ 企业级 + 后台监控 ──────── Agentforce Operations

└─ CI / pre-commit hook(无交互,单轮)
   └─ Headless
      └─ claude -p "..." --output-format json

子模块展开

子模块 1:Plan mode(规划模式)

[!TIP] 本节要点:重要任务(数据迁移 / 部署 / 删改生产数据)必须先规划。Plan 阶段 agent 通常被限制为只读,plan 完了给用户 5 个选项选。

定义

agent 在动手前先输出完整计划(目标、步骤、影响范围、验证方法),用户确认后才进入执行。Plan 阶段 agent 通常被限制为只读,不能修改文件或执行写操作。

典型实现

[官方支持] Claude Code — Read-only + 5 选项审批

plan 阶段主对话只读,Plan subagent 在独立 context 做调研。plan 完成后弹出 5 选项:

  1. Yes, and auto-accept edits
  2. Yes, and manually approve edits
  3. No, keep planning
  4. No, refine plan further
  5. Refine with Ultraplan(浏览器中多人 review)

触发方式:

# 快捷键(循环切换 mode)
Shift+Tab

# 命令行启动时锁定
claude --permission-mode plan

# 单次触发(只影响当前 turn)
/plan 帮我重构这个模块

# 配置文件锁定(整个 session)
# settings.json
{ "defaultMode": "plan" }

Plan 工作流 4 阶段:Explore → Plan → Implement → Commit。Plan 文档可按 Ctrl+G$EDITOR 中编辑后再让 Claude 执行。

资料:

[官方支持] Cursor — 持久化 plan 文件

plan 直接存进 .cursor/plans/ markdown 文件,可被团队其他人查看,跨 session 续用。

适用场景:团队交接、resume 续干、plan 评审记录。

资料:

[官方支持] Devin — Session 内 Show plan

session 里点 "Show plan" 按钮查看当前计划,review 后选 approve / reject / modify。Devin 没有显式 plan-only mode,默认就是 plan + execute 流程。

资料:

[官方支持] Agentforce — 业务规则脚本(Agent Script)

用类 JavaScript 语法定义 condition / loop / variable / transition,把业务规则的确定性和 LLM 的灵活性结合。例:

// Agentforce Agent Script 示例
if (customer.tier === "enterprise") {
  escalate_to_human;
} else {
  auto_respond_with_kb;
}

适用场景:业务规则必须 100% 执行(如金融、医疗、合规场景)。

资料:

[官方支持] TRAE SOLO — PlanAgent 架构

AI 改代码前必须人工 review。PlanAgent 在 AI 执行步骤前拦截。官方文档将此机制称为防止 AI 越界的标准做法。

适用场景:国内团队、需要严格 code review 流程。

资料:

跨 agent 实现差异

快速对比(3 个最常用):

  • Claude Code — Read-only + 5 选项审批。Shift+Tab 切换,defaultMode 锁定。Plan 文档可在 $EDITOR 里改完再让 agent 执行。
  • Cursor — 持久化 plan 文件,存进 .cursor/plans/,团队可见,跨 session 续用。
  • Devin — Session 内 Show plan 按钮,默认就是 plan + execute 流程,无独立 plan-only mode。
展开:8 个 agent 完整对比
AgentPlan 实现触发方式Plan 持久化适用场景官方 doc
Claude CodeRead-only + 5 选项Shift+Tab / 命令行 / /plan / defaultMode可在 $EDITOR 编辑后执行编码 / 通用 / 严格控制permission-modes
Cursor持久化 plan 文件Shift+Tab.cursor/plans/团队交接 / 跨 sessioncursor.com/docs
DevinSession 内 Show plan"Show plan" 按钮session 内长跑编码 / 跨 repodocs.devin.ai
Agentforce业务规则脚本Atlas 引擎自动调度Agent Script 持久化企业级 + 严格业务规则agent-builder
TRAE SOLOPlanAgent 架构自动 + 强制 reviewPlanAgent 日志国内团队 + code reviewtrae.ai
Qwen-AgentPlan 模式(百炼可视化)可视化编排触发应用模板持久化国内 + 阿里云生态百炼
WorkBuddyPlan 模式(用户确认)"Plan" 按钮session 内国内 + 微信生态codebuddy.cn
AntigravityPlan → Review → Execute → Verify 4 阶段自动Plan artifact 持久化Google 生态antigravity.google/docs

选型建议

推荐场景推荐 agent
严格控制每一步Claude Code
plan 跨 session 续用Cursor
业务规则与 LLM 结合Agentforce
AI 改代码前强制人工 reviewTRAE SOLO
国内云生态 + 可视化编排Qwen-Agent / WorkBuddy
Google 生态Antigravity

注意事项

[!WARNING] 常见踩坑

  • Plan mode 用于简单改动(typo 修正)会增加操作步骤,不适合频繁小改动场景
  • plan 内容若仅停留在对话窗口、未持久化,下次 session 续用时无法引用
  • plan 应具体到文件 / 行号 / 字段。抽象表述(如"优化代码")会导致 approve 后 agent 自行扩展解释

[!IMPORTANT] 关键行为差异(不踩会出事)

  • Claude Code 的 /plan 单次触发(只影响当前 turn)与 defaultMode: "plan" 配置(锁定整个 session)行为不同
  • Ultraplan 适合多人 review plan 的场景,单人使用会增加流程复杂度

实际场景示例

场景 1:500 个老客户数据从 Excel 迁到 CRM

#行为状态
1用户告诉 agent:"帮我把 500 个老客户的 Excel 迁到 CRM"输入
2agent 输出 plan:数据源 / 字段映射 / 验证策略Plan mode
3用户 review plan,确认字段映射无误审批
4agent 执行迁移Act mode
5用户 spot check 结果Take over / 验证

场景 2:团队接手别人未完成的代码改动

Plan agent → 读 .cursor/plans/ 找历史 plan → 基于 plan 续干

适合 Cursor 持久化 plan 模式。

场景 3:金融场景必须先校验业务规则

用户请求 → Agent Script 检查规则 → 触发条件 → 自动响应或升级

适合 Agentforce。

相关链接


子模块 2:Act mode(执行模式)

[!TIP] 本节要点:agent 跳过 plan 阶段、直接执行任务。大多数 agent 的默认 mode。核心权衡是"效率"和"风险"。

定义

agent 跳过 plan 阶段,直接执行任务。大多数 agent 的默认 mode。

典型实现

[官方支持] Claude Code — Accept Edits

文件改动自动通过(mkdirtouchmvcpsed 等 fs 命令),bash 命令仍需审批。

触发方式:Shift+Tab 切到 Accept Edits mode。

# settings.json
{ "defaultMode": "acceptEdits" }

资料:

[官方支持] Claude Code — Bypass Permissions

所有权限 prompt 全部跳过。限制:只能在 sandboxed container / VM 中使用;root + 此 flag 在 host 上被拒。

触发方式:Shift+Tab 切到 Bypass Permissions mode。

资料:

[官方支持] Devin — 默认 autonomous

Devin 默认就是 plan + execute 流程,3h session timeout(long task 自动 kill)。

资料:

跨 agent 实现差异

快速对比(3 个最常用):

  • Claude Code — Accept Edits 默认(文件改动自动过、bash 仍需审批);Bypass Permissions 可选(只能在 sandbox 内用)。
  • Devin — Autonomous 默认。3h session timeout,长任务自动 kill。
  • Cursor — 默认 + Composer background 跑。Plan 阶段只读。
展开:6 个 agent 完整对比
AgentAct 默认行为限制文档
Claude CodeAccept Edits 默认 / Bypass 可选Bypass 限 sandboxcode.claude.com
DevinAutonomous 默认3h session timeoutdocs.devin.ai
Cursor默认 + Composer backgroundPlan 期间只读cursor.com/docs
WorkBuddyCraft / Plan / Ask 3 模式默认同意codebuddy.cn
Coze 3工作流编排 + 默认执行Bot 配置决定coze.com/docs
ChatGPT Agent默认 + Apps SDK 控制Apps SDK 抽成 ⚠️ 未验证chatgpt.com/tools/agent

选型建议

推荐场景推荐 agent
通用编码任务Claude Code Accept Edits
长跑编码任务(几小时~几天)Devin
国内云生态WorkBuddy / Coze 3

注意事项

[!WARNING] 常见踩坑

  • Act mode + bash 命令无审批 = 高风险操作(rm -rf 等)无拦截
  • Act 模式下 agent 跑飞时无 Take over 之外的兜底机制,需要依赖 模块 5 - 沙箱 提供的隔离
  • Devin 3h session timeout 适用于长任务,需要 模块 2 - Scheduled dependency updates 续期
  • ChatGPT Agent Apps SDK 抽成比例 ⚠️ 未找到官方明示,使用前建议核查最新 OpenAI 公告

[!IMPORTANT] 关键行为差异

  • Bypass Permissions 在 host 上以 root 运行会被拒;只能在 sandbox 内使用

实际场景示例

场景:周末值班,CI 失败需要立即修复

Devin session 自动启动 → plan → approve → 修复 → push → 通知 on-call

适合 Devin Event-driven automation(企业版)。详见 Use case - PR review

相关链接


子模块 3:Ask mode(只回答不执行)

[!TIP] 本节要点:agent 只回答问题,不调用任何写操作的工具(read-only 工具可调,如 search / read)。适合问答场景。

定义

agent 只回答问题,不调用任何写操作的工具(read-only 工具可调用,如 search / read)。

典型实现

[官方支持] Claude Code Ask mode

不调用 write / edit / bash 写操作工具。Shift+Tab 循环到 Ask。

资料:

[官方支持] WorkBuddy Ask 模式

只查不写,适合问答场景。

资料:

  • 来源:

[官方支持] Cursor Chat mode(Cmd+L)

IDE 内问答,不修改文件。

资料:

跨 agent 实现差异

AgentAsk 触发限制文档
Claude CodeShift+Tab 切 Ask不调 write / edit / bashcode.claude.com
WorkBuddy"Ask" 按钮不调写工具codebuddy.cn
CursorCmd+LIDE 内只读cursor.com/docs

选型建议

推荐场景推荐 agent
概念问答 / 解释代码Claude Code Ask
国内用户WorkBuddy Ask
IDE 内问答Cursor Chat

注意事项

[!WARNING] 常见踩坑

  • Ask mode 下 agent 给出的代码 / 配置只是建议,需手动复制粘贴应用
  • 不区分 Ask / Act mode 时,agent 默认就调用写工具,可能误删文件
  • 排查问题时建议显式切到 Ask,避免 agent 顺手"修"了一下

实际场景示例

场景:新员工入职,问"项目用什么框架?"

新员工 → Cursor Chat → 答案(不修改任何文件)

相关链接


子模块 4:Auto mode(自动分级授权)

[!TIP] 本节要点:用一个独立 classifier model 评估每条命令的风险,自动批准 routine 操作,block 危险操作。比 Act mode 多一层 AI 守门。

定义

agent 用一个独立的 classifier model 评估每条命令的风险,自动批准 routine 操作,block 危险操作。比 Act mode 多一层 AI 守门。

典型实现

[官方支持] Claude Code Auto mode(Sonnet 4.6+ / Opus 4.6+)

classifier 评估每条 command 风险,自动通过 routine 操作;block scope escalation / unknown infrastructure / hostile-content-driven actions。

Fallback 机制:连续 3 次 block 或累计 20 次 block → 自动 fallback 到 default mode。

触发方式:Shift+Tab 切到 Auto mode。

资料:

[官方支持] WorkBuddy Auto

自动选择最优模型(基于任务类型),不涉及权限分级。

资料:

  • 来源:

跨 agent 实现差异

AgentAuto 实现Fallback 机制文档
Claude Codeclassifier 评估风险3 次 block fallbackanthropic.com
WorkBuddyAuto 模型选择无 fallbackcodebuddy.cn
AutoGPTAuto 自主模式易跑飞,需手动 stopdocs.agpt.co

选型建议

推荐场景推荐 agent
编码任务需要分级授权Claude Code Auto(Sonnet 4.6+)
多模型场景WorkBuddy Auto
开源自主AutoGPT(注意跑飞风险)

注意事项

[!WARNING] 常见踩坑

  • Auto mode 的 classifier 也可能误判。关键操作(删文件 / force push)仍需 模块 2 - Hook 二次拦截
  • AutoGPT Auto 模式无 fallback,容易跑飞无目标,建议设 Goal 限制(见 模块 6 - Goal-driven)

[!IMPORTANT] 关键行为差异

  • Claude Code Auto 连续 block 3 次会自动 fallback,可能错过真正危险的命令

实际场景示例

场景:每日批量 ETL 任务

Schedule 触发 → Auto mode → classifier 评估 → 通过 routine 操作 → 失败时 block + 通知

适合 Claude Code Auto + Schedule 组合。详见 Use case - 数据迁移Use case - 周报自动化

相关链接


子模块 5:Hybrid / 多模式(同一 session 内切换)

[!TIP] 本节要点:用户可在同一个 session 内用快捷键(Shift+Tab 等)循环切换 Plan / Act / Ask 等模式,无需重启 session。

定义

用户可在同一个 session 内用快捷键(Shift+Tab 等)循环切换 Plan / Act / Ask 等模式,无需重启 session。

典型实现

[官方支持] Claude Code

# 循环切换 mode
Shift+Tab  # Default → Plan → Accept Edits → Auto → Bypass

# 单次触发(只影响当前 turn,不等同于 defaultMode)
/plan 帮我看一下这个函数

# 配置文件锁定(整个 session)
# settings.json
{ "defaultMode": "plan" }      # 锁定为 Plan
{ "defaultMode": "acceptEdits" } # 锁定为 Accept Edits

/plan 单次触发只影响当前 turn,不锁定 mode。

资料:

[官方支持] Cursor

Shift+Tab 切换 Plan / Build。

资料:

跨 agent 实现差异

Agent切换方式可切换 mode锁定方式
Claude CodeShift+TabDefault / Plan / Accept Edits / Auto / Bypass / DontAskdefaultMode 配置
CursorShift+TabPlan / BuildUI 切换

选型建议

推荐场景推荐 agent
复杂 session 内频繁切换Claude Code(Shift+Tab + 配置)
IDE 内Cursor

注意事项

[!WARNING] 常见踩坑

  • 切换 mode 后需确认当前模式,避免误操作(从 Plan 切到 Act 后 agent 突然开始改文件)
  • 配置文件中的 defaultMode 修改后需重启 session 才生效

[!IMPORTANT] 关键行为差异

  • /plan 单次触发(只影响当前 turn)与 defaultMode: "plan" 配置(锁定整个 session)行为不同

实际场景示例

场景:同一个 session 内先规划后执行

用户输入"修一下 bug"
  → Shift+Tab 切 Plan
  → agent 出 plan
  → approve
  → Shift+Tab 切 Act
  → agent 执行
  → 完成

相关链接


子模块 6:Goal-driven(目标驱动)

[!TIP] 本节要点:用 /goal <condition> 触发一个独立的 evaluator model,session 持续工作直到 condition 满足。evaluator 每 turn 完重新 check。

定义

/goal <condition> 触发一个独立的 evaluator model,session 持续工作直到 condition 满足。evaluator 每 turn 完重新 check。

典型实现

[官方支持] Claude Code /goal <condition>

触发 evaluator(独立 model),session-wide 每 turn check。Claude 持续工作直到满足。

适合"明确通过标准"的任务。

# 持续跑到测试通过
/goal "所有 pytest 通过且无新增 lint error"

资料:

[官方支持] ChatGPT Agent Recurring automation

周期任务,如"每周一自动生成本周周报"。

资料:

跨 agent 实现差异

AgentGoal 实现退出条件文档
Claude Code/goal <condition> + evaluator条件满足anthropic.com
ChatGPT AgentRecurring automation周期触发chatgpt.com
DevinMulti-week mode任务完成或 3h timeoutdocs.devin.ai

选型建议

推荐场景推荐 agent
明确通过标准的任务Claude Code /goal
周期任务ChatGPT Agent Recurring
几天到几周的长跑Devin Multi-week

注意事项

[!WARNING] 常见踩坑

  • 目标描述应具体且可验证(如"所有测试通过"),避免模糊目标(如"代码质量更好")
  • Goal 与其它约束可能冲突(如"测试全过"与"5 个 commit 都 push")导致循环不收敛
  • evaluator 本身有 cost,长跑任务需监控 模块 7 - Monitoring
  • Recurring automation 失败时需明确处理策略(重试 / 通知 / 跳过)

实际场景示例

场景:CI 失败后自动修复

CI 失败
  → Webhook 触发 Claude Code session
  → /goal "所有测试通过"
  → agent 改代码 → 跑测试 → 不通过继续改 → 通过 → push

详见 Use case - PR review

相关链接


子模块 7:Headless / CI(无头模式)

[!TIP] 本节要点:单轮 prompt + 指定输出格式(text / json / stream-json),不进入交互,跑完即退出。适合 CI / pre-commit hook / 批处理。

定义

单轮 prompt + 指定输出格式(text / json / stream-json),不进入交互,跑完即退出。适合 CI / pre-commit hook / 批处理。

典型实现

[官方支持] Claude Code claude -p "..."

单轮 prompt + --output-format stream-json / json / text + --permission-mode + --model 等参数。

适合 CI / pre-commit hook。

# CI 集成示例
claude -p "分析最近 10 个 commit 的代码风格" \
  --output-format json \
  --permission-mode plan

资料:

[官方支持] Devin Devin API

通过 API 触发 session,接收 JSON 结果。POST /v1/sessions

资料:

跨 agent 实现差异

AgentHeadless 触发输出格式文档
Claude Codeclaude -p "..."text / json / stream-jsoncode.claude.com/docs/en/headless
DevinDevin APIJSONdocs.devin.ai/api-reference
ChatGPT AgentApps SDK webhookJSONplatform.openai.com

选型建议

推荐场景推荐 agent
CI / pre-commit hookClaude Code claude -p
程序化触发Devin API / ChatGPT Agent Apps SDK

注意事项

[!WARNING] 常见踩坑

  • Headless 模式无交互,出错只能靠 stderr / log 排查
  • CI 集成应配 --output-format json 便于解析结果
  • 长跑 Headless 任务需监控 模块 7 - Monitoring
  • stream-json 适合实时日志场景,json 适合结果解析场景

实际场景示例

场景:PR 提交时自动跑 agent 评估代码质量

# .github/workflows/code-review.yml
- name: Claude Code Review
  run: |
    claude -p "review 这个 PR 的代码质量" \
      --output-format json \
      --permission-mode plan

详见 Use case - PR review

相关链接


子模块 8:Take over / 接管

[!TIP] 本节要点:用户随时接管 agent 的手柄(terminal / 浏览器 / IDE),agent 退到旁观状态。

定义

用户随时接管 agent 的手柄(terminal / 浏览器 / IDE),agent 退到旁观状态。

典型实现

[官方支持] Claude Code Take over

接管 terminal,agent 旁观。

[官方支持] Devin Interactive Browser Take over

session 内 "Take over" 按钮,用户直接 run command / edit code,Devin 旁观。

[官方支持] ChatGPT Agent Take over

Operator 整合后,用户可在 web 任务运行时接管浏览器手柄。

[官方支持] Antigravity Computer Use Take over

接管 Google 浏览器,Computer Use 退到旁观。

跨 agent 实现差异

AgentTake over 实现适用场景文档
Claude Codeterminal 接管编码时手动改code.claude.com
DevinBrowser 接管按钮web 任务手动操作docs.devin.ai
ChatGPT AgentOperator 浏览器接管web 任务手动操作chatgpt.com/tools/agent
AntigravityComputer UseGoogle 浏览器antigravity.google/docs

选型建议

推荐场景推荐 agent
编码场景Claude Code terminal take over
web 任务Devin / ChatGPT Agent Browser take over
Google 生态Antigravity Computer Use take over

注意事项

[!WARNING] 常见踩坑

  • Take over 结束时应明确通知 agent(如"我改完了,继续你的任务"),避免 context 错位
  • Browser take over 期间网页状态变化后,agent 可能误判当前页面

[!IMPORTANT] 关键行为差异

  • Take over 后 agent 继续推 reasoning。若用户在 take over 期间已修改文件,agent 可能基于旧 context 做出错误判断
  • 详见 模块 8 - HITL 中的 Take over 介入点

实际场景示例

场景:agent 卡在某个网页表单,用户手动填一下

agent 跑 web 任务
  → 卡在登录
  → Take over 按钮
  → 用户手动登录
  → 通知 agent
  → agent 继续

详见 Use case - 开 Shopify 店

相关链接


子模块 9:Step-in / 打断

[!TIP] 本节要点:用户在 agent 执行中追加指令,agent 接收后调整方向继续,无需 cancel 整个 session。

定义

用户在 agent 执行中追加指令,agent 接收后调整方向继续,无需 cancel 整个 session。

典型实现

[官方支持] Claude Code

直接在对话窗口追加指令。agent 接收后调整 plan / 任务。

跨 agent 实现差异

AgentStep-in 方式限制
Claude Code对话窗口追加频繁打断可能截断 context
DevinSession 追加指令同上
ChatGPT Agent对话窗口追加同上

选型建议

推荐场景推荐 agent
需要调整方向但不想 cancel任何 agent 都支持

注意事项

[!WARNING] 常见踩坑

  • 打断时机有窗口限制。若 agent 已执行 destructive 操作(如删文件),追加指令无法撤销已发生的修改
  • 频繁打断可能导致 context 截断,agent 丢失之前的执行细节
  • 打断后建议用一句话总结当前状态,避免 agent context 错位

实际场景示例

场景:agent 在做长跑任务,中途发现要换方向

agent 跑数据迁移
  → 用户:"暂停,先把这个表跳过,优先另一个"
  → agent 调整

相关链接


子模块 10:Recurring / Schedule workflow(周期任务)

[!TIP] 本节要点:用户设定周期任务(每周 / 每天 / 每月自动跑),agent 平台定时启动 session 执行。

定义

用户设定周期任务(每周 / 每天 / 每月自动跑),agent 平台定时启动 session 执行。

典型实现

[官方支持] ChatGPT Agent Recurring automation

通用周期任务,如"每周一自动生成本周周报"。

[官方支持] Devin Scheduled dependency updates

定期更新依赖(Devin 自动)。

[官方支持] WorkBuddy Automation

iCal RRULE + Cron + 条件触发 + 多动作编排。

[官方支持] Agentforce Operations(2026)

企业级周期任务 + 后台自动化(80x 部署效率,Regrello 收购技术)。

跨 agent 实现差异

AgentRecurring 实现定时精度失败处理文档
ChatGPT AgentRecurring automation周/天配置决定chatgpt.com
DevinScheduled dependency updates配置通知docs.devin.ai
WorkBuddyiCal RRULE + Cron分钟级重试 + 通知codebuddy.cn
AgentforceOperations配置Atlas 监控salesforce.com

选型建议

推荐场景推荐 agent
通用周期任务ChatGPT Agent Recurring
代码周期更新Devin Scheduled dependency updates
国内云 + 精细时间控制WorkBuddy Automation
企业级 + 后台监控Agentforce Operations

注意事项

[!WARNING] 常见踩坑

  • 周期任务的失败处理需明确(失败重试 / 通知 / 跳过)
  • 多周期任务并发可能造成资源竞争,需配置任务锁或限流
  • 周期任务的输出应持久化存储,便于历史查询
  • 跨时区团队注意 schedule 触发时间

实际场景示例

场景:每日销售数据汇总 + 周报生成

每周一 09:00
  → ChatGPT Agent Recurring
  → 抓 Shopify / Amazon 数据
  → 生成周报
  → 邮件

详见 Use case - 周报自动化

相关链接


底层机制:为什么 plan mode 这么设计(借 Claude Code 源码 + Stage 5 视角)

本节补充原内容:前面的 7 段只讲了 plan mode "是什么 / 怎么用",这里讲"为什么这么设计 + 怎么实现的"。参考 Anthropic — Permission ModesStage 5.1 Claude Code 基础Stage 3 Tool use

4 种 Permission Mode(互斥,同一 session 只能一种)

Claude Code 官方定义 4 种 permission mode,plan mode 是其中之一。所有 agent 的"工作模式"本质上就是这 4 种的切换:

Mode行为适用场景风险
default所有写操作(Edit/Write/Bash 写)需用户批准默认安全网
acceptEditsEdit/Write 自动批准,Bash 仍需批准日常编码中(改文件可逆)
plan所有写工具被 PreToolUse hook 拦截,exit 2 = 挡下重要任务规划极低
bypassPermissions全部自动自动化 CI / Auto mode极高

核心 insight:plan mode 的"只读"不是 agent 变聪明了,而是 hook 在所有写工具调用前返回 exit code 2,等价于用户拒绝。这也是为什么 plan 模式可以让"用户经验不足的 agent"也安全使用——hook 是 LLM 之外的强制层,LLM 自己管不住自己。

切换方式:

# 循环切 4 种 mode
Shift+Tab

# CLI 启动时锁定
claude --permission-mode plan

# 单次触发(只影响当前 turn)
/plan 帮我重构这个模块

# 配置文件锁定(整个 session)
# settings.json
{ "defaultMode": "plan" }

Plan Subagent:独立 context 跑调研

plan 阶段,Claude Code 不会让主对话去读所有文件——会委派一个 Plan subagent 在独立 context 里跑:

主对话(只读,等用户决策)
    ↓ "开始 plan"
    ↓ 派遣 Plan subagent(独立 context window)

    ├─ 读文件 / 查 API / 跑只读命令
    ├─ 写 plan 到 ~/.claude/plans/<id>.md 或 .claude/plans/
    └─ 把 plan 摘要回主对话

主对话显示 5 选项让用户选

为什么用 subagent 而不是主对话直接做:

  1. context 隔离:Plan 阶段可能读几十个文件,如果在主对话里跑会污染主 context;subagent 跑完即扔
  2. plan 可追溯:plan 写到文件,用户可以 cat .claude/plans/<id>.md 看到 Claude 调研了哪些文件、得出什么结论
  3. plan 可编辑:按 Ctrl+G$EDITOR 中改 plan 文档,改完让 Claude 按修订版执行——人和 AI 共同编辑同一个 plan

5 选项审批(plan 完成后)

plan 文档写完后,Claude 弹出 5 个选项让用户选:

选项含义适用
Yes, and auto-accept edits通过,后续写操作全部自动批准信任 Claude 一次过
Yes, and manually approve edits通过,后续每步还是要确认想看每步细节
No, keep planning不通过,继续在 plan 模式觉得 plan 还不够
No, refine plan further不通过,Claude 改 plan知道哪里要改
Refine with Ultraplan浏览器中多人 review(Cursor)团队 plan 评审

4 阶段工作流(Anthropic 官方)

Explore   →  调研代码、读文件、查 API(在 Plan subagent 里跑)
Plan      →  写 plan 文档(目标、步骤、影响范围、验证方法)
Implement →  退出 plan,执行写操作(用户批准后)
Commit    →  git commit + 推 PR

跨框架对照:plan 是怎么被抽象的

框架/产品Plan 实现文件化?Subagent?可编辑?
Claude CodePlan subagent + plan 文件 + 5 选项.claude/plans/*.md✅ 独立 contextCtrl+G$EDITOR
Cursor.cursor/plans/*.md 持久化,跨 session 续用❌ 主对话内
DevinSession 内 "Show plan" 按钮❌ 内存
Agentforce业务规则脚本(类 JS)✅ Agent Script✅ 规则可改
LangGraph(Stage 4)Plan-Execute graph node pattern❌ state❌ node✅ graph 可重写
ReAct(Stage 3)Thought step 内含规划

关键差异:

  • Claude Code 把 plan 独立成 subagent + 文件化——可追溯、可协作、用户能编辑
  • LangGraph 把 plan 内嵌成 graph node——紧凑,但 plan 跟 state 混在一起
  • ReAct 的 plan 是 LLM 在 Thought 里临时写——无文件化、无 review 流程

对 use case 的影响:

  • 重要变更(生产数据迁移 / 删表 / 部署):用 Claude Code / Cursor——plan 文件化,可发给团队评审
  • 快速 prototype(Linus 自己的 side project):ReAct 足够——plan 不需要持久化
  • 业务规则强制(金融 / 医疗):Agentforce——plan 写成可审计的规则脚本
  • 生产 multi-agent:LangGraph——plan 是 graph 的一环,可跟其他 node 组合

ReAct vs Plan:不是非此即彼

很多文章把"Plan-then-Execute"和"ReAct(边想边做)"对立。其实 ReAct 的 Thought step 就是一次微 plan:

ReAct 单步:
  Thought: "我需要先查 city 人口,这是这一步的计划"
  Action:  call lookup_population("taipei")
  Observation: "2.6M"
  Thought: "好,现在算除法"   ← 这是下一步的微 plan
  Action:  call divide(...)
  ...

Plan mode 的价值是 把"几个 ReAct step"提前打包成文档,让用户先 review 再执行——本质是用确定性换安全,适合重要 + 不可逆 + 多步的任务。不重要 / 可逆 / 单步的任务,直接 ReAct 即可。

延伸:用 hook 强制 plan(不依赖 mode 切换)

如果业务上某些路径必须 plan,可以加 PreToolUse hook:

// .claude/settings.local.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write|MultiEdit"
        "hooks": [
          {
            "type": "command"
            "command": "if [[ $CLAUDE_TASK_TYPE == \"production-migration\" ]]; then echo 'production task — need plan first' >&2; exit 2; fi"
          }
        ]
      }
    ]
  }
}

这让"plan"成为任务级规则,不依赖 mode 切换——agent 在 production-migration 任务下任何写都会被挡,强制先出 plan。


选型决策(总)

场景推荐 mode代表 agent关键参数
重要的一次性任务(数据迁移 / 部署)Plan modeClaude Code / CursordefaultMode: "plan"
重复 routine 操作Auto modeClaude Code Auto / WorkBuddy AutoSonnet 4.6+
长跑任务(几小时到几天)Goal-driven + BackgroundClaude Code / Devin/goal "所有测试通过"
只想问问题Ask modeClaude Code / Cursor ChatShift+Tab 切 Ask
紧急自己上手Take overClaude Code / Devin / ChatGPT Agent"Take over" 按钮
周期任务(每周/每天自动跑)RecurringChatGPT Agent / Devin / WorkBuddyRRULE / Cron
CI / pre-commit hookHeadlessClaude Code -p--output-format json

建议

[!TIP] 实战建议(给新手 + 进阶用户)

  • 新手:从 Plan mode 起步,熟练后再切 Auto
  • 危险操作:rm -rf / force push / 删生产数据,用 模块 2 - Hook PreToolUse 拦截,不依赖 mode 兜底
  • 长跑任务:配 Goal-driven + 明确退出条件
  • CI 集成:用 Headless + --output-format json
  • Take over 结束:明确通知 agent,避免 context 错位
  • 细粒度控制:参考 模块 5 - Permission mode

延伸阅读

On this page

选型快查 (TL;DR)导览选型决策树(总)子模块展开子模块 1:Plan mode(规划模式)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 2:Act mode(执行模式)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 3:Ask mode(只回答不执行)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 4:Auto mode(自动分级授权)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 5:Hybrid / 多模式(同一 session 内切换)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 6:Goal-driven(目标驱动)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 7:Headless / CI(无头模式)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 8:Take over / 接管定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 9:Step-in / 打断定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接子模块 10:Recurring / Schedule workflow(周期任务)定义典型实现跨 agent 实现差异选型建议注意事项实际场景示例相关链接底层机制:为什么 plan mode 这么设计(借 Claude Code 源码 + Stage 5 视角)4 种 Permission Mode(互斥,同一 session 只能一种)Plan Subagent:独立 context 跑调研5 选项审批(plan 完成后)4 阶段工作流(Anthropic 官方)跨框架对照:plan 是怎么被抽象的ReAct vs Plan:不是非此即彼延伸:用 hook 强制 plan(不依赖 mode 切换)选型决策(总)建议延伸阅读相关模块相关 use case