进阶 mastra.ai 2026-10-12 10:15:56 · 28 阅读

第9章 Harness(智能体驾驭框架)

第9章:Harness

Harness 让智能体(agent)能够追求长期、复杂的任务目标,同时确保其工作持久、可见且可控。它能在重试和中断中保存进度,并为人类用户及其他系统提供手段,以检查进展、补充上下文、审批操作、调整方向或终止智能体。

当工作跨越时间持续时,智能体 harness 会发挥作用。常见场景包括:通过 CI 和代码审查推动变更的编程智能体、并行协调多项任务的软件工厂(如 Mastra Factory)、随事故演变而自适应的 SRE 智能体,以及随客户、信号和对话变化而响应的市场拓展智能体。

在 Mastra 中,harness 指的是一组用于管理智能体的能力,超越单次不间断的运行。你可以单独采用这些能力,或按需组合使用。

何时使用 harness

根据智能体的需求选择合适的起点。你可以使用其中一项或几项能力。

如果你想实现以下目标,从这里开始:

- 通过客户端断开或服务重启保持运行可用:使用“持久智能体”。保存运行状态,让客户端可以重新连接到其流。 - 在不阻塞的情况下运行慢速工具、工作流或子智能体:使用“后台任务”。异步完成工作并将结果返回给智能体。 - 让智能体持续工作直到达成目标:使用“目标”。评估线程范围内的目标,直到其完成或达到运行预算。 - 在定期时间点自动启动工作:使用“计划”。在 cron 计划下启动隔离运行或将提示发送到现有线程。 - 添加上下文、重定向当前工作或唤醒空闲线程:使用“信号”。立即传递输入或保留至下一回合。 - 响应 GitHub、Slack、持续集成或其他外部系统的变更:使用“信号提供器”。跟踪订阅并转发匹配事件到智能体线程。 - 构建带有会话、模式、状态、审批和事件的交互式产品,或允许用户引导、排队后续工作以及停止运行:使用“AgentController”。围绕共享智能体运行时托管隔离会话,每个会话拥有自己的运行控制。 - 为智能体提供文件、shell 以及编程智能体所需的默认配置:使用 `createCodingAgent()`。构建一个已预配置工作区、任务跟踪和重试机制的标准智能体。

评论 (0)