Code Harness 介绍

张开发
2026/4/16 15:35:33 15 分钟阅读

分享文章

Code Harness 介绍
Code Harness代码约束 / 编排框架它是包裹在大模型LLM外面的一套 “操作系统”让 AI 从 “只会写代码” 变成 “能真正完成软件开发” 的智能体Coding AgentCoding Agent LLM (大脑) Code Harness (身体 规则)LLM (大脑)负责理解需求、构思逻辑、生成代码文本Code Harness (身体 规则)负责执行、验证、约束、管理是 AI 与现实世界文件、命令、测试、服务器的唯一接口没有 HarnessAI 只是个 “纸上谈兵” 的顾问有了 HarnessAI 才拥有读 / 写文件、执行命令、运行测试、搜索代码、修复错误的能力核心作用解决 AI 编程的致命痛点** hallucination幻觉**生成看似正确、实则无法运行的代码脱离上下文忘记项目架构、依赖、规范写出 “野代码”无法闭环写完代码不会自测、不会调试、不会修复不可控容易引入安全漏洞、违反代码规范Code Harness 五大核心组件上下文管理Context给 AI 喂项目结构、依赖、规范文档如 CLAUDE.md控制 AI 能看到哪些文件、哪些历史防止信息过载工具链Tools赋予 AI 读写文件、执行 Shell、Git 操作、运行测试、Lint 等能力质量闸门Quality Gates自动检查语法错误、测试通过率、代码规范、安全漏洞不达标则打回重写形成自动反馈循环架构约束Guardrails设定红线禁止使用特定 API、依赖方向、目录结构、技术栈确保 AI 产出符合工程标准不跑偏记忆与状态Memory记录开发进度、决策、问题支持长时间、多步骤的复杂项目开发两种常见形态内置 Harness产品自带代表Claude Code、GitHub Copilot Workspace、Cursor开箱即用内置了基础的工具、测试和约束。自定义 Harness用户搭建代表codeharness (npm CLI)、code-harness (GUI 工具)高级用户为特定项目 / 公司定制规则、工作流、自动化脚本最大化 AI 效率Code Harness 就是 AI 程序员的 “工作环境 工具箱 监工”是让 AI 代码真正落地、可用、可维护的关键工程化方案示例极简可用 Code Harness 模板直接复制当 CLAUDE.md# Code Harness Rules for Go Backend Project ## 1. Project Context - Language: Go 1.21 - Framework: Gin / Fiber (if used) - ORM: GORM - Log: zap/logs - Structure: handler - service - repo - entity - Env: local / test / prod ## 2. Guardrails (Hard Rules) - DO NOT modify go.mod unless explicitly told. - DO NOT delete or rename existing structs/functions without confirmation. - DO NOT use unsafe, cgo, or external binaries. - DO NOT write infinite loops or blocking code. - DO NOT commit secrets, keys, passwords into code. ## 3. Code Style - Use gofmt, goimports. - Error first, no naked returns. - Comment exported functions/structs. - Use meaningful variable names, no single letter. - Max function length: 80 lines. ## 4. File Structure Rules - /cmd: main entry - /internal: business logic - /internal/handler: HTTP handler - /internal/service: business logic - /internal/repo: DB operation - /internal/entity: DB model - /config: config loader - /pkg: reusable utils ## 5. Tool Permissions - Allowed: - Read all .go files - Run go build, go test, go vet - Git diff, git status - Create/move/edit files - Forbidden: - Run rm -rf / - Modify system files - Run unknown scripts ## 6. Workflow 1. Understand requirement 2. List affected files 3. Write code 4. Run go vet / go test 5. Fix errors 6. Output final diffCLAUDE.md 是啥是给 AI 看的 “项目说明书 行为准则 工作流程”把它放在项目根目录Claude / Cursor 这类 AI 会自动读取并严格遵守它属于前面说的 Code Harness 的一种落地形式人类写规则AI 自动遵守不用你每次重复提醒比如项目里放一个 CLAUDE.md内容比如# Project: Go 人群圈选服务 - Language: Go 1.22 - ORM: GORM - Structure: handler / service / repo / entity - Do NOT change table schema - Do NOT use global variables - Always check error - Always log with logs.CtxInfo/CtxError下次让 AI 写代码它会自动遵守这套规则写出和你团队风格一致的代码告诉 AI 你的项目是什么语言、框架、目录结构、依赖、架构风格给 AI 定规矩Guardrails不能改哪些文件不能用哪些库不能删代码、不能乱加依赖必须写注释、必须处理错误必须符合你们团队规范规定 AI 该怎么干活先理解需求再列修改点再写代码最后自测、格式化、出 diff避免 AI 乱写、瞎改、幻觉没有 CLAUDE.mdAI 经常按它自己的习惯乱改架构加一堆你不用的依赖写出不符合团队规范的代码甚至删老代码、改配置CLAUDE.md 和 skill.md 区别CLAUDE.md 本质上就是项目级的 skill.md/instructions.md只是名字和场景不一样同一个东西只是放的位置不同skill.md给个人助手用的技能说明 → 你告诉 AI你擅长什么、怎么回答、风格是什么CLAUDE.md给AI 编程助手用的项目规则说明书 → 你告诉 AI项目架构、规范、禁止事项、工作流程功能完全一样给 AI 设定行为规则固定输出风格限制不能做什么定义专业领域知识避免 AI 乱发挥、幻觉、跑偏唯一区别CLAUDE.md 项目级的 skill.md专门管写代码之前用 skill.md 是教 AI “怎么说话”现在用 CLAUDE.md 是教 AI “怎么写你们项目的代码”go vetgo vet Go 语言自带的【代码错误检查工具】它不编译、不运行只静态扫描代码找出那些「能编译过、但一定有 bug」的问题能查出什么循环中误用 goroutine经典坑格式化字符串错误Printf 占位符不匹配无用赋值写了变量没使用错误的 error 处理并发 / 锁问题结构体 tag 写错不可能的条件判断这些问题编译器不报错但线上一定会出问题go vet 专门抓这种怎么用# 检查当前包go vet# 检查整个项目go vet ./...go vet Go 代码的「体检工具」专门抓编译器发现不了的隐形 bug

更多文章