Skip to content

Latest commit

 

History

History
286 lines (213 loc) · 11.3 KB

Harness - 子知识 - CSC团队方案对比分析.md

File metadata and controls

286 lines (213 loc) · 11.3 KB
栏目 Harness
层级 子知识
描述 CSC团队方案对比分析
status success
时间戳 2026-04-11
摘要 对比 CSC 冯梦琦团队的 Harness 探索方案与本方案的异同,含三大核心差异、Hook 机制专项分析、CSC方案定位判断
关键词
CSC
对比分析
Research Agent
Review Agent
多模型路由
Log-opt
Hook
Claude Code Hooks
父文档 Harness - 索引 - 总览

CSC 团队方案对比分析

原文:https://docs.corp.kuaishou.com/d/home/fcADhKMIO1vZFQ-b4fk8l_Wbd 作者:冯梦琦(CSC 系统研发组) 分析立场:以本方案为底层不动摇,只提取可学习的设计点


一、三层嵌套关系的视角

CSC 文档引用的一张图值得记录:

Prompt Engineering ⊂ Context Engineering ⊂ Harness Engineering
      指令设计                上下文设计              系统工程
      措辞优化                信息架构              约束机制
      角色设置                策略搜索              反馈回路
      格式约束                记忆管理              工作流控制

与本方案的共识:Harness 不是 Prompt,是更外层的「系统工程」——CI/CD 集成、质量管理、可观测性。这和本方案「文件是唯一真相来源 + git 是最后裁判」的理念一致。


二、本方案 vs CSC 方案:核心差异对比

维度 本方案 CSC 方案 差异点
驱动方式 纯 Skill(Agent 自主读文件推进) Ralph 循环 + 脚本编排 CSC 倾向外部脚本控制,本方案 Agent 自驱动
状态管理 harness.yaml + feature.csv progress.md(类 Ralph) 本方案更结构化(YAML vs 自然语言)
记忆体系 三级命名文档 + frontmatter 检索 技能库 + 配置类 skill 本方案更系统化,有明确分层
任务拆分 feature.csv(ID/AC/Memory 字段) plan.md + 子任务拆分 本方案任务粒度更细,有 AC 验收机制
测试闭环 单元测试套件(S001-S008 已跑通) Log-opt Agent + test agent CSC 有完整 log 驱动测试体系,本方案偏弱
人工介入 hitl_level 字段(0/1/2 三档) Research→Planning→Implementation 三段 HITL 设计理念一致,实现路径不同
多 Agent subAgent 自主调度(已落地) 分工明确(Research/Plan/Review/Code 四角) CSC 角色更分明,职责边界更清晰

三、可以学习的 4 个设计点

设计点 1:Research Agent(最有价值)

CSC 的设计:

Research Agent 先做 POC/可行性调研,实时探索最新代码信息,不依赖各个层级的记忆文档。

为什么值得学:

  • 本方案当前的「plan.md Pattern」直接从 PRD 跳到方案设计,中间缺少「代码现状探索」步骤
  • 对于复杂任务,Agent 在没有 Research 阶段的情况下,设计出来的方案容易与现有代码脱节
  • CSC 强调「不依赖记忆文档,实时探索」——这正是 Research 的核心价值:不受历史偏见影响

如何集成到本方案:

当前生命周期:
  PRD → [节点1 方案讨论] → DEMO → ...

改进后:
  PRD → [节点0 Research] → [节点1 方案讨论] → DEMO → ...
           ↓
       实时读代码(不走记忆文档)
       产出:research.md(代码现状 + 可行性判断)
           ↓
       注入节点1的 Memory 列(ref 前缀)

新增 Pattern:research.md

  • 输入:PRD 摘要 + 目标文件列表
  • 工具:read_file / search_file / grep(Research 阶段允许 grep!)
  • 输出:研究 - 细节 - xxx调研.md
  • 注意:Research 阶段不写 feature.csv,只产出调研文档

设计点 2:Review Agent(审查分离)

CSC 的设计:

Review Agent 做交叉验证:计划完成度、无 bug、设计有无不合理。 模型路由:先 sonnet4.6、后 gpt5.4 / gpt5.3 codex,最后 sonnet 收尾。 「只说不做,直接修还是 Claude」

为什么值得学:

  • 本方案当前的 AC 验收是同一个 Agent 自己验证自己——存在「裁判+运动员」问题
  • CSC 用不同模型来 Review,避免同一个模型的思维盲点
  • 「只说不做」是关键设计:Review Agent 只输出问题列表,不直接修代码

如何集成到本方案:

  • 在 feature.csv 加一个字段:Reviewer(可选,指定 Review 模型)
  • 高 hitl_level 任务完成后,自动触发 Review subAgent
  • Review 的产出写入「日志 - 细节 - D00x-review结论.md」

设计点 3:Log-opt Agent(测试闭环)

CSC 的设计:

日志契约驱动的 AI 自测体系:通过日志格式约束来验证代码行为。

为什么值得学:

  • 本方案的测试目前只有「单元测试套件」(验证 Harness 体系本身),没有验证业务代码正确性的机制
  • Log 驱动测试是轻量的:不需要复杂的 mock,只需要关键行为有日志输出,Agent 检查日志是否符合约定格式
  • 对于「是否真正执行了」这类问题,日志契约比静态代码分析更可靠

如何集成到本方案(轻量级版本):

任务 D00x 完成后,加入一步:
  1. 运行代码(如 yarn start)
  2. 触发目标操作
  3. browser_agent 或 Playwright 脚本抓取控制台日志
  4. 检查日志是否包含约定的 key 字符串
  5. 通过 → AC 验收通过;不通过 → 触发修复循环

设计点 4:多模型路由(模型路由)

CSC 的设计:

开发:Claude sonnet
Review:sonnet → gpt5.4 → gpt5.3 codex → sonnet 收尾
目的:不同模型 Review,避免同一模型思维盲点

为什么值得学:

  • 目前本方案所有环节都用同一个模型
  • Review 阶段换模型的成本很低(只是输入 prompt + 产出,不需要工具)
  • 「用更便宜的模型做 Research,用更强的模型做 Review」是合理的成本分配

如何集成到本方案:

  • 在 feature.csv 新增可选字段:Model(默认空,空则用当前模型)
  • Model=review 触发时,提示用户切换到 o3/gpt4 等做 Review

四、不需要学的部分

CSC 设计 原因不采用
Ralph 循环脚本 本方案已确认纯 Skill 路线,Bootstrap 脚本复杂度高收益低
progress.md(自然语言进度) 本方案 harness.yaml + feature.csv 更结构化,可机器读取
环境初始化 agent 本方案工作区已就绪,不需要环境初始化这一层
钩子/中间件探索 CSC 还在探索阶段,本方案优先验证核心流程

五、行动项

优先级 行动 对应设计点
P0 新增 research.md Pattern 设计点 1
P1 在 feature.csv 加 Review 机制 设计点 2
P2 在 frontend demo 任务加 Log 契约验证步骤 设计点 3
P2 探索 Review 阶段多模型路由 设计点 4

六、总结

CSC 方案和本方案的底层认知完全一致:Harness 是系统工程,不是 Prompt 技巧。

最大的差异在于执行路径:

  • CSC 走「脚本编排 + 多人分工」
  • 本方案走「纯 Skill + Agent 自驱动」

两者各有适用场景。CSC 适合团队协作,多人可以分别负责不同 Agent;本方案适合个人高效迭代,单人可以跑完整个生命周期。

最值得借鉴的一句话(CSC 文档 Research Agent 说明):

「不依赖各个层级的记忆文档,实时探索最新代码信息」

这恰好补了本方案一个盲点:记忆文档是对过去的积累,Research 需要对现在的探索。两者不能互相替代。


七、深度讨论补充(2026-04-11)

7.1 定位关系:本方案是 CSC 方案的支柱

经过深度讨论,得出更精准的定位:

CSC 目标架构(空中楼阁):
  Research Agent → Plan Agent → Code Agent × N → Review Agent
                                     ↓
                           Log-opt Agent + Test Agent
        ↑
  这一切依赖什么支撑?
  = 状态管理 / 任务拆分 / 记忆检索 / AC 验收 / HITL 控制 / git 裁判
  = 本方案已经解决的问题

本方案(地基与支柱):
  feature.csv + 三级命名文档 + frontmatter AC + hitl_level + git

CSC 文档表格中大量「暂无额外需求」「后续规划」「探索中」,不是他们不需要,是还没想清楚怎么做。本方案已经跑完 S001-S008 边界测试,修复 10 个缺陷,成熟度差了至少两个版本。

7.2 实现路线对比

维度 本方案 CSC 方案
实现路线 纯 Skill(Prompt 驱动,Agent 自驱动) PocketFlow 风格(脚本编排 + 多 Agent 分工)
验证周期 天级(Prompt 改完即可跑) 周级(需要写编排脚本)
适用规模 个人单兵 团队协作
理论完整度 已验证(含缺陷修复记录) 探索阶段

一句话总结:本方案是 CSC 所描述的 Harness 理想架构的「快速验证版本」,两者目标一致,路径不同。


7.3 Hook 机制专项分析

CSC 文档里的 hook 是什么

CSC 文档中 hook 仅有一张聊天截图,内容是:

「咱们支持 hooks 了吗?也能直接读 claude code 的 hooks 配置?」 回复:「支持了 今天发版」

即 CSC 关注的是 Claude Code 官方 Hooks 机制,是 codeFlicker 平台层面的能力支持问题,不是设计层面的创新。

Claude Code Hooks 是什么

类比 git hooks,Claude Code 在 Agent 行为生命周期的特定时机触发外部脚本:

git hooks 触发点:          Claude Code Hooks 触发点:
  pre-commit                  PreToolUse    (工具调用前)
  post-commit                 PostToolUse   (工具调用后)
  pre-push                    Stop          (Agent 停止前)
  commit-msg                  Notification  (有通知时)
                              SubagentStop  (subAgent 停止前)

配置方式(.claude/settings.json):

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write",
        "hooks": [{ "type": "command", "command": "eslint --fix $CLAUDE_TOOL_INPUT_PATH" }]
      }
    ]
  }
}

Hook 与本方案的关系

场景 本方案现状 Hook 能提供什么
写完代码自动 lint Pattern 里写提醒,Agent 自觉执行 PostToolUse → 强制跑 lint,100% 触发
危险命令拦截 hitl_level 任务级控制 PreToolUse → 工具层白名单,不经过 LLM
任务结束自动 git commit HARNESS.md 规则要求 Agent 做 Stop → 强制兜底,Agent 忘了也能跑
Obsidian 同步 手动跑 S008 PostToolUse → 写文件后自动 sync

本质差异:

Prompt 规则 → Agent 有时会忘 / 理解偏差 / 被任务内容分心(软约束)
Hook       → 100% 触发,不经过 LLM,纯脚本(硬约束)

当前结论

Hook 对 CSC 的脚本编排路线是必要胶水(各 Agent 之间的信息传递依赖 hook 串联)。

对本方案是可选加固层——本方案通过文件 + Prompt 规则已经实现了大部分 hook 的效果,但 hook 可以把「Agent 自觉」升级为「工具层强制」,提升可靠性。

是否融入本方案:待后续讨论,目前不急,优先跑完 D001-D008 验证核心流程。