浏览 AI 知识库
Claude Code首次任务:限定目录、验证与撤销
Claude Code 第一次进入仓库时,任务边界比提示词长度更重要。限定目录、保留现有改动,并约定验证与撤销方式,才能知道它究竟改了什么。
沿完整工作流推进
前一阶段的可检查结果,是下一阶段的输入;中间证据不足时停在当前阶段。
一句“修一下登录”,可能让三个应用一起被改
Claude Code 第一次进入一个 monorepo,用户只说“修一下登录”。工具在三个应用里都搜索并改了同名组件,最后无法分清哪些改动属于本次任务。
- 目录与动作边界已复述
- 无关未提交改动保持原样
- 撤销本次改动不会影响别人工作
先确认这次任务的起点、边界和交付
| 需要确认 | 本例内容 |
|---|---|
| 现有材料 | 仓库含 `apps/web`、`apps/admin`、`packages/auth`;问题只在 web 登录页;当前工作区有 admin 的未提交改动。 |
| 不能越过的边界 | 允许读取依赖包,但只修改 web 登录页及其测试;不覆盖 admin 改动,不提交、不部署。 |
| 要交付的结果 | 第一次任务、diff 和回滚记录 |
从“确认终端与运行时”走到“验证并撤销”
| 当前阶段 | 实际处理 |
|---|---|
| 确认终端与运行时 | 记录系统、Shell、Node.js、Claude Code 版本和实际命令路径,避免旧版命令仍在 PATH 前面。 |
| 进入测试仓库并看状态 | 读取项目规则、README 和 Git 状态,区分已有改动与本次任务;不要授权扫描无关目录。 |
| 给出窄任务 | 限定一个问题、文件范围、不得执行的动作和验收命令,先让工具复述计划和风险。 |
| 审查权限请求 | 逐次判断读取、修改、网络、安装和命令是否为当前任务所需;高风险动作不因工具推荐而自动同意。 |
| 验证并撤销 | 检查 diff、运行测试,再实际恢复到起点,记录完整过程。 |
只修登录页一处错误提示,并要求最后恢复
交给 Claude Code
范围、禁止项和完成证据同时写清
任务:把登录页空密码提示从“登录失败”改为“请输入密码”。 允许读取:src/login/、tests/login/、package.json。 允许修改:src/login/validation.ts 和对应测试。 禁止:安装依赖、访问网络、修改锁文件、提交 Git、改其他文案。 开始前:读取项目规则和 git status,说明已有改动。 完成标准: 1. 空密码显示“请输入密码”; 2. 错误密码仍显示原提示; 3. 运行仓库已有的登录测试; 4. 展示 diff 和测试输出。 停止条件:真实源文件不在允许目录、需要新依赖、测试基线失败。完成后等我检查,不提交。
每次请求都要能回答为什么当前任务需要它
| 请求 | 是否批准 | 理由 | 替代动作 |
|---|---|---|---|
| 读取 src/login 和测试 | 批准 | 在任务范围内 | 无 |
| 运行已有 login 测试 | 批准 | 属于完成标准 | 先确认脚本内容 |
| npm install 新断言库 | 拒绝并停止 | 任务卡禁止新依赖 | 使用仓库现有断言 |
| 读取整个用户主目录 | 拒绝 | 与仓库任务无关 | 只读当前项目 |
| git commit | 拒绝 | 第一次演练只检查工作区 diff | 由用户决定是否提交 |
完成后的第一次任务、diff 和回滚记录
任务说明锁定目录与禁止动作;完成后 diff 只涉及 `apps/web` 两个文件,定向测试通过。交接记录保留修改前状态、命令、测试输出和撤销路径,未把 packages/auth 的候选问题顺手修改。
为什么“限定了目录,Agent 仍建议修改共享包”还不能交付
限定了目录,Agent 仍建议修改共享包
- 原因
- 根因可能在依赖,但修改授权没有扩大
- 怎么改
- 先报告证据和影响文件,等待明确扩大范围;不要把建议自动执行
