Claude Code 团队协作工作流

Claude Code 团队协作工作流

我在团队中落地 Harness Engineering 的实践经验------从让 Agent 看得懂项目,到让一群人 + 一群 Agent 高效协作。


我的理解

Harness Engineering 的本质是一个闭环:约束 → 告知 → 验证 → 纠正。不需要一次搭完所有基础设施,渐进式落地就行。

但我读了十多篇文章、做完交叉分析后发现,大部分实操指南(包括我之前写的)都在解决"怎么让 Agent 干活",忽略了两个更关键的问题:

  1. 怎么知道 Agent 干对了------背压机制(lint、测试、CI)只能捕获结构性错误,行为正确性是盲区
  2. 怎么让团队协作不堵------PR 体积 +154%,评审时间 +91%,你加速的可能不是瓶颈

这篇文章是我把理论和实践交叉后重新整理的工作流。


我是怎么落地的

第一步:信息层(1-2 天)

让 Agent "看得懂"项目结构。

实践 我怎么做的
AGENTS.md 地图模式 控制在 50-100 行,"你想做什么→去哪里看"表格,硬性规则单独列出。本质是前馈------在 Agent 行动之前引导它
docs/ 结构化目录 architecture / conventions / design / plans / reference 五层,每篇加 front-matter 元信息
设计文档模板 含目标、非目标、技术方案、验收标准、Status 标记

踩过的坑:AGENTS.md 一开始写了 300 行,以为越详细越好。结果 Agent 的上下文被挤占,反而表现更差。后来砍到 80 行,详细内容全移到 docs/,效果好很多。

第二步:约束层(3-5 天)

让 Agent "不得不"写好代码。

实践 我怎么做的
分层架构 + Linter ESLint no-restricted-imports 锁死依赖方向;Python 用 import-linter
错误信息三要素 每条 Linter 报错包含:问题 + FIX 代码片段 + 文档链接。Agent 能自我纠正的关键就在这里
CI 管线 7 道门 类型检查 → Lint → 单元测试 → 覆盖率阈值 → 架构约束 → 文件大小 → 文档新鲜度
主观品味机械化 Code Review 中被提过 3 次以上的规则 → 写成 Linter 规则

踩过的坑:Linter 规则一次加太多,报错信息没给 FIX 片段,Agent 陷入"改了又错、错了又改"的死循环。后来逐条添加,每条都附带修复示例,问题消失。

第三步:自动化层(1-2 周)

让 Agent 自我验证和自我修复。

实践 我怎么做的
Git Worktree 隔离 创建独立分支验证,不污染主分支
后台清理 Agent 定时扫描:超长文件、缺失测试、未用 import、TODO/FIXME、重复代码、过时文档
可观测性接入 Loki + Prometheus + Grafana 轻量堆栈,Agent 排错时有据可查

交叉分析后发现的六个盲区

前三步解决的是"让 Agent 干活"。但深入研究后,我发现团队协作中还有六个更容易被忽视的问题。

1. 团队角色应该按"学派"分工,而不是按技术栈

大部分实操指南暗示所有人都在做同一件事------"搭 harness"。但读完全部文章后,我发现其实有四个完全不同的视角:

角色 应该侧重什么 具体做什么
Tech Lead / 架构师 控制论视角 设计前馈(AGENTS.md)和反馈(Linter/CI)的闭环,确保不缺腿
Senior Engineer 架构视角 保持 harness 可替换,避免对特定模型 overfit
DevOps / 平台工程师 约束视角 把 Code Review 中反复出现的规则写成 Linter
EM / PM 怀疑视角 定期质疑"这些约束真的在解决瓶颈吗?"

最危险的情况是整个团队都是约束派思维------不断加 linter,但没人问"这些 linter 真的在守卫正确的行为吗?"

2. Harness 有保质期------需要"园艺日"

三阶段落地不是一次性的。一个模型代际(3-6 个月)后,之前有效的 harness 组件可能变成死重。Anthropic 的时间线就是例子:V1 的 context reset 在 Opus 上变死重,V2 直接砍掉了 Sprint 合同。

我现在做的调整:

  • 每次模型大版本升级后,做一次 harness 压测------哪些规则还在承重?哪些已经是死重?
  • CI 中加了一条:Lint 规则连续 90 天未触发 → 自动创建 Issue 审查是否还有必要
  • 团队日历中固定了月度"Harness 园艺日"

3. 不是所有需求都应该走同一套验证

CI 七道门只能捕获结构性和回归性错误。对于"代码能编译和通过测试,但做错了事"的情况,整个体系没有可靠答案。

所以我开始给每个需求标注"可测试性等级":

工作类型 验证策略 例子
需求明确 + 可测试 CI 七道门足够 API 实现、CRUD、数据管道
需求明确 + 不可测试 Agent 做 + 关键节点人工审查 UI 设计、用户体验
需求模糊 + 不可测试 人主导 + Agent 辅助 架构决策、产品方向

不加这个分级,所有需求都走七道门,结果就是:可测试的需求验证充分,不可测试的需求也"看起来通过"了------但行为可能完全是错的。

4. 真正的瓶颈在评审和集成,不在编码

自动化层主要优化的是"Agent 产出代码的速度"。但数据很直接------PR 体积 +154%,评审时间 +91%。你加速的不是瓶颈。

我的调整:

  • 加了一层"Agent 辅助评审"------让另一个 Agent 先做结构审查(lint 通过吗?架构合规吗?测试覆盖了吗?),人类只审行为正确性
  • 显式跟踪评审等待时间------如果持续增长,说明需要加评审容量,而不是加更多编码 Agent
  • 引入"Agent 工作队列",避免多人在同一模块同时让 Agent 工作(集成冲突会指数级增长)

5. 每条 Linter 规则必须有对应的"设计意图"

信息层(AGENTS.md)是前馈,约束层(Linter)是反馈。它们必须配对:

复制代码
AGENTS.md 写了"依赖方向单向"(Guide/前馈)
        ↕ 必须 配对
ESLint `no-restricted-imports`(Sensor/反馈)

只有 Guide 没有 Sensor:Agent 看了规则但违反了也没人知道,规则白写。

只有 Sensor 没有 Guide:Agent 碰到报错但不知道为什么有这条规则,自我纠正效率低。

我现在加了一条硬规则:每条 Linter 规则必须能追溯到 AGENTS.md 或 docs/ 中的某一段设计意图。追溯不到的,要么补文档,要么删规则。

6. 工具选型要评估迁移成本

模型 post-training 阶段与特定 harness 共同训练,换工具后性能可能暴跌。Terminal Bench 数据:排名从 Top 5 掉到 Top 30。

所以我的选型策略是:

  • 把工具特定的配置(如 Claude Code 的 CLAUDE.md)和工具无关的约束(如架构规则、Linter)分层管理
  • 工具可以换,约束应该可移植
  • Phase 1(AGENTS.md + docs/)和 Phase 2(Linter + CI)天然是工具无关的,风险集中在 Phase 3 的自动化脚本------这些脚本有明确的抽象层,方便将来换工具

Agent 工具选型

我用过或调研过的工具:

工具 适合场景 我的评价
Claude Code 深度自主任务(6h+ 连续工作) 我的主力工具。长任务表现稳定,但迁移成本要注意
Aider 个人项目,终端党 轻量,适合快速迭代
Cline 小团队,Plan/Act 模式 Plan 阶段可视化做得好
OpenHands 团队级部署,Docker 沙箱隔离 安全隔离做得好,适合多人协作

参考资料

相关推荐
俊哥V2 小时前
每日 AI 研究简报 · 2026-05-13
人工智能·ai
HyperAI超神经2 小时前
在线教程丨单卡即可爆改,面壁智能等开源MiniCPM-V-4.6,1.3B端侧模型支持图像理解/视频理解/OCR/多轮多模态对话
人工智能·ai·ocr
不懂的浪漫2 小时前
从看清到理解:CNN、Transformer 与 RAG 背后的 AI 架构迁徙
ai·cnn·llm·transformer·rag
轻口味2 小时前
AI 时代全栈开发破局:TypeScript 生态实战,从入门到部署一站式通关
前端·mongodb·docker·ai·typescript·react·next.js
GHL2842710903 小时前
Coze智能体记忆变量、长期记忆、文件盒子
ai
俊哥V3 小时前
AI一周事件 · 2026年5月6日至5月12日
人工智能·ai
企业架构师老王3 小时前
开源还是商用?跨境电商自动运营Agent的选型对比与开发实践
人工智能·ai·开源·自动化
CODE202203183 小时前
promptfoo用例
ai
疯狂的石头czx3 小时前
AI高频词汇
ai