Microsoft Agent Framework —— CodeAct:Agent写代码,沙箱执行

Microsoft Agent Framework —— CodeAct:Agent写代码,沙箱执行

💡 原文中文,约11900字,阅读约需29分钟。
📝

内容提要

本文介绍了MAF的CodeAct能力,强调其通过将多步工具编排合并为一次代码执行,解决了工具往返成本、执行边界模糊和工具治理碎片化等问题。CodeAct由六个组件协作完成,确保执行的安全性和效率。建议逐步引入工具与审批,建立稳定的审批回路,以实现高效的执行与治理。

🎯

关键要点

  • CodeAct 是 MAF 的一种能力,通过将多步工具编排合并为一次代码执行,解决了工具往返成本、执行边界模糊和工具治理碎片化等问题。

  • CodeAct 由六个组件协作完成,包括上下文注入层、直连工具层、配置与能力描述层、运行快照层、沙箱生命周期层和跨沙箱边界桥接层。

  • CodeAct 制造了两套工具可见面,模型可见面只看到一个工具 execute_code,沙箱可见面则可以调用宿主 AIFunction,但不在模型的工具列表中。

  • 一次完整的 CodeAct 执行由 agent 框架、provider、executor、sandbox 和模型五方协作完成,确保执行的安全性和效率。

  • execute_code 永远返回一个结构化 JSON 字符串,包含 stdout、stderr、exit_code 和 success 四个字段,确保可观测性。

  • CodeAct 的性能依赖于沙箱的复用机制,通过配置指纹和预热快照来避免每次都重新启用沙箱。

  • 审批模型的粒度是 execute_code 整次调用,确保代码块本身需要被批准,而不是特定调用。

  • 建议逐步引入工具与审批,建立稳定的审批回路,以实现高效的执行与治理。

延伸问答

CodeAct 的主要功能是什么?

CodeAct 是 MAF 的一种能力,通过将多步工具编排合并为一次代码执行,解决了工具往返成本、执行边界模糊和工具治理碎片化等问题。

CodeAct 的执行流程是怎样的?

一次完整的 CodeAct 执行由 agent 框架、provider、executor、sandbox 和模型五方协作完成,确保执行的安全性和效率。

CodeAct 的审批模型是如何工作的?

CodeAct 的审批模型粒度是 execute_code 整次调用,确保代码块本身需要被批准,而不是特定调用。

CodeAct 的性能如何优化?

CodeAct 的性能依赖于沙箱的复用机制,通过配置指纹和预热快照来避免每次都重新启用沙箱。

CodeAct 中的沙箱执行有什么限制?

Hyperlight 沙箱默认是零能力面,不能访问宿主进程、不能联网、不能读文件系统,所有能力都必须显式声明。

如何逐步引入 CodeAct 的工具与审批?

建议逐步引入工具与审批,建立稳定的审批回路,以实现高效的执行与治理。

➡️

继续阅读