代码调用就是一切
摘要
认为使用LLM生成的代码调用外部工具(代码调用)比传统的基于JSON的函数调用更高效、功能更强,但需要安全的沙箱环境。作者正在为此方法构建一个框架。
**大家好,**我想在此讨论一下**函数调用**(经典的JSON方法)和**代码调用**(或任何你喜欢的叫法,即LLM生成的代码调用外部工具)。两者都可行,但在大多数情况下,代码似乎**高效得多、功能更强、速度更快**。因为它可以并行进行多次调用,或者将值保存为变量并传递给另一个工具,而无需回传给LLM。代码调用的主要问题是安全性;你需要一个良好的沙箱才能将其投入生产环境。我认为纯粹的代码方法可能是未来的方向。事实上,我正在为此构建一个框架,并欢迎任何有兴趣的人合作!
相似文章
什么是 Codemode
Armin Ronacher 解释了 Pi 1.0 的一项新特性 Codemode:它让 LLM 在运行于沙箱化 WASM/QuickJS 环境中的 JavaScript 里编排复杂的工具调用,并重新审视他早先为智能体工具设计提出的“代码就是你需要的一切”这一论点。
引用 Jeremy Morrell
Jeremy Morrell 指出,LLMs 和现代沙箱原语为网络上的可扩展软件创造了机会,使用户能够安全地扩展应用程序并获得增强的能力。
Mistral 关于“代码实现的工具调用”的专利
Mistral 已获得一项专利,该方法使用 LLM 生成封装工具调用的代码块,在沙盒中执行,并在需要时暂停以等待客户端结果。
你的LLM不应该是你的编码智能体工作流
主张在编码智能体工作流中,LLM应仅用于推理,而由确定性基础设施处理队列、状态、重试和恢复,这样即使达到使用限制,流程也不会中断。
赋予LLMs exec()能力是一场安全噩梦。我构建了一个基于AST的开源防护机制来阻止恶意代理执行。
介绍ast-guard,一个开源的基于AST的安全工具,它通过将LLM生成的Python字符串解析为抽象语法树,并应用节点级白名单和上下文感知安全检查,防止恶意代码执行。