01-OpenCode 智能体系统概述(精炼版)
1. 什么是智能体(Agent)
智能体(Agent)是 OpenCode 中的核心概念,它是具有特定角色、能力和权限的 AI 助手。与传统 AI 助手相比,智能体具有以下特点:
- 专业化:每个智能体专注于特定领域或任务
- 可配置:可以自定义模型、工具、权限等
- 可协作:多个智能体可以协同工作完成复杂任务
- 可复用:配置好的智能体可以在多个项目间复用
2. 智能体类型
OpenCode 中有两种类型的智能体:
2.1 主智能体(Primary Agents)
- 作用:与用户直接交互,处理主要对话
- 特点 :
- 用户可以直接切换使用(按 Tab 键)
- 拥有完整的工具访问权限(可配置)
- 可以调用子智能体协助完成任务
- 内置主智能体 :
- Build:默认主智能体,拥有所有工具权限,用于开发工作
- Plan:受限主智能体,默认禁用文件编辑,用于规划和分析
2.2 子智能体(Subagents)
- 作用:被主智能体调用,执行特定任务
- 特点 :
- 通过
@智能体名称或 Task 工具调用 - 专注于特定领域(如前端、后端、测试等)
- 并行执行,提高效率
- 通过
- 内置子智能体 :
- General:通用任务智能体,可执行多步骤任务
- Explore:代码探索智能体,只读,用于代码库分析
2.3 对比表
| 特性 | 主智能体 | 子智能体 |
|---|---|---|
| 用户交互 | 直接交互 | 间接交互(通过主智能体) |
| 切换方式 | Tab 键切换 | @ 调用或 Task 工具 |
| 工具权限 | 完整(可配置) | 受限(可配置) |
| 使用场景 | 日常开发、规划 | 专项任务、并行处理 |
| 并行执行 | 否 | 是 |
3. 内置智能体介绍
3.1 Build(构建模式)
- 模式:Primary
- 特点 :
- 默认主智能体
- 拥有所有工具权限(read、write、edit、bash、task 等)
- 适合日常开发工作
- 使用场景:编写代码、修改文件、执行命令等
3.2 Plan(规划模式)
- 模式:Primary
- 特点 :
- 受限智能体
- 默认禁用 write、edit、bash 等修改性操作
- 适合规划和分析阶段
- 使用场景 :
- 分析需求并制定实现计划
- 代码审查和建议
- 技术方案讨论
3.3 General(通用任务)
- 模式:Subagent
- 特点 :
- 通用目的智能体
- 可执行多步骤复杂任务
- 拥有完整的工具访问权限
- 使用场景 :
- 研究复杂问题
- 执行多步骤任务
- 并行处理多个工作单元
3.4 Explore(代码探索)
- 模式:Subagent
- 特点 :
- 只读智能体
- 无法修改文件
- 快速、高效
- 使用场景 :
- 快速查找文件
- 搜索代码
- 理解代码库结构
4. 为什么需要自定义智能体
虽然 OpenCode 提供了强大的内置智能体,但在以下场景中,自定义智能体更加有效:
4.1 技术栈专业化
- 场景:团队使用特定的技术栈(如 Java + Vue、Python + React)
- 方案:为每种技术栈创建专门的智能体
- 好处 :
- 智能体了解技术栈的最佳实践
- 生成的代码符合团队规范
- 减少沟通成本
4.2 团队协作模式
- 场景:大型项目需要前后端分离开发
- 方案:创建 Frontend、Backend、DevOps 等专项智能体
- 好处 :
- 并行开发,提高效率
- 职责清晰,易于维护
- 专家级输出质量
4.3 特定领域知识
- 场景:项目涉及特定领域(如金融、医疗、电商)
- 方案:创建具有领域知识的智能体
- 好处 :
- 理解领域术语和业务逻辑
- 遵循行业规范和合规要求
- 提供专业的解决方案
4.4 安全与权限控制
- 场景:需要对不同操作设置不同的权限级别
- 方案:创建具有不同权限配置的智能体
- 好处 :
- 精细化的权限控制
- 防止误操作
- 符合安全合规要求
5. 智能体工作流程
用户输入需求
↓
主智能体(Orchestrator)分析
↓
检测技术栈和项目结构
↓
分配任务给子智能体
↓
子智能体并行执行
↓
汇总结果并返回给用户
6. 总结
OpenCode 的智能体系统提供了灵活、可扩展的 AI 辅助开发能力。通过合理配置内置智能体和创建自定义智能体,可以:
- 提高开发效率
- 保证代码质量
- 实现团队协作
- 适应不同项目需求
下一步,我们将学习如何创建和配置自定义智能体:
02-创建自定义智能体完全指南