Skip to content

5.2 Claude Code 实践指南

引言:Harness 的六个入口

Claude Code 不只是"一个 AI 编程助手"——它是一个完整的 Harness 工程平台,提供了六个入口让你注入约束和控制。


六个 Harness 入口

入口作用典型场景
CLAUDE.md项目级指令文件,Agent 启动时自动加载编码规范、架构约定、禁止操作
Commands自定义斜杠命令,复用工作流/review/deploy/test
Hooks事件触发的自动化脚本Pre-commit 检查、Post-edit 验证
Skills可分享的能力模块代码审查、安全扫描、文档生成
MCP Servers外部工具和数据源的标准化接入数据库查询、API 调用、CI/CD
Permissions操作权限控制文件访问、命令执行、网络请求

起手三板斧

第一斧:写好 CLAUDE.md

CLAUDE.md 是最重要的 Harness 入口。每个项目都应该有一个。

markdown
# 项目约定
- 使用 TypeScript,禁止 any
- 测试框架:Vitest
- 提交信息格式:conventional commits
- 禁止修改 .env 文件
- 所有 API 调用必须经过 src/api/ 层

好的 CLAUDE.md 的特征:具体、可执行、不含歧义。不是"注意代码质量",而是"函数不超过 50 行"。

第二斧:配置 Hooks

Hooks 让你在关键节点自动执行检查,而不是依赖 Agent 自律。

常用 Hooks:

  • PreToolUse:Agent 调用工具前拦截(如禁止删除文件)
  • PostToolUse:Agent 调用工具后验证(如检查输出格式)
  • Notification:关键操作的通知(如生产环境变更告警)

第三斧:分层权限

不要全开也不要全锁——按风险等级分层授权。

  • 允许:读取源码、运行测试、查看日志
  • 确认:修改文件、安装依赖、创建分支
  • 禁止:删除生产数据、修改 CI 配置、推送 main 分支

诊断指南:问题出在哪一层?

当 Agent 出问题时,首先判断是上下文问题还是 Harness 层问题:

症状可能原因排查方向
Agent 反复犯同类错误CLAUDE.md 指令不够具体优化 CLAUDE.md
Agent 修改了不该改的文件权限控制缺失添加 Permission 规则
Agent 输出格式不对工具返回结构未约束添加输出校验 Hook
Agent 调用错误的工具工具描述不够清晰优化工具/MCP Server 描述
Agent 上下文丢失长任务中信息衰减检查上下文管理策略

反馈速度层级

越早发现问题,修复成本越低。 这是软件工程的铁律,对 Agent 同样适用。

层级延迟典型机制发现的问题
Hook毫秒级PreToolUse 拦截越权操作、非法参数
Pre-commit秒级Git hook 自动检查格式错误、类型错误
CI分钟级自动化流水线测试失败、构建错误
Review小时级人工或 Agent 审查逻辑错误、架构偏离

最佳实践

尽量把检查往左移。能在 Hook 拦截的,不要留到 Pre-commit;能在 Pre-commit 发现的,不要留到 CI。

每一个左移的检查点,都在为 Agent 缩小自由度——这正是 Harness 的本质。


本节小结

📌 本节核心要点

  • Claude Code 提供六个 Harness 入口:CLAUDE.md、Commands、Hooks、Skills、MCP Servers、Permissions
  • 起手三板斧:写好 CLAUDE.md → 配置 Hooks → 分层权限
  • 诊断问题时先区分上下文问题 vs Harness 层问题
  • 反馈越早越好:Hook(ms) → Pre-commit(s) → CI(min) → Review(hours)

思考题

  1. 你的 CLAUDE.md 目前写了什么?有没有"注意代码质量"这类无法执行的指令?
  2. 如果要给当前项目添加三个 Hook,你会选哪些事件?每个 Hook 做什么检查?
  3. 你的团队中,Agent 的反馈信号目前主要在哪一层?怎么向左移一层?

下一节预告

单个 Agent 的 Harness 建好了,多个 Agent 怎么协作?下一节谈多 Agent 协作模式。

下一节:多 Agent 协作