02|Agent Harness 的核心组成:模型、上下文、工具、文件系统和终端

简介: Agent Harness 是AI编程的工程执行系统,不止依赖大模型:模型负责推理,上下文精准供给信息,工具赋予行动力,文件系统承载代码修改,终端闭环验证结果,权限保障安全边界。五者协同,才能真正完成任务而非仅输出建议。(238字)

image.png

理解 Agent Harness,不能只看“它用了哪个模型”。真正决定体验的,是模型之外那一整套工程结构。

一个可用的编程 Agent,大致由五个部分组成:模型、上下文、工具、文件系统、终端。模型只是其中一个部件。没有后面四个,模型再强也只能给建议,不能完成任务。

一、模型:负责推理,不负责执行

模型的职责是理解目标、拆解任务、判断下一步该做什么。比如它会判断:这个 bug 应该先看登录模块,还是先跑测试;这个报错像类型问题,还是运行时问题;这个改动应该补单元测试,还是集成测试。

但模型不能直接读你的仓库,也不能自己运行 npm test。它需要 Harness 提供工具。

这也是为什么同一个模型,放在不同 Harness 里体验会差很多。聊天框里的模型只能回答;终端 Agent 里的模型可以读文件、改代码、跑命令、看错误输出,然后继续修。

二、上下文:决定 Agent 看见什么

上下文是 Agent 的工作台。

它可能包含:

  • 用户当前任务;
  • 当前对话历史;
  • 相关文件内容;
  • 搜索结果;
  • Git diff;
  • 终端输出;
  • 项目规则;
  • 历史记忆;
  • 外部文档;
  • 工具说明。

上下文不是越多越好。真正难的是选择。

比如你让 Agent 修支付回调问题,它应该优先看支付入口、订单服务、状态流转、队列消费者和测试,而不是整个前端目录。一个好的 Harness 会让模型逐步探索,而不是一次性吞下所有代码。

image.png

上下文管理的目标,是让模型在每一步拿到刚好够用的信息。

三、工具:让模型能行动

工具是 Harness 的手脚。

常见工具包括:

工具 作用
Read 读取文件
Edit 修改文件
Search 搜索文件名和内容
Shell 运行命令、测试、构建
Git 查看 diff、提交、分支
Browser 打开页面、截图、交互
MCP 连接外部系统
Subagent 分配子任务

工具调用的关键不是数量,而是反馈。每次工具返回结果,模型都要重新判断下一步。

例如:

运行测试 -> 发现失败 -> 读取失败文件 -> 修改实现 -> 再运行测试

这就是 Agentic Loop。

四、文件系统:真实世界的代码入口

编程 Agent 最重要的能力之一,是直接操作文件系统。

它能看到当前目录、子目录、配置文件、测试文件、构建脚本,也能创建新文件、修改已有文件。这个能力很强,也很危险。

一个成熟 Harness 必须处理好三个问题。

第一,作用范围。Agent 是否只能访问当前项目?能不能读上级目录?能不能访问用户主目录?

第二,改动可追踪。每次修改哪些文件、改了什么、能不能回滚。

第三,用户变更保护。用户已经改过但未提交的文件,Agent 不能随便覆盖。

这也是为什么 Git 状态和 diff 对 Agent 很重要。它不仅帮助模型理解当前工作,还保护人类开发者的现场。

五、终端:把验证闭环接起来

没有终端,Agent 写代码很容易停在“看起来对”。

有终端以后,它可以:

npm test
npm run lint
mvn test
cargo test
go test ./...
git diff

这让 Agent 从“生成代码”变成“验证代码”。

但终端也是风险最大的地方。读文件通常风险低,运行命令就复杂得多。npm test 可以允许,rm -rf 必须拦住,部署命令必须确认,数据库迁移要特别谨慎。

所以 Harness 一般会把命令分级:安全命令自动执行,普通命令询问确认,高危命令禁止或强制人工审批。

真实任务中的配合

假设任务是:

修复用户退出登录后仍能访问个人中心的问题。

Harness 的工作过程可能是:

  1. 模型理解目标;
  2. 搜索 logoutsessionauth middleware
  3. 读取路由守卫和会话逻辑;
  4. 运行现有认证测试;
  5. 修改退出登录后的状态清理;
  6. 新增“退出后访问个人中心返回 401”的测试;
  7. 运行相关测试;
  8. 输出改动说明。

这里每一步都用到不同组件。模型负责判断,搜索和读取提供上下文,文件系统承载修改,终端完成验证。

容易被忽略的部分

很多人只关心模型能力,却忽略了 Harness 的细节。

比如搜索工具慢,Agent 就会浪费大量时间;上下文压缩差,长任务会丢关键指令;权限设计粗糙,用户会不敢让它自动执行;测试反馈不清晰,模型会反复修错方向。

因此,Agent Harness 的质量往往体现在小地方:文件搜索是否快、diff 是否清楚、命令输出是否截断合理、错误是否能被模型读懂、上下文是否能被稳定保留。

总结

Agent Harness 不是一个“AI 对话框”,而是一套工程执行系统。

它的核心组成可以归纳为:

模型负责推理
上下文负责提供信息
工具负责行动
文件系统负责落地
终端负责验证
权限负责边界

只有这些部分配合好,AI 编程才会从“生成一段代码”走向“完成一个任务”。

目录
相关文章
|
1天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
150 1
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
9天前
|
安全 NoSQL Java
《ZAKU渗透论:卓伊凡的2026渗透工程》信息收集——黑客怎么找到你?
本章详解渗透测试中至关重要的信息收集环节:占全程50%以上工作量。涵盖被动(搜索引擎、GitHub、社交媒体、Whois、历史快照)与主动(DNS查询、子域名枚举、端口扫描、目录探测)两大策略,并聚焦2026年新趋势——供应链踩点。目标是绘制精准“攻击地图”,找到阻力最小的突破口。(239字)
176 2
|
1月前
|
人工智能 自然语言处理 供应链
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
MCP(Model Context Protocol)虽成AI Agent主流集成标准,但其将工具描述全量注入上下文的设计,导致“Context Poisoning”——恶意指令可借工具元数据污染LLM推理。OWASP将其列为LLM应用头号漏洞,2025年已致超10万站点遭袭。根本风险在于协议层信任模型缺失,非清洗不可用。
143 12
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
|
9天前
|
SQL 安全 测试技术
《ZAKU渗透论:卓伊凡的2026渗透工程》第一章:黑客是怎么工作的?
渗透测试是授权下模拟黑客攻击,检验系统安全性;白帽合法防护,黑帽非法入侵,灰帽亦违法。攻击分7步:侦察、武器化、投递、利用、安装、C2、目标达成。它不同于自动化漏洞扫描,重在人工验证与深度分析。(239字)
172 6
|
29天前
|
运维 Java 开发者
[015][web模块]基于Spring Boot的HTTP客户端日志与默认配置实战
本文详解基于Spring Boot的HTTP客户端统一配置方案,支持RestTemplate、RestClient与WebClient三种客户端,实现无侵入的日志记录(请求/响应头、状态码)、默认请求头注入(如X-Request-Id)、非2xx异常自动转换及链路追踪支持,全部通过Customizer与Filter机制自动装配,开箱即用,提升微服务调用可观测性与开发效率。(239字)
179 5
[015][web模块]基于Spring Boot的HTTP客户端日志与默认配置实战
|
28天前
|
弹性计算 人工智能 缓存
阿里云轻量应用服务器2核2G38元、2核4G9.9元起:配置解析、适用场景与选购指南
2026年阿里云轻量应用服务器抢购活动提供两大核心配置:2核2G(200M峰值带宽+40G ESSD盘)抢购价38元/年,适合个人建站与入门学习;2核4G(200M带宽+50G ESSD盘)9.9元/月或199元/年,支持OpenClaw镜像一键部署AI助理。抢购每日10:00和15:00限时开抢,仅限新用户。本文同时对比了ECS 99计划(e实例99元/年、u1实例199元/年,新购续费同价至2027年3月),建议用户根据业务规模、AI需求及长期成本综合选型。
404 14
|
21天前
|
存储 安全 Java
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
本文系统梳理了Java泛型的核心知识体系,主要内容包括: 泛型概述:介绍了泛型的定义、本质和三大优势(类型安全、代码复用、可读性),以及泛型类、接口和方法的三种使用形式。 泛型擦除:深入解析了Java泛型实现的核心机制,包括擦除规则(无界类型擦除为Object,有界类型擦除为第一个边界类型)、擦除带来的问题(如无法使用instanceof、创建泛型数组等)及其解决方案。 泛型通配符:详细讲解了三种通配符类型(无界通配符、上界通配符和下界通配符)的语法、语义和使用场景。
|
23天前
|
人工智能 供应链 算法
从“小单困局”到供应链Agent:成本结构、博弈逻辑与人机协同的技术推演
本文剖析C2M服装供应链中“小单困局”的本质——切换成本在极小批量下不可摊销的数学必然。通过Agent集群实现成本透明化、智能拼单与品类感知,推动供应链从零和砍价转向正和协同。人机分工明确:AI做“数字包工头”,人当“关系架构师”。(239字)
|
29天前
|
弹性计算 人工智能 运维
阿里云服务器2核4G199元1年:轻量应用服务器抢购和云服务器u1实例对比与选购策略参考
阿里云服务器2核4G热门配置价格:轻量应用服务器2核4G(199元/年)与云服务器ECS通用算力型u1实例2核4G(199元/年)。二者虽价格相同,但定位截然不同:轻量服务器主打开箱即用,峰值带宽达200M,预装OpenClaw等AI镜像,适合新用户快速建站或AI尝鲜,但续费价格较高且需每日限时抢购;ECS u1实例则提供5M固定带宽、80G云盘,支持VPC等深度定制,企业新老用户同享,且承诺续费同价至2027年3月,长期成本更可控。本文从产品定位、适用场景、购买资格、续费政策等维度提供了以供对比与选购策略,帮助个人开发者与中小企业根据业务需求做出最优选择。
248 10