• 让 AI 更顺利,更完美的完成你的任务需求,持续靠谱的完成整个任务
  • 怎么让AI持续靠谱的干完一整件事
  • Agent = 模型 + Harness

Harness 是什么?

Harness这个词翻译过来就是「马具」。如果把AI模型比作一匹马,那Harness就是你驾驭这匹马所需要的一切,比如缰绳、路线规划、围栏等等。
我们要做的,就是怎么让这匹马跑得更快、更稳,顺利完成任务。具体来说,Harness就是围绕AI模型搭建的一整套工作环境和工作流程。你给AI写的项目规则文件、配置的各种工具、安排的任务拆分和执行顺序、设计的测试检查流程,这些统统都算Harness。

Harness的五个核心模块

1、上下文架构:让 AI了解项目背景和规矩

AGENTS.md 规则文件、分层文档、上下文压缩、渐进式加载

做项目的第一步是什么?

当然是了解需求、项目背景和开发规范。用AI做项目也一样,你得把这些信息喂给它。我们可以写AGENTS.md这样的规则文件,告诉AI这个项目用什么技术栈、遵循什么代码规范、有哪些禁止事项。这跟我们传统做项目时写需求文档、方案设计文档是一样的。

xMAiW6CkWLiC23mS

2、执行能力:给 AI 装上手脚和工具

工具调用、Bash终端、文件系统、MCP、Browser User、Skills技能包

AI模型本身只能输出文本。如果想让AI真正开发项目,就得通过工具调用让它具备操作电脑的能力。比如给它配一个终端环境来执行命令、给它文件系统来读写代码、给它浏览器来测试网页。

EQ5Io8Hda8fhTEFU

3、任务编排:给AI安排好工作计划

Plan Mode、任务分、增量开发、文档沉淀、SubAgents并行执行

如果你丢给AI一个大需求,它可能会尝试一把梭全部搞定。但AI的上下文空间是有限的,可能开发到一半信息就装不下了,前面定好的方案和约束慢慢被冲淡,最后留下一堆跑不起来的渣渣代码。

怎么解决这个问题呢?

最基本的做法就是把大任务拆成小任务,每次只做一个功能点。在开始之前可以先用PlanMode计划模式让AI出方案,人工确认后再动手写代码。

每做完一个功能,最好都沉淀一下文档,包括当前实现了哪些功能、用了什么技术方案、还有哪些待做的事项。这样哪怕后面新开一个AI对话窗口,也能让AI通过读文档快速了解之前做了什么,不用从头再来。
如果有多个互不依赖的小任务,还可以用SubAgents让它们并行执行,效率更高。我们传统开发项目时的任务拆分、前后端并行开发,也是同样的思路。

JEbbL3JOKZSIF8RQ

4、反馈机制:让AI自己检查自己的工作

Linter代码检查、自动化测试、Browser Use端到端测试、Agent互审

AI写完代码之后,可能会自信满满地跟你说任务已经完成了,结果你一点运行,全是Bug。

所以我们得让AI在写完代码之后能自己检查自己的工作。比如跑Linter(代码检查工具)看看有没有语法和规范问题,跑自动化测试验证功能是否正确,甚至让AI自己打开浏览器实际操作一遍,功能可以正常使用才算是真正完成了任务。

AcovdJOiUfy987gi

5、架构护栏:防止代码越改越乱

架构约束Linter、Pre-commit Hooks、垃圾回收机制、Git检查点

AI生成代码有个特点,就是它会模仿仓库里已有的代码风格,哪怕是烂代码。比如同样的页面代码写了好几遍,也不知道要拆分成可复用的组件,会导致改了一个地方其他重复的地方就漏改了。时间一长,技术债就越滚越大。

怎么防止这个问题呢?

常见的做法是写一批专门的Linter来强制执行架构层面的约束。注意这跟前面反馈机制里提到的Linter不太一样,前面那个查的是代码风格和语法问题,这里的Linter查的是架构规则,比如UI层不能直接调用数据库层、模块间的依赖必须是单向的。AI一旦违反就会被自动拦住,还可以通过Pre-commitHooks(代码提交前的检查钩子)在提交时自动拦截不合规的代码。

oZNFraRSbe0GYPD8

Harness 不是什么新技术,本质上是把我们已有的工程经验,系统的应用到 AI 上。

qL630evpdoz6krgd