LangChain发布DeepAgents沙箱功能:安全执行代码的新突破
AI Agent开发领域迎来重大突破!【AI大模型教程】
LangChain团队近日正式发布了DeepAgents沙箱功能,这是一套全新的集成方案,允许开发者在远程沙箱环境中安全执行任意DeepAgent代码。
目前,该功能已支持来自三家合作伙伴的沙箱服务:Runloop、Daytona和Modal。
下面,让我们深入了解沙箱的用途以及如何通过DeepAgents-CLI使用它们。
为什么需要沙箱?
沙箱为我们提供了一个简单、可配置的环境,用于在本地机器之外执行代码和处理任务。以下是一些典型的使用场景:
• 安全性保障:你的代理可能执行任意代码,这些代码可能对本地机器造成危害(例如:rm -rf命令)。在沙箱中运行意味着你的机器可以免受潜在恶意代码的威胁。
• 干净的环境:你需要特定的依赖、编程语言或操作系统配置,但不想污染本地环境。启动一个包含所需配置的沙箱,使用完毕后即可终止,保持本地环境的整洁。
• 并行执行:同时运行多个代理,每个代理都在自己独立的隔离环境中,避免资源冲突或相互干扰。
• 长时间运行的任务:让代理处理耗时的操作,而不会阻塞你的本地机器。
• 可重现性:确保团队成员之间执行环境的一致性。
工作原理
沙箱集成主要包含三个步骤:
• 设置沙箱(可使用可选的设置脚本)
• 代理需要执行命令
• 远程沙箱运行命令并将结果返回给用户
你的DeepAgent在本地(或你指定的任何位置)运行,但当它需要执行代码、创建文件或运行命令时,这些操作会在远程沙箱中进行。
代理可以完全访问沙箱的文件系统和命令输出,因此可以自然地迭代工作。设置脚本可用于加载环境变量、克隆Git仓库、准备环境等操作。
如何开始使用
要使用Daytona和Runloop沙箱,只需创建账户并将API密钥存储为环境变量(DAYTONA_API_KEY和RUNLOOP_API_KEY)。要使用Modal沙箱,请按照这里的设置说明进行操作,并运行modal setup命令。
完成设置后,DeepAgents CLI提供了简单的命令,让你在几分钟内就能开始使用沙箱,包括便捷的sandbox和sandbox-setup命令。
注意:虽然我们提供了上下文管理器来自动清理沙箱,但我们建议你检查提供商的仪表板,确保没有代理或沙箱意外地继续运行。
例如,以下命令可用于将runloop沙箱附加到你的DeepAgent,并使用位于当前目录中的自定义设置脚本:
uvx deepagents-cli --sandbox runloop --sandbox-setup ./setup.sh
安全使用沙箱的注意事项
虽然沙箱是隔离的,但在处理不受信任的输入时,代理仍然容易受到提示注入攻击。
为了降低沙箱中存在密钥的风险,建议运行可信的设置脚本、使用人工介入(human-in-the-loop)机制,并分配短期有效的密钥。
沙箱API正在快速发展,我们期待更多提供商支持有助于缓解提示注入和密钥管理问题的代理服务。
未来展望
LangChain团队对开发者将如何使用沙箱与DeepAgents感到兴奋。
他们将继续为沙箱添加更多配置选项,并分享更多关于集成沙箱以完成实际工作的示例。
如果你想观看关于如何开始使用沙箱的教程,可以查看他们的教程页面。准备开始构建了吗?今天就可以开始使用DeepAgents文档和GitHub仓库。
这一功能的发布标志着AI代理开发工具链的进一步完善。
通过提供安全的代码执行环境,LangChain正在降低AI代理开发的门槛,让开发者能够更安全、更高效地构建和测试AI代理应用。
对于需要在生产环境中部署AI代理的团队来说,这无疑是一个重要的里程碑。