Decomposing the agent harness into swappable workers: the iii engine architecture
作者 Mike Piccolo 提出了一个观点:当前主流的 agent 框架(如 LangGraph, CrewAI)将循环、工具、记忆、审批等职责捆绑为一个整体,导致团队后期不得不重写整个 harness。他介绍了 iii 引擎的 worker 架构,将 agent 运行所需的 13 项职责(凭证解析、策略检查、会话持久化、预算追踪等)拆分为 11 个独立的 worker。每个 worker 通过同一个 WebSocket 原语(iii.trigger) 在总线上注册函数和触发器,能够像积木一样被单独添加、移除或替换。文中用生产环境的实例拆解了从 API 请求到 turn 状态机、流式响应、工具调用审批、预算记账和 OpenTelemetry 追踪的全链路,并给出了替换模型目录、新增模型供应商、私有 skill 存储、自定义审批界面等 5 个具体替换案例。核心论断是:agent harness 不应是一个需要被 fork 的单一框架,而应是一组可组装、独立版本化的 worker 合集,使架构从“选边站”的厚薄之争,变为一个可由配置文件滑动调节的连续体。本文适合在自建 agent 系统中遇到框架边界限制,或对松耦合 agent 基础设施设计感兴趣的后端工程师。