Kernel: Unknown Kernel
In [ ]:
📚 管理Agent的记忆
归根结底,Agent可以定义为由几个简单组件构成:它拥有工具、提示词。最重要的是,它具备对过往步骤的记忆,能够追溯完整的规划、执行和错误历史。
回放Agent的记忆
我们提供了多项功能来审查Agent的过往运行记录。
您可以通过插装(instrumentation)在可视化界面中查看Agent的运行过程,该界面支持对特定步骤进行缩放操作,具体方法参见插装指南。
您也可以使用agent.replay()
方法实现回放:
当Agent完成运行后:
In [ ]:
若要回放最近一次运行,只需使用:
In [ ]:
动态修改Agent的记忆
许多高级应用场景需要对Agent的记忆进行动态修改。
您可以通过以下方式访问Agent的记忆:
In [ ]:
使用agent.memory.get_full_steps()
可获取完整步骤字典数据。
您还可以通过步骤回调(step callbacks)实现记忆的动态修改。
步骤回调函数可通过参数直接访问agent
对象,因此能够访问所有记忆步骤并根据需要进行修改。例如,假设您正在监控网页浏览Agent每个步骤的屏幕截图,希望保留最新截图同时删除旧步骤的图片以节省token消耗。
可参考以下代码示例: 注:此代码片段不完整,部分导入语句和对象定义已精简,完整代码请访问原始脚本
In [ ]:
最后在初始化Agent时,将此函数传入step_callbacks
参数:
In [ ]:
请访问我们的 vision web browser code 查看完整可运行示例。
分步运行 Agents
当您需要处理耗时数天的工具调用时,这种方式特别有用:您可以逐步执行Agents。这还允许您在每一步更新记忆。
In [ ]: