跳转到主要内容

WRITING

如何构建企业级 Claude Code Harness 体系

2026年4月13日5 分钟阅读曾田力
AILLMClaude开发工具自动化
如何构建企业级 Claude Code Harness 体系

为什么需要 Harness Engineering

Claude Code 原生是一个强大的 AI 对话工具,但直接使用存在几个问题:

  1. 上下文丢失:每次新会话都从零开始,需要重新解释项目背景
  2. 操作重复:相同的工作流每次手动描述,效率低下
  3. 质量不稳定:没有标准化的流程,输出质量取决于 prompt 质量
  4. 知识孤岛:会话之间的经验无法传递

Harness Engineering 就是解决这些问题的系统化方法——把 AI 对话能力封装为可复用、可管理、可扩展的工程基础设施。

架构设计

三层体系

Claude Code harness 五组件分层架构:Commands、Skills、Hooks、Memory、MCP,从用户触发到外部集成
五个组件各守一层:Commands/Skills 承接触发,Hooks 自动化生命周期,Memory 让经验跨会话存活,MCP 打通外部系统——上下文丢失、操作重复、知识孤岛被逐层消解。

Commands:标准化操作

Commands 是最直接的交互层。每个 command 是一个 markdown 文件,定义了完整的 prompt、输入输出规范和约束条件。

按领域组织:

  • 文档处理 (8):draft、review、fix-refs、fix-heading、md2word、review-deep、edit-docx、fix-numbering
  • 项目管理 (7):ship、deploy、audit、promote、groom、health、tidy
  • 系统工具 (5):scan、recap、handoff、context、harness

设计原则:

  • 单一职责:每个 command 做一件事
  • 可组合:groom = pull + audit + fix + review + ship
  • 幂等性:重复执行不会产生副作用

Skills:智能激活

Skills 比 commands 更高级——它们带有触发条件,在匹配场景时自动激活。

# 示例:bid skill
name: 标书撰写
trigger: "当处理 ~/Work/bids/ 下的标书项目时"
phases: [解析招标文件, 搭建章节框架, 盘点参考资料, 四阶段写作]

关键 skills:

  • context:项目上下文注入(识别项目类型,加载相关配置)
  • migrate:Python/Streamlit → Tauri 迁移(自动分析计算逻辑,生成 Rust + React 代码)
  • harness:配置脚手架生成(根据项目性质自动生成 CLAUDE.md + skills)

Hooks:生命周期自动化

Hooks 在特定事件触发时自动执行:

  • startup:检测 HANDOFF.md,自动加载上次会话的上下文
  • session-reflect:会话结束时分析本次工作,生成摘要,发送 macOS 通知
  • pre-commit:代码提交前的质量检查

Memory:跨会话记忆

结构化的记忆系统,分为四种类型:

四类记忆 user/feedback/project/reference 按谁写入、何时被读、生命周期对照
四类记忆各管一段:user 画像与 feedback 校准长期沉淀,project 动态随项目过期,reference 只存外部指针——配合自动过期清理,记忆库不会越长越脏。
类型用途示例
user用户画像"深度 Go 经验,React 新手"
feedback行为校准"commit+push 一步到位"
project项目动态"merge freeze 3月5日开始"
reference外部指针"pipeline bugs 在 Linear INGEST 项目"

每条记忆是独立的 md 文件,MEMORY.md 作为索引。系统自动检测过期记忆并清理。

MCP 集成

通过 Model Context Protocol 连接外部系统:

  • cclog:512+ 历史会话的搜索与分析
  • gmail:邮件读写(用于 briefing 系统)

工程化实践

Skill 分发

所有 skills 集中在 cc-configs 仓库管理,通过 sync 机制一键分发到所有项目:

skills 集中在 cc-configs 中央仓,经 skill_sync.py 一对多分发到各项目的 .claude/ 目录
skills 只在 cc-configs 一处维护,skill_sync.py 一键分发到所有项目——每个 .claude/ 都是派生副本,改一处、同步一次,全部项目同时升级,配置漂移无从发生。
# 检查所有项目的 skill 配置状态
python3 ~/Dev/devtools/scripts/tools/skill_sync.py status

# 同步到指定项目
python3 ~/Dev/devtools/scripts/tools/skill_sync.py sync hydro-toolkit

会话管理

cclog MCP 提供完整的会话生命周期管理:

  • search_sessions:按关键词搜索历史会话
  • get_session_detail:获取会话完整上下文
  • get_daily_digest:生成每日工作摘要

Dashboard 监控

dashboard.tianli.cyou 可视化展示:

  • 所有 repo 的 skill 配置状态
  • 最近的任务和进度
  • 系统健康状况

效果

这套体系让我一个人能够:

  • 管理 29 个 GitHub 仓库
  • 维护 24 个线上服务
  • 每天产出高质量的技术文档
  • 在水利、DevTools、AI 三个领域并行工作
一人管理面:29 个 GitHub 仓库、24 个线上服务、3 个并行领域
一个人 + 一套 harness:29 个仓库、24 个线上服务、水利/DevTools/AI 三个领域并行——核心不是「会用 AI」,而是把 AI 做成了生产级工具链。

核心价值不是"会用 AI",而是"把 AI 做成了生产级工具链"。

订阅

新文章都先发在这里。用 RSS 订阅: /feed.xml

作者

曾田力

水利工程师。在这里写 AI 方法论、投资日复盘和工程实践。

这篇写错了、写漏了,或者你有别的想法?