从 Opencode 文档学习 AI 智能体设计的 7 大构建模块
Opencode 的开源文档堪称智能体架构入门教材。以下是每位开发者都应该理解的七个核心概念。
Opencode 正迅速成为继 Claude Code 之后开发者讨论最多的 AI 编码工具。在韩国,Oh-my-opencode 的推动下采用速度飞快,全球的开发者社区也在密切关注。
但 Opencode 的真正价值不仅仅是编码辅助。因为它是开源的,你可以直接检查智能体是如何设计的 - 从工具注册到子智能体编排。开源项目受益于社区开发者的贡献,这意味着文档反映了智能体架构领域最前沿的思考。
Opencode 文档的 Configure 部分读起来就像一本智能体设计的入门教科书。以下是它呈现的七大构建模块,以及每个模块重要的原因。
Tools:智能体与世界交互的方式
Tools 定义了智能体能做什么。每个工具都是一个离散的能力 - 读取文件、写入文件、执行终端命令、搜索网页 - 注册为可调用的函数。
- 你提供的工具集合决定了智能体的能力边界
- 工具是语言模型与外部环境之间的接口
- 根据我的经验,给智能体太多工具反而会适得其反:它花在选择用哪个工具上的时间比实际执行还多
设计原则很直接:没有工具的智能体只是一个聊天机器人。拥有合适工具的智能体才能成为自主工作者。
Rules(AGENTS.md):智能体的行为准则
AGENTS.md 是一种文件格式,用于向智能体传达项目特定的上下文和约束。可以把它理解为面向 AI 而非人类编写的 README。
- 包含”没有测试不得修改代码""遵循此文件夹结构”之类的指令
- AGENTS.md 标准已被超过 6 万个开源项目采用
- 规则在不改变底层模型的情况下塑造智能体的决策
没有规则,智能体会将通用训练内容直接应用到你的项目上。有了规则,它会反映你项目的惯例、约束和偏好。差异是显著的。
Agents(子智能体):分而治之
复杂任务拆分给多个专业智能体处理,比交给单一通用智能体更有效。
- 你可以定义角色特定的智能体:Build、Plan、Review、Debug 等等
- 主智能体制定计划,子智能体执行各个步骤
- 每个子智能体在专注的上下文中运行,减少了长时间单一会话中的噪音和偏移
这与将微服务原则应用于 AI 工作流相同。专业化提升质量,隔离防止上下文污染。
MCP(Model Context Protocol):外部连接的标准
Model Context Protocol 是 Anthropic 创建的开放协议,标准化了智能体连接外部数据源和服务的方式。
- 为数据库、文件系统、API 等集成提供一致的接口
- 无需为每个服务编写自定义适配器,MCP 为智能体提供统一的外部访问方式
- 预计基于 MCP 层将出现日益增长的服务应用生态系统
MCP 解决了实际的互操作性问题。之前每个智能体框架都发明了自己连接外部工具的方式。MCP 使这些连接变得可移植、可组合。
LSP(Language Server Protocol):代码理解的基础
Language Server Protocol 最初是为 IDE 设计的,但事实证明它对需要浏览代码库的 AI 智能体同样有价值。
- LSP 提供跳转到定义、查找引用、自动补全和诊断功能
- 在 Opencode 中 LSP 集成仍是实验功能,但代码导航精度有了显著提升
- 智能体可以使用 LSP 从语义层面理解代码结构,而不是纯粹依赖文本搜索
一个能追踪函数调用到其定义、追溯所有引用、理解类型层次结构的智能体,与一个只做字符串模式匹配的智能体在根本上处于不同层次。
A2A 和 ACP:智能体间通信标准
当智能体由不同框架构建时,它们需要共享协议来协作。两个标准正在兴起以填补这一空白。
- A2A(Agent-to-Agent):由 Google 创建并捐赠给 Linux Foundation。定义了智能体如何发现彼此、协商能力和交换消息
- ACP(Agent Communication Protocol):由 BeeAI 团队构建,最近合并到了 A2A 计划中
两者都处于早期阶段,但它们代表了多智能体系统的基础 - 来自不同供应商和框架的智能体可以无缝协作。类比就是 Web 的 HTTP - 一个使一切可互操作的共享传输层。
Skills:可重用的能力包
Agent Skills 将工具、规则和提示词打包成单一可安装单元。由 Anthropic 首先引入的这种格式现已标准化。
- 智能体在需要特定能力时加载技能 - 如代码审查、TDD 工作流或安全分析
- 技能可跨项目和团队共享,创建可重用智能体行为的生态系统
- 这标志着从消费文档到消费技能的转变:不再阅读如何做,而是安装做的能力
技能之于智能体,就如同包之于应用程序。它们将专业知识模块化并使其可分发。
要点总结
构建有效的 AI 智能体不在于知道所有可用的工具,而在于理解架构:智能体如何思考、如何连接外部世界、如何彼此协作。
这七大构建模块 - Tools、Rules、子智能体、MCP、LSP、A2A/ACP、Skills - 构成了智能体设计的结构性词汇。每个模块解决一个独特的关注点,它们共同定义了一个设计良好的智能体系统的样貌。
由于 Opencode 是开源的,其文档随着开发者社区的贡献而不断演进。如果你真心想理解智能体架构,Opencode 文档值得一读。
订阅通讯
获取关于我最新项目、文章以及 AI 和 Web 开发实验的更新。