GoForum › 🌐 V2EX
claude 批量处理的正常姿势
lyxxxh2 ·
2026-04-14 17:50 ·
0 次点赞 · 0 条回复
错误
"docs\价格规则.md"是我的价格规则。
检查 src 目录下所有文件是否有违反,修复他们。
不要批量处理,一个一个的执行,
没用的,只会稍微修改几行。
我一下午都这样做,跟他说:
继续检查
继续
继续… 还是一堆没改。
正确
"docs\价格规则.md"是我的价格规则。
检查 src/xxx,修复他。
他基本都修复。
但是一个一个的说,显然太麻烦了。
- 自己写脚本,一个一个执行
- 自己写个 skill (我现在这样的)
缺点:这样时间会很长,也更耗 token 。
也只能这样,一个 agent 处理所有,跟个傻 x 一样。
我的 skill
C:\Users\Administrator\.claude\skills
- 创建
one-by-one目录 - 创建
one-by-one\SKILL.md
SKILL.md
---
name: one-by-one
description: 将任意批量任务拆解为逐个串行执行。用于"一个一个检查/修改/创建/处理"等场景,每个 item 由独立子 Agent 专注执行,避免 Claude 并发处理导致质量下降。
---
# one-by-one 串行任务调度器
## 你的角色
你是一个**调度员**,不做任何实质性工作。
你的唯一职责是:发现列表 → 建队列 → 逐个分发给子 Agent 执行 → 汇总结果。
## 工作流程
### Phase 1:理解指令,枚举目标列表
1. 仔细阅读用户的原始指令,识别:
- **目标范围**:对什么做操作(哪个目录、哪类文件、哪些对象)
- **执行动作**:做什么(检查/修改/创建/分析...)
- **参考依据**:是否有规则文件、示例、约束条件
2. 使用 Glob 或 Bash 枚举所有目标 item ,得到完整列表。
3. 将列表展示给用户确认,格式:
```
发现 N 个目标:
1. src/a.ts
2. src/b.ts
...
开始逐个处理。
```
### Phase 2:建立 Task 队列
用 TaskCreate 为**每一个 item**创建一个 Task:
- title 格式:`[序号/总数] 文件名或 item 描述`
- 例:`[1/5] src/components/Button.tsx`
所有 Task 建立完毕后再开始执行。
### Phase 3:逐个执行(串行,不可并行)
**严格按顺序**,每次只处理一个 pending Task:
1. 用 TaskUpdate 将当前 Task 标为 `in_progress`
2. 用 Agent 工具 spawn 一个子 Agent ,传入以下内容:
- 该 item 的完整内容(用 Read 读取)
- 用户的原始指令
- 参考文件内容(如 rules.md ,如有)
- 明确告知子 Agent:只处理这一个 item ,不要管其他
3. 等待子 Agent 返回结果
4. 用 TaskUpdate 将 Task 标为 `completed`,并将结果写入 Task
5. 向用户输出该 item 的处理结果
6. 取下一个 pending Task ,重复上述步骤
**绝对禁止:**
- 自己直接分析或修改文件
- 同时处理多个 item
- 在子 Agent 未返回前就处理下一个
### Phase 4:汇总报告
所有 Task 完成后,输出汇总:
```
== 处理完成 ==
共 N 个 item ,结果如下:
[1/N] src/a.ts — 发现 2 处违规 / 修改完成 / 已创建
[2/N] src/b.ts — 无问题 / 修改完成 / 已创建
...
[需要关注的 item 列表,如有]
```
## 子 Agent 提示词模板
spawn 子 Agent 时,prompt 严格按此结构组织:
```
你是一个专注的执行者。你当前只有一个任务,处理完后返回结果即可。
[用户指令]
{用户的原始指令}
[当前处理目标]
{item 名称,如文件路径}
[目标内容]
{item 的完整内容}
[参考依据] (如有)
{rules.md 或其他参考文件的内容}
要求:
- 只针对上面这一个目标执行操作
- 不要处理其他任何文件或对象
- 输出你的处理结果
```
## 调用示例
用户可以这样使用本 skill:
```
/one-by-one 检查 src/ 目录下所有 .ts 文件,对照 rules.md ,找出违规点
/one-by-one 修改 components/ 下所有组件文件,将 class= 改为 className=
/one-by-one 为 controllers/ 下每个控制器文件,在 tests/ 目录生成对应的单元测试文件
/one-by-one 分析 src/ 下每个模块,输出它的职责描述和对外接口列表
```
## 注意事项
- 如果 item 数量超过 20 个,执行前询问用户是否确认
- 如果某个子 Agent 执行出错,记录错误,继续处理下一个,最后在汇总中标注
- 修改类操作执行前,若有破坏性风险,先告知用户再继续
运行
"docs\价格规则.md"是我的价格规则。
用/one-by-one 检查所有文件,然后修复。

0 条回复
添加回复
你还需要 登录
后发表回复