HangYu8123/HarnessFlow
Harness coding workflow for codex, claude, github copilot
HarnessFlow – 可移植的 AI 编码工作流包
是什么 – 一组可直接复制的 Markdown 文件,将 Claude Code、Codex CLI 或 GitHub Copilot 转变为多步骤、自我审查的编码助手。该仓库本身不包含任何可执行代码;它仅提供目标 AI 工具从仓库中读取的 指令模板、代理定义 和 工作流文件。
核心理念
- 请求驱动 – 除非你粘贴来自
request_template/的已填写模板(例如code_request_template.md),否则不会执行任何操作。 - 并行分析 – 三个子代理(Focus、Broad、Free)读取代码库,然后由“高级工程师”综合生成计划。
- 自我挑战 – 在编写任何代码之前,通过“魔鬼辩护者”步骤对计划进行压力测试。
- QA 与审批 – QA 工程师验证变更;你可以添加审批门禁。
- 持久化仓库记忆 – 结果存储在
repo_info/中,使后续请求能基于上下文启动,而非重新推导。 - 三种工作流模式 –
general(全面)、fast(高效)、skill(使用社区审核的技能)。
支持平台
| 平台 | 安装脚本创建的入口点 |
|---|---|
| Claude Code CLI | 仓库根目录的 CLAUDE.md |
| Codex CLI / VS Code 中的 Codex | 仓库根目录的 AGENTS.md |
| VS Code + GitHub Copilot | .github/copilot-instructions.md |
| 其他基于 LLM 的助手(如 Aider) | 手动引用工作流文件 |
安装方法
- 将仓库克隆到某处,并将其内容复制到目标仓库的
.github/HarnessFlow/目录下(README 提供了rsync命令,可排除repo_info/和基准测试产物等内部文件)。 - 运行相应的设置脚本:
脚本会生成路由器文件(# 用于 Claude 或 Codex CLI bash .github/HarnessFlow/cli_setup.sh # 用于 VS Code + Copilot bash .github/HarnessFlow/setup.shCLAUDE.md、AGENTS.md、.github/copilot-instructions.md),并创建空的repo_info/文件。
开始使用
- 初始化仓库记忆 – 复制
request_template/initialize_request_template.md,填写占位符,然后粘贴到你的 AI 助手中。这将把代码库概览填充到repo_info/中。 - 提交任务 – 选择合适的模板(如
code_request_template.md、debug_request_template.md、pr_request_template.md),编辑任务描述,然后粘贴整个文件。mode:头部选择工作流家族(fast为默认;如需可切换至general或skill)。
你可以让它做什么 – 九种请求类型,每种都有自己的工作流文件:
- 实现新功能
- 重构现有代码
- 调试失败
- 回答问题 / 生成文档
- 执行正确性检查 / 测试
- 执行脚本或命令并验证结果
- 将大变更拆分为堆叠的 PR
- 启动或重新初始化仓库记忆
- 循环执行任务直到满足条件
基准测试(仓库中报告的结果)
- Ponytail 基准测试(5 任务代码生成套件) – HarnessFlow-Fast 在保持 100% 正确性(45/45 通过)的同时,相比裸模型减少了 34–76% 的生成代码行数。其表现优于
fastworkflow基线,后者代码量多出 1.6–3.4 倍且正确性更低。 - Fast vs. General – 在一个 1,000 行的 OpenCV+scikit-learn 项目和 SWE-bench 的 bug 修复任务中,
fast工作流在仅使用general39–50% 的 token 预算的情况下,实现了相同的成功结果,并生成了最精简的代码(860 行 vs. 1,173 行)。 - 详细日志和方法论存储在
experiment/、experiment_swe/和experiment_ponytail/中(源仓库中被 git 忽略)。
仓库结构(概览)
.github/HarnessFlow/
├─ AGENTS.md / CLAUDE.md # 生成的路由器
├─ copilot-instructions.md # VS Code Copilot 路由器
├─ cli_setup.sh / setup.sh # 安装脚本
├─ sync_agent_definitions.py # 重新生成原生代理文件
├─ _lib/ # 共享契约、安全规则、工具
├─ philosophy/ # 代理行为指导
├─ workflow/ # 三种家族:general、fast、skill
├─ agents/ # 源代理定义(MD/TOML)
├─ request_template/ # 用户端模板
├─ skills/ # 社区投票的技能定义(用于 skill 模式)
└─ repo_info/ # 生成的记忆文件(git 忽略)
为何重要 – 通过将编排逻辑外部化为纯 Markdown,HarnessFlow 可与任何能够读取仓库本地指令文件的 AI 编码助手兼容。它为开发者提供了一个可重复、可审计的流程(规划 → 自我挑战 → QA → 记忆),无需额外运行时或包安装。
以上所有信息均直接来自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目