在三月份红杉资本的 AI Ascent 大会上,我谈到了代理的三个局限性:规划、用户体验和记忆。查看此处的演讲。这是我们关于代理用户体验的第二篇文章,重点关注环境代理。
在我们关于代理的基于聊天的用户体验的上一篇博文中,我们讨论了聊天如何要求用户主动考虑向 AI 发送消息。但是,如果 AI 可以在后台为您工作呢?
我认为,为了使代理系统真正发挥其潜力,需要发生这种向允许 AI 在后台工作的转变。当任务在后台处理时,用户通常更能容忍更长的完成时间(因为他们放松了对低延迟的期望)。这使代理可以完成更多工作,通常比在聊天用户体验中更仔细/更勤奋。
此外,在后台运行代理使我们人类能够更有效地扩展我们的能力。聊天界面通常将我们限制为一次处理一项任务。但是,如果代理在后台环境运行,则可以有许多代理同时处理多个任务。
那么,这种后台代理用户体验会是什么样子呢?
建立对后台代理的信任:从“人在环路中”到“人在环路上”
让代理在后台运行需要一定程度的信任。您如何建立这种信任?
一个直接的想法是展示用户代理正在做什么。显示它正在执行的所有步骤,并让用户观察正在发生的事情。虽然此信息可能不是立即可见的(就像流式传输响应时一样),但它应该可供用户点击并观察。
下一步不仅要让用户看到正在发生的事情,还要让他们纠正代理。如果他们看到代理在 10 个步骤中的第 4 步做出了错误的选择,他们应该能够返回到第 4 步并以某种方式纠正代理。
这种纠正是什么样的?它可以有几种形式。让我们以纠正代理错误调用工具的具体示例为例
- 您可以手动键入正确的工具调用,使其看起来像是代理已输出该调用,然后从那里继续
- 您可以向代理提供关于如何更好地调用工具的明确说明 - 例如,“使用参数 X 调用它,而不是参数 Y” - 并要求代理更新其预测
- 您可以更新代理在时间点的指令或状态,然后从该步骤开始重新运行
选项 2 和选项 3 之间的区别在于代理是否意识到其先前的错误。在选项 2 中,代理会看到其先前的糟糕生成,并被要求纠正它,而在选项 3 中,它不知道其糟糕的预测(并且只是遵循更新后的指令)。
这种方法将人从“人在环路中”转变为“人在环路上”。“人在环路上”需要能够向用户显示代理采取的所有中间步骤,允许用户暂停工作流程,提供反馈,然后让代理继续。
一个实现了类似于此用户体验的应用程序是Devin,AI 软件工程师。Devin运行很长时间,但您可以看到采取的所有步骤,回溯到特定时间点的开发状态,并从那里发出更正。
整合人工输入:代理如何在需要时寻求帮助
尽管代理可能在后台运行,但这并不意味着它需要完全自主地执行任务。总会有代理不知道该做什么或如何回答的时候。此时,它需要引起人的注意并寻求帮助。
一个具体的例子是我正在构建的电子邮件助手代理。虽然电子邮件助手可以回复基本的电子邮件,但它经常需要我对某些我不想自动化处理的任务提供输入。这些任务包括审查复杂的 LangChain 错误报告,决定我是否想参加会议等。
在这种情况下,电子邮件助手需要一种与我沟通的方式,表明它需要信息才能回复。请注意,它不是要求我直接回复;相反,它寻求我对某些任务的意见,然后它可以用来撰写和发送一封漂亮的电子邮件或安排日历邀请。
目前,我在 Slack 中设置了这个助手。它向我 ping 一个问题,我在线程中回复它,自然地与我的工作流程集成。如果我要考虑这种类型的用户体验,规模比仅仅是我自己的电子邮件助手更大,我会设想一个类似于客户支持仪表板的用户体验。此界面将显示助手需要人工帮助的所有领域、请求的优先级以及任何其他元数据。

最初在描述这个电子邮件助手时,我使用了术语“代理收件箱” - 但更准确地说,它是人类协助代理完成某些任务的收件箱……有点令人不寒而栗的想法。
结论
我非常看好环境代理,因为我认为它们是使我们能够扩展我们作为人类自身能力的关键。
随着我们的团队继续构建LangGraph,我们在构建时就考虑了这些类型的用户体验。我们检查点保存所有状态,轻松实现人在环路上可观察性、回溯和编辑。这也使代理能够联系人工并等待他们的回复,然后再继续。
如果您正在构建具有环境代理的应用程序,请联系我们。我们很乐意听到您的经验!