来源:互联网 更新时间:2026-07-30 07:19
先直接说几个核心判断:
Agent Loop 要回答的核心问题是:Agent 如何一步步完成任务?
一个最简化的循环可以这样表示:
读取用户目标
↓
模型分析并决定下一步
↓
调用工具
↓
执行操作并获得结果
↓
将结果放回上下文
↓
继续分析,直到任务完成
伪代码大致如下:
while (!done) {
const response = await model.generate(context)
if (response.toolCall) {
const result = await executeTool(response.toolCall)
context.push(response, result)
continue
}
done = true
return response.text
}
当然,真实系统远比这复杂,还要处理多工具调度、失败重试、上下文压缩、终止判断、无限循环、用户中途追加要求,以及子 Agent 调度等问题。但无论实现多复杂,Agent Loop 的核心都可以压缩成一句话:
Reason → Act → Observe → Reason
也就是“推理、行动、观察,再继续推理”。
Harness 原意是控制装置、线束或挽具。在 Agent 领域,可以把它理解为:Agent 在什么环境和规则下运行?
一个典型的 Harness 可能包含:
Harness
├─ Agent Loop
├─ 模型调用与模型选择
├─ Prompt / 上下文构造
├─ 工具注册与执行
├─ 文件系统和 Shell
├─ 权限审批与沙箱
├─ 会话状态持久化
├─ 上下文压缩
├─ 超时、重试和预算控制
├─ 日志与可观测性
├─ MCP / Skills / Hooks
└─ 子 Agent 与任务编排
业界对 Harness 的边界没有完全统一。这里采用一个较宽泛的工程定义:Harness 是 Agent 的完整运行系统,包含 Agent Loop 以及所有支撑它的基础设施。
| 对比维度 | Agent Loop | Harness |
|---|---|---|
| 关注范围 | Agent 的循环执行逻辑 | Agent 的完整运行系统 |
| 核心问题 | 下一步做什么,何时结束 | 以什么工具、权限、上下文和规则运行 |
| 工具调用 | 决定何时调用工具 | 注册、执行、限制并记录工具调用 |
| 上下文 | 消费并更新上下文 | 构造、裁剪、压缩和持久化上下文 |
| 权限与沙箱 | 通常不直接负责 | 通常负责 |
| 错误处理 | 决定是否继续 | 提供超时、重试、恢复和降级机制 |
| 二者关系 | Harness 的核心组成部分 | 包含 Agent Loop |
用机器人做类比或许更形象:
一句话概括:Agent Loop 是“如何推进任务”,Harness 是“在什么环境下推进任务”。
假设我们让 Codex 修复一个前端 Bug。整个过程大致是:
读取用户描述
↓
搜索相关代码
↓
分析根因
↓
修改代码
↓
运行测试
↓
根据测试结果继续修改
↓
测试通过并输出结果
其中,这段循环属于 Agent Loop:
搜索 → 分析 → 修改 → 测试 → 观察结果 → 再次分析
而下面这些问题则属于 Harness 的范畴:
AGENTS.md、CLAUDE.md、Skills 和 MCP?前者描述“任务怎样循环推进”,后者定义“这套循环拥有什么能力、受到什么约束”。
通常不需要。
Claude Code 和 Codex 本身已经是成熟的编码 Agent Harness,处理了大量底层工作:
因此,日常项目开发没有必要再手写模型调用、动作解析、工具执行和结果回填的底层循环。只有当你的目标是开发一个类似 Claude Code、Codex 的 Agent 产品,或者需要完全自定义模型、工具、状态和调度方式时,才需要深入产品级 Harness。
但这不代表项目侧什么都不需要做。
可以把 Harness 分成三个层级:
由 Claude Code、Codex 等产品提供,负责 Agent Loop、工具、权限、上下文和会话。项目团队一般不需要重新实现。
由项目团队维护,负责项目规则、架构边界、运行方式和验收标准。它要帮助 Agent 回答:
项目级 Harness 通常不是一个独立框架,而是一组工程设施:
项目级 Harness
├─ CLAUDE.md / AGENTS.md
├─ README 和架构文档
├─ package.json scripts
├─ lint / typecheck / test / build
├─ Docker 和环境初始化脚本
├─ .env.example
├─ Hooks
├─ Skills
├─ MCP
└─ Definition of Done
面向大规模迁移、安全审计、复杂研究和多方案验证等任务,临时负责拆分、并行执行、独立复核和结果汇总。
举个例子:
规划 Agent
↓
多个执行 Agent 并行处理
↓
Reviewer Agent 独立检查
↓
测试 Agent 验证
↓
汇总 Agent 生成最终结果
对于 TypeScript、React、Next.js 或 Node.js 项目,不必一开始就设计复杂的多 Agent 系统。先把下面四件事做好,收益往往更高。
Claude Code 通常读取 CLAUDE.md,Codex 可以读取 AGENTS.md。内容不用追求长,关键是明确、可执行。
# Project Overview
This is a pnpm monorepo using Next.js and TypeScript.
## Commands
- Install: `pnpm install`
- Type check: `pnpm typecheck`
- Lint: `pnpm lint`
- Unit tests: `pnpm test`
- Build: `pnpm build`
## Working Rules
- Do not use npm or yarn
- A void modifying unrelated files
- Run typecheck after changing TypeScript code
- Update tests after changing business logic
## Definition of Done
1. TypeScript passes
2. Relevant tests pass
3. No unrelated files are changed
4. The final response explains the root cause and validation
不要只告诉 Agent“确保代码没问题”,而要提供真正能执行的验证方式:
{
"scripts": {
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"build": "next build",
"verify": "pnpm lint && pnpm typecheck && pnpm test"
}
}
验证命令越明确,Agent 越容易形成稳定闭环:
修改代码 → 运行验证 → 观察错误 → 继续修复 → 验证通过
最好能让新开发者和 Agent 都能通过少量命令启动项目:
pnpm install
docker compose up -d
pnpm dev
同时准备好 .env.example、docker-compose.yml、README.md 和初始化脚本,不要让 Agent 猜测数据库、Redis、Node 版本、服务启动顺序或测试账号的配置方式。
它们解决的问题不同:
它们不是越多越好。只有当某个流程高频重复、容易出错,或确实依赖外部系统时,才值得沉淀。
下面这些任务通常适合更复杂的任务编排:
普通 Bug 修复、单个功能开发或小规模重构,一般不需要专门创建多 Agent Harness。子 Agent 会增加 Token 消耗,并行任务也会带来协调和合并成本。任务规模不足时,复杂编排反而可能让开发更慢。
CLAUDE.md、AGENTS.md、验证脚本和架构约束。Harness 和 Agent Loop 最准确的关系是:
Agent Loop = Agent 的执行循环
Harness = 承载和管理执行循环的完整运行系统
在 Claude Code 和 Codex 的使用场景中:
最后用一句话收束:
而最需要投入精力建设的,是让 Agent 在项目里正确工作的那个“项目级 Harness”。
摩托车活塞环性能如何
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
Ondo将于今日上线股票永续合约
暗黑4S14野蛮人终局BD攻略
区块链OTC交易所有哪几家比较正规?
什么是山寨币?山寨币指数如何查看?全球前10大山寨币盘点
Binance新增15种bStocks代币化证券为杠杆抵押资产
全球十大加密货币APP v3.11.5正版下载
本周比特币行情预判:BTC后市的三种推演与两强对决
剑侠世界3雪峰论剑怎么打-剑侠世界3雪峰论剑打法介绍
Meme币DOGS今晚上线!开局就解锁91%代币是否带来风险?
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
超长高标准质保+总部直保售后体系:小牛真实售后体验大起底
比特币守住关键支撑,HYPE市值升至第九并反超DOGE
货拉拉如何查看历史订单 货拉拉往期行程轨迹查询【功能教学】
今日小鸡庄园答案2026.7.2
美债股纳斯达克首盘暴跌38%且加密代理交易解体,AVAX价格何去何从?
男生头像配网名可爱(精选100个)
赵云与阿斗神兵符使用教程 神兵符怎么使用
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc