霍格沃兹测试开发学社
06-28 · 北京测吧
OpenCode 的核心设计(二)
二、本质上是供应商锁定的反弹这件事的本质不是“Claude 不让用了”。本质是开发者对“供应商锁定”的集体反弹。过去两年,AI 编程工具市场被几个巨头瓜分。Cursor 每月 20 美元,绑定了自己的模型套餐。Claude Code 按 Token 计费,只能用 Anthropic 的模型。GitHub Copilot 每月 10 美元,只能用 OpenAI。每个工具都在努力把用户圈在自己的生态里。OpenCode 走了一条完全相反的路:模型无关。它支持 75 种以上的模型提供商——Anthropic、OpenAI、Google Gemini、DeepSeek、本地部署的 Ollama 和 llama.cpp。你用谁的 API Key,就连谁的模型。工具本身不抽成、不锁定、不干预。一个 Reddit 高赞评论说得更直接:「Anthropic 正在激励用户留在自己的产品生态里,而不是在 API 之上构建外部工具。」开发者用脚投票的结果是:OpenCode 成了 GitHub 上星标最高的开源编程 Agent。但模型无关只是“为什么用”的理由。真正让开发者“留下来”的,是它内部那套主 Agent 与子 Agent 的分层架构。三、核心机制拆解:主 Agent 与子 Agent 的分层架构OpenCode 采用客户端-服务器架构,基于 TypeScript 和 Bun 运行时构建。整体分为四层:客户端层、核心服务层、扩展层、模型适配层。但最值得关注的设计,是核心服务层里的 Agent 系统。OpenCode 的核心设计理念,是以“代理模式工作流”为核心,将复杂编程任务拆分为“主代理 + 子代理”的协作模式。3.1 主 Agent 与子 Agent 的定位差异主 Agent 出现在 OpenCode 的 Agent 切换器中,是用户直接交互的对象。子 Agent 通过 Task 工具被主 Agent 生成,不能直接被用户选中。本质上是这样分工的:主 Agent 负责理解用户的整体目标、规划执行步骤、统筹全局。子 Agent 负责拆出去干具体的小任务——查文档、改某个模块、写测试、跑命令、整理结果。你可以把子 Agent 理解成主 Agent 派出去的专项助手。主 Agent 负责整体目标和主线判断,子 Agent 负责一个更明确的小任务。
发布于 北京
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn