引入评价标准:构建能够自我评估和修正工作的智能体
Deep Agents 的 RubricMiddleware 通过在智能体运行中添加自我评估循环,使其能够根据预定义的评价标准反复修正输出,直到满足所有条件。该工具特别适用于具有明确可验证成功标准的任务,如通过测试、避免禁止模式、覆盖必要部分等。
Deep Agents 最近推出了 RubricMiddleware,这是一个为智能体添加自我评估和修正能力的中间件。在复杂任务中,智能体往往无法一次性完美完成任务,而 RubricMiddleware 通过定义明确的标准,让智能体持续改进直到达标。
该工具的核心是一个独立的评分智能体,它在主智能体运行结束后,根据用户设定的评价标准(如“所有测试通过”或“函数名正确”)进行审查。如果某些标准未满足,评分智能体会提供具体反馈,然后主智能体根据反馈再次运行。这一循环会持续到所有标准满足或达到最大迭代次数为止。
RubricMiddleware 的使用非常简单:首先定义中间件,配置评分模型、提示词、工具和最大迭代次数;然后将其附加到主智能体上;最后在调用时提供人类消息和评价标准。例如,在代码生成任务中,智能体的首次尝试可能通过部分测试,但评分智能体发现某个测试失败并给出具体错误信息,智能体据此修正代码,最终通过所有测试。
这种机制显著提高了智能体在关键任务上的可靠性。通过将评估和修正过程自动化,开发者无需手动检查输出并重新运行,从而节省时间并减少错误。目前 RubricMiddleware 处于测试阶段,API 可能发生变化,但已提供完整文档供开发者参考。
与 Claude Code 或 Codex 中的 /goal 类似,但 RubricMiddleware 更加灵活,因为评估由专门的评分子智能体处理,它可以调用工具、推理完整的对话记录,并返回每个标准的反馈。这使得智能体能够精确知道需要修正什么,而不是仅仅收到“再试一次”的泛泛提示。
在实际应用中,假设你要求智能体编写一个 Python 函数 find_duplicates,该函数接受一个列表并返回出现多次的元素(按首次出现顺序)。智能体的第一版代码可能看起来正确,但使用 run_test_suite 工具进行测试后,评分智能体发现测试 test_unhashable 失败:函数在遇到列表中的不可哈希类型(如列表)时抛出 TypeError。智能体根据这个反馈进行修改,第二次迭代就通过了所有测试。
RubricMiddleware 的引入解决了智能体输出的概率性问题——相同的提示词有时成功有时失败。通过将检查变异的负担从开发者转移到系统,开发者只需定义一次“完成”的标准,循环就会处理其余工作。每个重试都是有依据的,评分智能体确切指出问题所在。
该中间件目前处于测试阶段,API 可能发生变化。有关配置、可观测性和评分标准持久化的完整指南,请参阅文档。