OpenCode、Pi 与 Goose:开源 AI Agent 栈的三个层级 OpenCode、Pi 与 Goose开源 AI Agent 栈的三个层级最近开源 AI Agent 生态蓬勃发展涌现出许多新项目。其中 OpenCode、Pi 和 Goose 三个项目经常被放在一起讨论但它们实际上代表了 AI Agent 栈中三个不同但互补的层级。理解这个三层模型有助于我们更好地选择和使用这些工具。PiAgent 内核Agent KernelPi 是一个 Agent 工具包agent harness/toolkit它提供了构建和运行 AI Agent 所需的基础设施交互式 CLI提供命令行界面与 Agent 交互Agent 运行时管理 Agent 的生命周期和执行多提供商 LLM API支持接入不同的语言模型提供商终端 UI 库提供终端用户界面组件Pi 的核心定位是底层基础设施——它没有内置的权限系统也不规定 Agent 应该做什么。它更像是一个引擎为上层应用提供运行能力。Goose本地 Agent 工作台Orchestration SurfaceGoose 是一个本地 AI Agent 工作台提供了更高层的抽象桌面应用和 CLI提供图形界面和命令行两种使用方式API 接口支持程序化调用Linux 基金会 Agentic AI Foundation 成员属于更广泛的开源 AI 生态MCP 风格扩展通过类似 Model Context Protocol 的方式扩展能力Goose 的定位是编排层——它负责协调不同的工具和 Agent为用户提供统一的工作界面。OpenCode编码 AgentSoftware Development AgentOpenCode 是一个专注于编码的开源 AI Agent终端 UI 和桌面应用提供多种交互方式全访问构建 Agent 模式可以完全访问文件系统和执行命令只读规划 Agent 模式仅读取代码进行规划不修改文件OpenCode 是三层模型中最上层的应用——它专注于软件开发场景利用下层的运行时和编排能力来完成具体的编码任务。三层模型这三个项目构成了一个清晰的三层架构┌─────────────────────────────────┐ │ OpenCode编码 Agent │ ← 应用层面向具体任务 ├─────────────────────────────────┤ │ Goose编排层 │ ← 编排层协调工具和 Agent ├─────────────────────────────────┤ │ PiAgent 内核 │ ← 基础设施层运行时和 API └─────────────────────────────────┘Pi提供底层运行时能力Goose在 Pi 之上提供编排和工作台功能OpenCode利用这些能力专注于软件开发任务配置与提供商问题在使用这些工具时配置和 LLM 提供商的选择是一个重要考虑因素不同的提供商OpenAI、Anthropic、本地模型等可能有不同的能力和限制配置方式因工具而异需要针对具体工具进行设置提供商的选择会影响 Agent 的能力和成本使用场景根据不同需求可以选择不同层级的工具只需要 Agent 运行时直接使用 Pi需要统一的工作台和工具编排使用 Goose专注于编码任务使用 OpenCode需要完整栈可以组合使用三层工具核心区分维度PiGooseOpenCode定位Agent 内核/运行时编排层/工作台编码 Agent抽象层级底层基础设施中间编排上层应用主要功能CLI、运行时、LLM API桌面应用、API、MCP 扩展终端 UI、编码任务权限系统无内置有有全访问/只读模式尚未回答的问题这个生态仍在快速发展中一些问题尚待解答三层之间的集成边界会如何演变是否会出现更多专注于特定领域的 Agent如 OpenCode 专注于编码配置和提供商的标准化会如何发展结论OpenCode、Pi 和 Goose 不是竞争关系而是代表了 AI Agent 栈中三个不同但互补的层级。理解这个三层模型有助于更好地选择适合自己需求的工具理解不同工具之间的关系和依赖预测这个生态的未来发展方向随着开源 AI Agent 生态的成熟我们可能会看到更多专注于特定层级的项目出现以及层级之间更清晰的接口和集成方式。来源- OpenCode- Pi- Goose- 原文 Gist