开源工具提供自动化evals和实时可观测性功能,专为生产级Agent可靠性设计。帮助开发者快速发现和排查Agent行为异常。
我们内部花了大量时间为自己的代理运行 evals。如果你关心代理系统的可靠性,你就知道这为什么很重要——models 会发生漂移,prompts 会改变,第三方 MCP 工具会被更新。某个地方的微小改动可能导致其他地方出现意外行为。
这就是为什么我们很兴奋地分享一个我们自己用了好几个月的东西:SteelThread,这是我们在 Portia Cloud 之上构建的评估框架。
你可以在 Portia 上免费试试!
在 Portia 之上构建自己的自动化时,我们意识到运行 evals 是绝对的快乐,这归功于它的两个核心特性:
首先,每个 agent 运行都被捕获在一个名为 PlanRunState 的结构化状态对象中——步骤、工具调用、参数、输出。这让编写非常针对性的评估器变得轻而易举,无论是确定性的还是 LLM-as-Judge 的,比如你可以计数计划步骤、验证特定工具的行为、审查最终摘要中的语气等。
首先,每个 agent 运行都被捕获在一个名为 PlanRunState 的结构化状态对象中——步骤、工具调用、参数、输出。这让编写非常针对性的评估器变得轻而易举,无论是确定性的还是 LLM-as-Judge 的,比如你可以计数计划步骤、验证特定工具的行为、审查最终摘要中的语气等。
其次,我们使用 Portia Cloud 来存储我们的 agent 运行。每当我们能够产生一个理想的(或不理想的)多代理计划结果,比如在代理开发期间,我们可以获取该 agent 运行的输入和输出(query、plan、plan run),并立即将它们转化为一个 Eval 数据集。自从我们构建了 SteelThread,我们实际上就再也不需要从头手动策划和构建 eval 数据集了。
其次,我们使用 Portia Cloud 来存储我们的 agent 运行。每当我们能够产生一个理想的(或不理想的)多代理计划结果,比如在代理开发期间,我们可以获取该 agent 运行的输入和输出(query、plan、plan run),并立即将它们转化为一个 Eval 数据集。自从我们构建了 SteelThread,我们实际上就再也不需要从头手动策划和构建 eval 数据集了。
在 SteelThread 之前,我们仍然感受到许多团队都感受到的痛点。创建和维护策划的数据集很繁琐。平衡确定性检查和 LLM-as-judge evals 很棘手。针对真实 API 运行 evals 常常意味着要处理身份验证、速率限制或意外的副作用——所以我们会花上几个小时 stubbing 工具,仅仅是为了安全地测试。
SteelThread 将所有这些包装成 Portia Cloud 内部的单一工作流。它给了你两种方式来保证你的代理处于良好状态:Streams,它实时发现行为变化;以及 Evals,它让你针对真实数据集运行回归测试。Streams 和 Evals 都允许你组合确定性和 LLM-as-judge 评估器。你可以编写自己的评估器,但 SteelThread 还为你提供了大量现成的评估器可供使用。
这是一个示例流程,我们将一个生产代理运行添加到 Eval 数据集。
可观测性和 evals 对于构建可靠的代理系统至关重要,而 SteelThread 只是让它们变得更容易。结合 Portia 开发 SDK,它是一个强大的组合:构建结构化、可调试的代理,在生产中监控它们,并立即将任何事件转化为回归测试。
如果你想试试,可以访问 Portia Dashboard 或查看我们的 GitHub repo!
某些评论可能仅对已登录的访客可见。登录以查看所有评论。
如需进一步操作,你可以考虑屏蔽此人和/或举报滥用行为。