使用文件系统配置保留会话状态并执行 shell 命令

在这篇文章中,我们将介绍如何使用托管会话存储来保存代理的文件系统状态以及如何直接在代理环境中执行 shell 命令。

来源:亚马逊云科技 _机器学习

人工智能代理的发展已经超越了聊天。编写代码、保留文件系统状态、执行 shell 命令以及管理整个文件系统的状态是它们可以执行的操作的一些示例。随着代理编码助手和开发工作流程的成熟,文件系统已成为代理的主要工作内存,将其功能扩展到上下文窗口之外。这种转变带来了每个构建生产代理的团队都会遇到的两个挑战:

  • 文件系统是短暂的。当代理的会话停止时,它创建的所有内容(例如安装的依赖项、生成的代码或本地 git 历史记录)都会消失。
  • 当您的工作流程需要像 npm test 或 git Push 这样的确定性操作时,您被迫通过大语言模型 (LLM) 路由它或在运行时之外构建自定义工具。这两种选择都不好。
  • Amazon Bedrock AgentCore Runtime 现在通过两项功能解决了这两个挑战:用于持久代理文件系统状态的托管会话存储(公共预览版)和用于直接在与每个活动代理会话关联的 microVM 内运行 shell 命令的执行命令 (InvokeAgentRuntimeCommand)。它们中的每一个本身都是有用的。他们共同解锁了以前不可能的工作流程。

    在这篇文章中,我们将介绍如何使用托管会话存储来保存代理的文件系统状态以及如何直接在代理环境中执行 shell 命令。

    AgentCore 运行时会话内部

    AgentCore Runtime 在具有隔离资源(包括其自己的内核、内存和文件系统)的专用 microVM 中运行每个会话。这种架构提供了强大的安全边界,但这也意味着每个会话都会启动到一个干净的文件系统。当 microVM 终止时,无论是通过显式停止还是空闲超时,代理创建的所有内容都会消失。

    托管会话存储(公共预览版):持续存在的状态

    配置持久存储

    或使用适用于 Python 的 AWS 开发工具包 (Boto3):