内容提要
AI SDK 的 HarnessAgent 的 fx 适配器改为在应用同一进程内运行 harness 和模型请求,文件系统与 shell 操作仍隔离在沙箱中。适配器使用 libfx,无需在沙箱内安装 fx、运行沙箱桥接或暴露端口,模型凭证保留在主机。新增内置工具过滤、回合中指令调整、结构化输出、图像工具结果及会话保存恢复功能。更新 @ai-sdk/harness-fx 即可使用。
延伸解读
架构调整:主机进程内运行,沙箱仅隔离操作
fx 适配器将 harness 和模型请求移到应用同一进程,而文件系统与 shell 操作仍留在沙箱。这意味着模型凭证无需传入沙箱,降低了凭证泄露风险;同时省去在沙箱内安装 fx、运行桥接或暴露端口,简化了部署链路。但需注意,主机进程需承担模型请求负载,沙箱仍负责隔离高风险操作。
新增能力:工具过滤与回合中指令调整
适配器新增内置工具过滤,可指定 agent 可用的内置工具,便于控制权限范围。回合中指令调整允许在回合运行时发送新指令,适合需要动态干预的场景。这两项功能提升了 agent 的可控性,但文章未说明过滤粒度或指令调整的具体限制,实际使用需参考文档。
输出与交互:结构化输出及图像结果
适配器支持生成符合 schema 的结构化输出,便于下游程序解析。图像工具结果可通过 toModelOutput() 返回给模型,扩展了多模态交互能力。这些特性让 agent 输出更可控、交互更丰富,但文章未提及对模型或工具的具体要求,集成时需验证兼容性。
会话持久化与升级注意
会话可在新的主机进程中保存和恢复,有利于长任务或跨进程续接。要使用新适配器,需将 @ai-sdk/harness-fx 更新至最新版本。文章未说明旧版本兼容性或迁移步骤,升级前应查阅 fx harness 文档,确认现有代码是否需要调整。
Q&A
fx 适配器现在运行在主机上是什么意思?
指 AI SDK 的 HarnessAgent 的 fx 适配器现在将 harness 和模型请求放在与应用相同的进程内运行,而文件系统和 shell 操作仍然隔离在沙箱中。
新的 fx 适配器还需要在沙箱里安装 fx 吗?
不需要。适配器使用 libfx(fx 的 TypeScript 库),不再需要在沙箱内安装 fx、运行沙箱桥接或暴露沙箱端口。
模型凭证现在存储在哪里?
模型凭证保留在主机上,不再被转发到沙箱中。
重写后的 fx 适配器新增了哪些功能?
新增功能包括:内置工具过滤(选择代理可用的内置工具)、回合中指令调整(在回合运行时发送新指令)、结构化输出(生成符合模式的响应)、图像工具结果(通过 toModelOutput() 向模型返回图像),以及会话可以在新的主机进程中保存和恢复。
如何开始使用新的 fx 适配器?
将 @ai-sdk/harness-fx 更新到最新版本即可使用新适配器。更多信息请参阅 fx harness 文档。
会话保存和恢复功能具体指什么?
会话可以在新的主机进程中保存和恢复,这意味着你可以在一个主机进程中保存会话状态,然后在另一个主机进程中恢复并继续。