让cloudcode 成为最好的coding agent 之一的关键

一、什么是Harness?

本义是马的缰绳,根据Anthropic的描述,Harness的定义是就是一个agent-model,在一个agent系统里面,除了模型之外,都是harness。它的目的不是让AI变得更聪明,而是用规矩+检查+边界把它拴在使用者的“目标”上。

Agent=LLM+Harness

二、为什么需要Harness?

(1)从模型的本质来看

当我们和模型对话时,模型其实并不理解自己生成的答案,而是一个一个预测下一个词,它会根据前文计算下一个词的分布概率,然后从中采样,所以你获得的答案其实是从限定概率下猜出来的。(详细可以看Andrej Karpathy关于LLM的预处理阶段中的神经网络训练这部分的观点)

为了能让模型更好的预测,在2023年chatbox阶段中提出一个概念——Prompt Engineering(通过限定的提示词来激发模型的正确率)本质上通过上下文条件化,约束模型预测时的概率空间,防止漫无边界,发散采样。

而现在Agent 学会用工具,意味着概率预测从文本空间,扩展到了决策空间。模型不仅要猜测下一个词是什么,还要猜“现在该不该调用工具,调哪一个工具,参数怎么设置”。

每一次工具调用、每一轮循环决策,都是一次概率采样:

  • 决策正确:工具结果形成正向闭环;

  • 决策错误:错误结果会持续污染上下文,形成负向滚雪球,一步错、步步错。

(2)Harness基于Agent的意义:(开发流和技术债)

问题:

在实际Vibe coding中agent落地的效果不是特别好,原因在于在通过自然语言提示词生成系统代码时,各类架构与开发原则会被一并忽略,这些跳过的原则不会消失,而是转为技术债,在架构中堆积,当架构熵到达一定程度,系统的可维护性,可理解性就会崩塌。

(3)真实 Agent 流程 vs 理想流程的差距Agent Loop:

agent不是一次性跑完任务的,他会反复调用工具,检查结果,再调用,再检查。技术债一旦被写进代码或规则里,就会在每一次循环中被重复执行,反复确认,甚至越滚越大。

  • 理想流程:单次执行、单向流转、无需回溯、上下文简洁,任务一次性闭环;

一般agent流程如下,前提是每一步都可以真确执行,并且不需要回头,但是现实是在调用第一个工具的时候就要回看对话,导致上下文越来越多,模型记不住,最后是一个报废品。

  • 真实流程:频繁回看历史对话、反复回溯上下文、多轮工具嵌套调用,上下文体量持续膨胀。 最终出现:模型上下文过载、关键信息遗忘、逻辑断裂,产出代码完全不可用。

agent真实流程:

总结:单纯依靠 Prompt + LLM 无法解决代码工程化、规范性、循环劣化问题,必须由 Harness 承担 “缰绳” 角色,在全流程做约束、校验、纠偏。

三、Coding Agent 专属 Harness 核心架构

  1. Harness 三大核心组件(规划器 + 生成器 + 检验器)

工作流:需求 → 规划 → 生成 → 验证

(1)规划器 Planner

面向编码场景的任务拆解与架构约束中心,也是第一道 “缰绳”。 职责:

  1. 解析用户自然语言需求,拆解为原子编码任务(模块划分、函数拆分、文件分工、接口定义);

  2. 强制落地架构规范:代码分层、目录结构、设计模式、模块依赖规则,从源头杜绝乱架构;

  3. 管控任务执行顺序、轮次上限、调用链路,防止 Agent 无限制循环、跨模块乱修改;

  4. 输出结构化编码方案,作为后续生成环节的硬性边界,模型只能在规划范围内工作。

价值:把模糊的自然语言需求,变成有工程规范的结构化任务,从源头压制技术债产生。

(2)生成器 Generator

承载代码产出环节,承接规划结果,同时受全局规则约束。 职责:

  1. 按照规划器的任务、文件、接口、编码规范生成代码;

  2. 内置编码规则约束:语法规范、命名规范、注释规范、语法糖使用限制;

  3. 对接代码编辑、文件读写、命令行、编译运行等工具,统一管理工具调用行为;

  4. 控制单次生成范围,禁止单次大范围篡改全项目代码。

定位:在划定边界内执行代码产出,不允许自由发挥。

(3)检验器 Validator

Coding Agent 最重要的纠错、拦截、回滚单元,是解决 “技术债放大” 的核心。 区别于普通 Agent 的结果校验,代码场景检验是多层级强校验:

  1. 语法校验:编译检查、语法报错、静态代码扫描,拦截无法运行的代码;

  2. 规范校验:Lint 规则、编码风格、命名、注释、复杂度检测;

  3. 逻辑校验:单元测试执行、接口联调、用例回归,验证功能正确性;

  4. 架构校验:检查是否违背前期规划的模块依赖、分层规则、目录结构;

  5. 风险校验:检测硬编码、安全漏洞、权限风险、低效代码、重复代码。

校验结果分流:

  • 合格:进入下一任务 / 结束流程;

  • 不合格:拒绝提交、自动回滚代码、返回错误明细给规划器,重新迭代,不让问题代码进入下一轮 Agent 循环。

闭环逻辑:规划定边界 → 生成做执行 → 检验卡质量,问题绝不流入下一轮循环,从根本阻止技术债滚雪球。

  1. Harness 基础设施 Infra

沙箱,记忆,skill,会话状态,Hooks,权限控制

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐