一、先建立整体认知:OpenCode到底是什么?

很多人第一次接触 OpenCode,会认为:

OpenCode = 一个能写代码的 ChatGPT

这个理解不完整。

更准确:

OpenCode 是一个基于 LLM(大语言模型)的 Agent 开发环境。

它不是单纯聊天,而是:

用户
 |
 |
需求
 |
 ↓
OpenCode Agent
 |
 |--------- 思考
 |
 |--------- 调用工具
 |
 |--------- 修改文件
 |
 |--------- 执行命令
 |
 ↓
完成任务

其中:

  • Agent:负责思考和决策
  • Tool:负责执行动作
  • MCP:负责扩展 Tool
  • SubAgent:负责任务分工

二、什么是 Agent?

1. Agent = AI员工

最简单理解:

Agent就是一个具有目标、能够自主规划并调用工具完成任务的AI。

普通ChatGPT:

你:
帮我写一个登录页面

AI:
给你代码

结束。

Agent:

你:
帮我实现登录页面


Agent:

① 查看项目结构

② 找前端框架

③ 找已有组件

④ 创建页面

⑤ 修改路由

⑥ 运行测试

⑦ 修复错误

⑧ 提交代码

它不是回答问题,而是执行任务。


2. Agent包含哪些能力?

一个Agent通常包含:

Agent
 |
 |-- 大语言模型 LLM
 |
 |-- Memory
 |
 |-- Planning
 |
 |-- Tools
 |
 |-- Environment

解释:

LLM

就是:

GPT
Claude
DeepSeek
Qwen

负责“思考”


Planning(规划)

例如:

任务:

开发购物车

Agent规划:

Step1:
分析数据库

Step2:
写接口

Step3:
写页面

Step4:
测试

Step5:
优化

Memory(记忆)

保存:

  • 项目背景
  • 用户习惯
  • 历史任务

例如知道:

这个项目使用Vue3
后端SpringBoot
数据库MySQL

Tools

Agent真正执行工作的手。

例如:

读取文件
修改文件
运行命令
搜索代码
访问GitHub

三、什么是 Tool?

这是理解 OpenCode 最关键的概念。

一句话:

Tool就是Agent可以调用的外部能力。

LLM本身只能:

输入文字
输出文字

它不能:

❌ 打开电脑文件

❌ 运行Python

❌ git commit

❌ 查询数据库

所以需要Tool。


例如:

你问:

帮我看看这个项目有什么文件

AI:

自己不能看。

但是调用:

filesystem tool

执行:

ls

返回:

apps
backend
frontend
README.md

AI再分析。


所以:

Agent
 |
调用
 |
Tool
 |
执行
 |
返回结果
 |
Agent继续思考

四、OpenCode里面有哪些常见Tool?

1. 文件工具

例如:

read_file
write_file
edit_file

作用:

读取和修改代码。


2. Shell工具

例如:

bash
terminal

作用:

执行:

npm install

python train.py

git commit

3. 搜索工具

例如:

grep
find
ripgrep

作用:

寻找代码。


4. Git工具

例如:

git status

git diff

git commit

5. MCP提供的Tool

比如:

GitHub MCP:

提供:

github.create_issue

github.search_repo

github.create_pull_request

于是Agent可以操作GitHub。


五、什么是MCP?

MCP:

Model Context Protocol

中文:

模型上下文协议

简单理解:

MCP是一套标准,让AI能够连接外部工具。


以前:

每家公司自己设计工具接口:

AI ---- GitHub
AI ---- Notion
AI ---- Database

乱。

MCP统一:

          MCP协议

AI Agent
    |
    |
 MCP Server
    |
----------------
|      |        |
GitHub Notion Database

举例:

没有MCP:

你需要:

写GitHub插件

写认证

写API

有MCP:

安装:

github-mcp-server

授权:

OAuth

Agent直接:

查看仓库
创建Issue
提交PR

六、Agent和Tool是什么关系?

这是最重要的一句话:

Agent负责决定做什么,Tool负责真正去做。

类似:

公司:

项目经理
  |
  | 分配任务
  ↓

员工
  |
  | 执行动作

对应:

Agent
 |
 |
Tool

例如:

用户:

修改登录页面

Agent:

我要先看看代码在哪里

调用:

filesystem.read_file

Tool返回:

Login.vue

Agent:

我要修改它

调用:

filesystem.edit_file

七、什么是 SubAgent?

SubAgent:子代理。

简单:

一个Agent里面再创建多个专业Agent。


普通:

一个Agent

负责所有事情

升级:

                 Main Agent

                      |

       ----------------------------

       |            |             |

   Coding       Testing       Review

   Agent        Agent         Agent

八、为什么需要SubAgent?

因为一个AI干所有事情,会出现:

问题1:上下文爆炸

比如:

开发商城需要:

前端代码
后端代码
数据库
测试
部署
文档

全部塞给一个Agent太长。


问题2:角色冲突

写代码需要:

“创造”

代码审查:

需要:

“批判”

一个AI同时:写 + 审自己的代码

效果不好,所以拆开。


九、实际开发例子

假设:

你现在开发一个项目,名称为mall

需求:

添加用户个人中心 mine 页面

如果没有SubAgent:

Main Agent

读取项目

写页面

调接口

测试

修改bug

提交git

有SubAgent:

Main Agent

任务拆分

 |
 |
 |---- Frontend Agent

       创建mine页面


 |
 |---- Backend Agent

       创建用户接口


 |
 |---- Test Agent

       测试功能


 |
 |---- Review Agent

       检查代码


 |
 |---- Git Agent

       提交代码

最后Main Agent汇总。


十、Agent、MCP、Tool、SubAgent关系图

你可以记这个:

                    用户

                     |

                     ↓

              Main Agent

                     |

       ----------------------------

       |                          |

   SubAgent                  Tool调用


       |                          |

       |                          |

 专业任务                  执行动作


                                  |

                                  ↓

                            MCP Server


                                  |

                 --------------------------------

                 |              |              |

              GitHub          DB           Notion

十一、用一句话区分四个概念

概念 是什么 类比
Agent 会思考、规划任务的AI 项目经理
Tool AI可以使用的能力 员工的工具
MCP 连接外部工具的标准协议 公司系统接口
SubAgent 专业分工的AI 不同岗位员工

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐