GOOD: Parallel execution
2026-09-07 22:17:02作者:农烁颖Land
Launch 3 agents in parallel:
- Agent 1: Security analysis of auth module
- Agent 2: Performance review of cache system
- Agent 3: Type checking of utilities
First agent 1, then agent 2, then agent 3
解读这条规则,需要理解它的适用前提——「independent operations」。三个任务(认证模块安全分析、缓存系统性能审查、工具类类型检查)彼此没有数据依赖、不会改动同一批文件、结论互不引用,因此完全可以并发跑,让三个子 Agent 共享同一窗口期分别产出报告;若强行串行,总耗时为三者之和,且串行等待期间没有获得任何额外信息收益。
ECC 的实际工作流把这种 fan-out(扇出)模式工程化了。仓库中的 [workflows/orch-review.workflow.js](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/workflows/orch-review.workflow.js?utm_source=gitcode_repo_files#L1-L9) 描述了一个名为 `orch-review` 的 Claude Code workflow:其 Review 阶段定义为 **「one reviewer agent per dimension, in parallel」**——按维度并行启动多个 reviewer Agent,之后进入 Verify 阶段,对每条 CRITICAL/HIGH 发现做对抗性验证。该文件还内置了语言到专项 reviewer 的映射表(`LANGUAGE_REVIEWER`,见 [workflows/orch-review.workflow.js](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/workflows/orch-review.workflow.js?utm_source=gitcode_repo_files#L34-L50)),例如 `typescript/javascript → ecc:typescript-reviewer`、`python → ecc:python-reviewer`、`go → ecc:go-reviewer`、`rust → ecc:rust-reviewer`,与 `agents/` 目录实际存在的定义一一对应。
在实践中有几点边界值得遵守:
- **只对无依赖任务并行**。若任务 B 的输出是任务 A 的输入,则必须串行,否则会出现空跑或基于过期上下文的结果。
- **关注文件的写冲突**。多个 Agent 同时编辑同一文件可能相互覆盖;审查、分析、检索类只读任务天然适合并行,改造类任务应先做文件范围划分。
- **并行意味着更快的整体时延与更高的瞬时 token 消耗**,大规模扇出时需要考虑成本预算(ECC 本身也提供了 cost-tracking 类的技能与命令用于观测)。
## 五、多视角分析:为复杂问题拆分对抗性子角色
规则文档的最后一部分给出了另一条编排思想:**面对复杂问题时,拆出多个对立/互补视角的子角色,让它们从不同立场审视同一份材料**。原文列举的角色包括:
- **Factual reviewer**(事实核查者):核实结论与依据是否真实存在、来源是否可靠;
- **Senior engineer**(资深工程师):从工程经验角度评估方案可行性与实现质量;
- **Security expert**(安全专家):专门寻找漏洞、注入、越权等风险面;
- **Consistency reviewer**(一致性审查者):检查各部分的结论、术语、风格是否前后一致;
- **Redundancy checker**(冗余检查者):剔除重复内容与无效信息。
这一方法论的工程化产物遍布仓库。最典型的例证是 `agents/` 目录下的评审 Agent 家族:除通用 [code-reviewer](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/agents/code-reviewer.md?utm_source=gitcode_repo_files) 外,还按语言拆出了 go-reviewer、python-reviewer、typescript-reviewer、rust-reviewer、java-reviewer、cpp-reviewer、csharp-reviewer、fsharp-reviewer、kotlin-reviewer、php-reviewer、swift-reviewer、react-reviewer、flutter-reviewer、django-reviewer、fastapi-reviewer 等专项定义,并配套 `rules/` 下的分语言规则目录(如 [rules/golang](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/rules/golang?utm_source=gitcode_repo_files)、[rules/typescript](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/rules/typescript?utm_source=gitcode_repo_files)),形成「语言规则 + 语言评审 Agent」的双重约束。
此外,审查过程本身也内置了「对抗」机制:[agents/code-reviewer.md](https://gitcode.com/GitHub_Trending/ev/ECC/blob/22e8cf01d0b54719b3a49002fab2ccbda4ff5b9e/agents/code-reviewer.md?utm_source=gitcode_repo_files#L29-L50) 定义了 **Confidence-Based Filtering** 与 **Pre-Report Gate**——要求评审者只报告置信度 >80% 的真实问题,写每条发现前必须能回答「能否定位到具体文件行、能否描述具体失败模式、是否已读周边上下文、是否会误导决策」四个问题,否则降级或丢弃该发现。这正对应多视角分析中「Factual reviewer 防止臆断」的诉求:分角色不是为了堆砌意见,而是让每种意见都经过事实门槛。
对于 Agent 编排的落地,建议将其压缩为一道固定工序:**先让 planner/architect 从「设计与实现」视角产出方案,再让 tdd-guide 从「可测试性」视角补齐测试计划,随后让 code-reviewer 从「质量」视角、security-reviewer 从「安全」视角(提交前)审查改动**。多个视角各看各的,再合并去重,最终得到的结论覆盖度远高于单一大模型的单次输出。
## 六、Agent 定义的载体:frontmatter 驱动的能力声明
了解上述 Agent 的调用方式之后,有必要理解它们的「本体」——即 `agents/*.md` 文件为什么能被 Harness 正确识别。这类文件的元信息全部位于 YAML frontmatter:
```yaml
---
name: tdd-guide
description: Test-Driven Development specialist enforcing write-tests-first methodology. ...
tools: Read, Write, Edit, Bash, Grep
model: sonnet
---
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python07
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
最新内容推荐
Polars 惰性查询复用(Multiplexing):用 pl.collect_all 消除重复子计划的重复计算claude-howto 实战:逐条拆解 code-review-specialist 代码审查检查清单(安全 / 性能 / 质量 / 测试)Git Operationsawesome-copilot 仓库 gem-devops Agent 解读:多智能体 DevOps 执行者的职责边界、幂等工作流与 JSON 契约输出ClickHouse 性能结论判定规则:如何从 CI 噪声中识别真实回归与真实优化Cypress `@packages/stderr-filtering` 解析:用标签标记统一 stderr 错误日志,并把第三方输出过滤到 debug 流Bruno CLI 使用指南:用 `bru` 命令驱动 API 集合测试与 CI/CD 自动化深入解析 get-shit-done 的 Project Skills Discovery:执行前如何按需发现并应用项目级技能规则awesome-copilot 中的 gem-skill-creator:把验证过的 Agent 工作流封装为可移植 SKILL 的方法论DeepTutor v1.0.0-beta1 架构深度解读:从单体 RAG 导师到 Agent-Native 个性化学习平台的重构指南
项目优选
收起
deepin linux kernel
C
33
18
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
暂无描述
Markdown
898
5.82 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
921
1.84 K
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.8 K
1.02 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
596
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
519
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
391