跳到主要内容

Harness Engineering(智能体外壳工程)

Agent = Model + Harness

模型负责生成与推理,Harness 负责把模型放进一个可执行、可观察并能持续工作的环境。AIME Chat 用这个视角组织 Agent:模型之外还有 Instructions、上下文、工具、状态、子 Agent、审批和日志。

这是一种工程划分,不表示换一个模型就能自动获得所有能力。最终效果仍取决于模型、Provider、本机运行环境、已启用工具和任务约束。

AIME Chat 的 Harness 分层

1. Agent 与编排循环

Mastra Agent 运行时处理流式响应、工具调用和后续观察。一次任务通常经历:

用户请求 → 组装上下文 → 模型决策 → 工具调用 → 工具结果 → 后续决策或回答

取消、错误、模型停止条件或人工交互都可能结束或暂停这个循环。

2. Instructions 与人格

  • Agent Instructions 定义角色、目标、工作方法和边界;
  • 助手人格调整通用交互风格;
  • Skill 向 Agent 提供可复用说明、脚本和领域流程。

Instructions 不能替代权限控制。模型即使被告知“不要访问某路径”,工具仍应独立校验输入和目标。详见 Agent 管理

3. 工具接口

工具把文件、进程、网络、数据库和外部服务暴露给 Agent。当前来源包括:

  • Built-in:文件、Bash、代码执行、Web、知识库、浏览器、音频、图像、任务等;
  • MCP:本地 stdio 或远程 HTTP 服务器;
  • Skill:本地或导入的技能包。

Schema 用于描述和验证参数,但工具执行仍拥有各自的真实权限。文件与 Bash 工具以当前操作系统用户权限运行,CodeExecution 也不是完整的 OS 沙箱。详见 工具系统MCP 服务器

4. 上下文、记忆与知识库

Harness 会为请求组装会话、项目、Agent 和工具上下文。需要跨对话使用资料时,还可以使用:

  • 知识库:BM25 全文检索,或可选语义向量、混合检索和重排;
  • 养成记忆:Cultivation Agent 从聊天历史维护长期记忆 Wiki;
  • Memory 工具:读取或搜索已持久化的记忆数据。

上下文有长度和质量限制。检索命中不等于事实正确,重要结论仍应读取原文并核对来源。详见 知识库养成记忆

5. 子 Agent 与任务状态

Agent 可以配置可用的子 Agent;Code Agent 当前包含 Explore 和 Plan 子 Agent。结构化任务使用 TaskCreate、TaskGet、TaskList 和 TaskUpdate,长期目标可使用 Goal 工具。

委派只是一种执行能力,不保证模型一定调用,也不表示多个任务会自动并行或正确合并。应在主任务中明确范围和验收标准。

6. 项目与长时间任务

  • 项目把本地目录、聊天线程、文件工作区和后台 Bash 会话关联起来;
  • Bash 可把长命令转到后台,并通过 BashOutput/ListBash/KillBash 管理;
  • Crons 可按计划启动 Agent、工具和项目上下文;
  • 项目聊天可导出用于归档、分析或训练准备。

后台运行和定时触发会延长副作用的生命周期。创建前应检查工作目录、凭据、停止条件和重复执行影响。

7. 工具选择、审批与数据边界

AIME Chat 提供多层配置:

  • 全局启用或停用工具;
  • 为 Agent 选择工具和子 Agent;
  • 在聊天输入区开启 Require tool approval
  • 把 Secret 注入需要认证的工具环境。

这些能力是应用级控制,不是系统级隔离:审批并非所有执行入口都默认开启,工具也可能访问当前用户有权限的数据。Secret 当前保存在本地应用数据库中,应保护系统账户、数据库与备份。

8. 可观测性与验证

聊天界面会展示工具调用及结果,应用日志记录运行库、工具和后台服务的诊断信息,关于页面提供日志入口。项目还会汇总后台 Bash 状态。

日志和构建结果只能证明被覆盖的路径。例如,静态构建成功不能证明真实 Provider、登录态浏览器、容器或生产部署可用;这些场景需要在目标环境单独验证。

分层一览

分层在 AIME Chat 中的实现需要注意
模型运行Provider + Mastra Agent模型能力和配额不同
指引Instructions、人格、Skill指令不是权限边界
工具Built-in、MCP、Skill可能产生本机或远程副作用
上下文会话、项目、知识库、Memory有长度、时效和检索误差
编排子 Agent、Task、Goal仍需明确范围与验收
长任务后台 Bash、Crons注意停止、重试与重复执行
控制工具清单、聊天审批、Secrets不是 OS 级沙箱或加密保险箱
观察工具结果、状态和日志不能替代目标环境测试

使用建议

  1. 先定义目标、允许的工作区和不可执行的操作。
  2. 为 Agent 选择最小必要工具和可信的 MCP/Skill。
  3. 对写文件、Shell、数据库、浏览器和发布操作检查参数。
  4. 把长任务拆成可验证步骤,并保留测试或运行证据。
  5. 对无法在当前环境验证的部分明确记录边界。

延伸阅读