Skip to content

10.3 Explore 探索专家(只读)

系列:Claude Code 完全指南 V2 · 第 10 篇


学习目标

  1. 陈述 Explore Agent 的 只读 语义:不得创建、修改、移动文件。
  2. 列举 Bash 允许的白名单命令(如 lsgit status)及设计原因。
  3. 设计适合派给 Explore 的任务描述模板,使父 Agent 能合并蒸馏结果。
  4. 对比 Explore 与 generalPurpose:何时必须强制只读以避免副作用。

生活类比:博物馆导览员

Explore 像导览员:可以带你走遍展厅、指给你看展品编号与动线,但不能触碰展品、更不能把展品换位置。代码库就是展馆:是本职工作,属于「布展队」(Worker)的事。


Explore 在蜂群中的位置


能力/限制总表

类别Explore 行为说明
读文件允许(通过 Read 等工具)核心能力
创建文件禁止只读模式硬约束
修改文件禁止同上
移动/重命名禁止同上
Bash lsgit status 等只读白名单rm -rf、防意外写
子 Agent禁止再 Task防递归(10.9)

典型用途清单

场景派 Explore 的价值父 Agent 下一步
新人接手仓库快速得到模块地图Plan 或 Worker 分阶段切入
Bug 定位前宽搜收敛相关文件集合明确行号后派 Worker
重命名影响分析列举引用点设计迁移顺序
合规审计只读不产生写审计噪音输出报告

任务描述模板(推荐给父 Agent)

markdown
Fork started — processing in background: Explore 只读任务

【目标】列出所有引用 `package auth``ValidateToken` 的位置。

【约束】
- 只读:不得创建/修改/移动任何文件。
- Bash 仅允许:ls、git status(如需)。

【输出格式】
1. 文件路径列表(按目录分组)
2. 每文件一行摘要:函数名或调用上下文
3. 若不确定,标注「需人工确认」而非猜测修改

统一前缀 Fork started — processing in background 用于 10.8 缓存优化


源码片段:Task 调用示例

json
{
  "tool": "Task",
  "subagent_type": "explore",
  "readonly": true,
  "model": "fast",
  "description": "Fork started — processing in background: 搜 ValidateToken",
  "prompt": "只读探索:…(粘贴上文模板)"
}

model: "fast" 为可选:宽搜类任务可用更快模型降低成本(以产品支持为准)。


Explore 不应做的事(反模式)

反模式后果修复
「顺手修一下格式」违反只读另开 Worker
运行 npm test可能非白名单/非预期交给 Verification 或 shell 专类
没有输出结构父 Agent 难以合并强制表格/Markdown 结构
猜测不存在路径误导后续标注置信度与搜索范围

与 Plan 的边界

维度ExplorePlan
重心在哪、有哪些怎么拆、风险是啥
典型工具搜索、目录、读片段读 + 结构化推理
产出清单、地图阶段、里程碑、回滚

正确流水线:Explore 给地图 → Plan 给路线图 → Worker 施工 → Verification 验收


深入:为何 Bash 收紧到 ls / git status?

  1. 最小权限:Explore 的目标是观测,不是操作环境
  2. 可复现git status 提供变更面快照,利于与 CI 对齐。
  3. 防偷懒:避免 Explore 用一行脚本「代替思考」,绕过结构化搜索。

父 Agent 合并 Explore 结果的检查表

  • [ ] 每条路径是否真实存在(抽样 Read 验证)
  • [ ] 是否混入了需要写操作才能验证的假设
  • [ ] 是否遗漏 测试目录 / 生成代码 目录(应要求 Explore 显式说明搜索范围)
  • [ ] 输出是否可直接转化为 Worker 派工单(路径 + 行号 + 期望)

案例简叙:「支付回调重复入账」

  1. Explore:只读列出 webhookledgeridempotency 相关文件与调用边。
  2. 父 Agent:从报告中圈定 internal/payment/webhook.go:120-180
  3. Worker:在圈定范围内实现幂等键校验。
  4. Verification:curl 重放 + 对抗性重复 POST。

若在步骤 1 就让 Explore「试着改一下」,会破坏证据链且可能违反工具策略。


小结

  • Explore = 只读 GPS不能动文件,Bash 白名单
  • 产出应结构化,便于父 Agent 派工Verification 对照。
  • Plan 分工:地图 vs 路线图

自测

  1. 为何 Explore 禁止 echo > file
  2. 给出两个适合 Explore 的任务标题(description)。
  3. Explore 输出中最重要的三列应是什么?

附录:Explore 输出字段示例(可复制)

文件路径行号范围符号/上下文备注
internal/auth/jwt.go45-78ParseToken核心解析
cmd/api/main.go12-30中间件挂载需与 Worker 对齐

上一节:10.2 六角色 · 下一节:10.4 Plan

本项目仅用于教育学习目的。Claude Code 源码版权归 Anthropic, PBC 所有。