AI 编程助手进阶指南:从 Claude Code 到 OpenCode 的工程化经验总结
摘要:本文融合Boris Cherny的系统性方法论与OpenCode开源生态的实战经验,提出AI编程助手的工程化使用框架。核心包括:1)思维转变,将AI视为工程系统而非聊天工具,通过多实例并行和分层模型选择优化效率;2)系统化配置,利用AGENTS.md和Skills构建可复用行为边界;3)闭环工作流,从计划到验证实现质量提升。OpenCode作为开源方案提供多模型支持、技能定制和本地部署优势。
融合 Boris Cherny 的系统性方法论与 OpenCode 开源生态的实战经验
一、思维转变:从"聊天工具"到"工程系统"
Boris Cherny(Claude Code 创始人)在 2026 年初的分享中强调了一个核心理念:AI 编程助手不是聊天工具,而是工程系统。这一认知转变是使用好这类工具的前提。
1.1 并行化工作流
Claude Code 经验:Boris 常年在终端运行 5 个 Claude 实例,Web 端再开 5-10 个,配合 --teleport 在本地和网页版间无缝切换,甚至用手机启动任务让其在后台运行。
OpenCode 实践:OpenCode 作为开源替代方案,同样支持多实例并行。通过 .opencode/skills/ 定义可复用的技能(Skills),你可以让不同实例专注于不同任务维度——一个负责核心功能开发,一个处理代码审查,一个专门做文档生成。
关键收益:不再"盯着 AI 干活",而是让它在后台推进任务,人类专注于架构设计和关键决策。
1.2 模型选择策略
Claude Code 经验:Boris 坚持使用 Opus 4.5 + thinking 模式,虽然更大更慢,但"更少跑偏、更少返工"。真正浪费时间的不是"等几秒",而是反复纠正。
OpenCode 实践:OpenCode 支持 75+ 种模型,包括其官方精选的 OpenCode Zen 免费模型(如 GLM-4.7、MiniMax M2.1)。建议根据任务复杂度分层:
-
复杂架构设计:选择带 thinking 模式的大模型(如 Claude 3.7 Sonnet、Kimi K2-Thinking)
-
日常编码任务:使用 OpenCode Zen 的免费轻量模型
-
快速验证:本地小模型或 Grok Code Fast 1 这类高速模型
二、系统化配置:构建可复用的 AI 行为边界
2.1 长期记忆外置:CLAUDE.md vs AGENTS.md
Claude Code 经验:团队共享 CLAUDE.md 文件,提交到 Git。这不是文档,而是长期记忆外置层。每次发现 AI 做错事,立即补充约束规则,团队成员每周多次贡献更新。
OpenCode 实践:OpenCode 提供了 AGENTS.md 作为对等方案。通过 /init 命令(或 ctrl+x i)创建,用于存储项目级上下文和规则,帮助 Agent 理解代码库。同时配合 Skills 系统(.opencode/skills/<name>/SKILL.md)定义可复用的具体行为。
三者关系:
-
AGENTS.md= 项目级长期记忆(对标CLAUDE.md),存储架构规范、编码标准、常用命令 -
SKILL.md= 可复用的具体技能模块,通过skill工具按需加载 -
opencode.json= 配置文件,管理模型、权限、MCP 等设置
工作流建议:
-
首次进入项目时运行
/init生成AGENTS.md,手动补充项目架构和约束规则 -
当发现 AI 重复犯错时,将纠正写入
AGENTS.md作为长期记忆 -
对于跨项目复用的能力(如 Git 工作流、发布流程),封装为 Skill 放入
.opencode/skills/ -
团队共享这些文件,通过 Git 版本控制迭代更新
2.2 Slash Commands 自动化
Claude Code 经验:将高频重复工作流(commit、push、PR)封装成 Slash Commands,配置在 .claude/commands/ 目录,避免每天几十次重复写同样的提示词。
OpenCode 实践:OpenCode TUI 原生支持丰富的 Slash Commands,通过 / 前缀快速执行操作。常用命令包括:
| 命令 | 功能 | 快捷键 |
|---|---|---|
/compact |
压缩当前会话上下文 | ctrl+x c |
/init |
创建或更新 AGENTS.md 文件 |
ctrl+x i |
/models |
列出可用模型 | ctrl+x m |
/new |
开启新会话 | ctrl+x n |
/undo |
撤销上条消息及文件变更 | ctrl+x u |
/redo |
重做已撤销的操作 | ctrl+x r |
/export |
导出会话为 Markdown | ctrl+x x |
/thinking |
切换思考/推理块的显示 | - |
进阶技巧:
-
使用
@引用文件(如@src/index.ts),自动将文件内容加入对话上下文 -
使用
!前缀执行 shell 命令(如!git status),输出自动作为工具结果返回 -
通过
/editor(ctrl+x e)打开外部编辑器编写复杂提示词,支持 VS Code、Vim 等
三、工作流程优化:从计划到验证的闭环
3.1 Plan Mode 先行
Claude Code 经验:会话从 Plan Mode 开始(Shift+Tab 两次),与 Claude 反复讨论直到产出满意计划,确认后再切换到自动接受编辑模式。好的计划 = 避免更大的返工。
OpenCode 实践:OpenCode 的初始化流程体现了类似理念。首次进入项目时,可以通过tab键切换为plan模式,和ai探讨方案后,通过/init初始化并生成 AGENTS.md 文件——这相当于项目的"记忆文件",包含代码库信息,帮助 Agent 更好地理解上下文。
建议流程:
-
初始化阶段:允许 OpenCode 生成
AGENTS.md,手动补充项目架构、编码规范、常用命令等 -
任务开始前:明确告诉 AI 你的预期,如"先列出修改计划,确认后再执行"
-
复杂任务:使用专门的 Plan Agent(可在
opencode.json中配置)先生成详细方案
3.2 Subagents 与职责分离
Claude Code 经验:定义专用子代理处理配套工作(如代码简化器、验证器),让 Claude 像项目指挥官一样协调这些"团队成员"。
OpenCode 实践:通过 Skills 的权限配置,可以为不同 Agent 分配不同技能集:
{
"agent": {
"plan": {
"permission": {
"skill": {
"internal-*": "allow"
}
}
},
"code": {
"permission": {
"skill": {
"test-*": "allow",
"deploy-*": "deny"
}
}
}
}
}
这样,Plan Agent 可以访问内部文档技能,而 Code Agent 只能使用测试相关技能,实现权限最小化。
3.3 验证闭环:质量提升 2-3 倍的关键
Boris 强调:给 AI 一个验证其工作的方法,最终结果质量提升 2-3 倍。
具体实践:
-
自动化测试:配置 PostToolUse hook 在工具调用后自动运行测试套件
-
代码格式化:使用 hook 处理最后 10% 的格式问题,避免 CI 因小问题反复失败
-
浏览器测试:使用 Claude Chrome 扩展或 Playwright 测试 UI
-
类型检查:对 TypeScript 项目,在 AI 编辑后自动运行
tsc --noEmit
在 OpenCode 中,可以通过定义专门的 validator skill 来实现:
---
name: validator
description: Run tests and type check after code changes
---
## Validation Steps
1. Run `npm run type-check` or `tsc --noEmit`
2. Run `npm test` or equivalent test command
3. If failures, report specific errors and suggest fixes
4. If success, confirm "All checks passed"
四、安全与权限管理
4.1 谨慎使用危险权限
Claude Code 经验:不使用 --dangerously-skip-permissions,而是使用 /permissions 预先允许已知安全的命令,配置写入 .claude/settings.json 并团队共享。
OpenCode 实践:OpenCode 同样支持细粒度权限控制。在 opencode.json 中:
{
"permission": {
"skill": {
"*": "allow",
"pr-review": "allow",
"internal-*": "deny",
"experimental-*": "ask"
}
}
}
| 权限 | 行为 |
|---|---|
allow |
技能立即加载 |
deny |
对 Agent 隐藏,访问被拒绝 |
ask |
加载前提示用户批准 |
4.2 长时间任务处理
Claude Code 经验:使用 --permission-mode=dontAsk 避免阻塞,配合后台代理验证工作,使用 Stop hook 确保执行预定义检查。
OpenCode 建议:对于耗时任务,可以:
-
在独立终端会话启动 OpenCode
-
使用
screen或tmux保持会话在后台运行 -
配置技能在任务完成后发送通知(如调用 Slack MCP)
五、MCP 集成:连接外部系统
Claude Code 经验:配置 MCP server 连接 Slack、Sentry、BigQuery 等,Claude 可以搜索 Slack、查询数据库、拉取错误日志。配置写在 .mcp.json 并团队共享。
OpenCode 实践:OpenCode 原生支持 Model Context Protocol (MCP),可集成本地和远程服务器。配置在 opencode.json 的 mcp 字段中,支持工具级权限管理。
5.1 本地 MCP 服务器
通过 type: "local" 配置,使用 npx/bun 等命令启动:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sentry-local": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-sentry"],
"enabled": true,
"environment": {
"SENTRY_AUTH_TOKEN": "{env:SENTRY_TOKEN}"
}
}
}
}
5.2 远程 MCP 服务器
通过 type: "remote" 配置,支持 OAuth 自动认证:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
},
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
}
}
}
OAuth 认证流程:
-
首次使用时自动触发浏览器授权
-
或使用 CLI 手动触发:
opencode mcp auth sentry -
查看认证状态:
opencode mcp auth list -
清除凭证:
opencode mcp logout sentry
5.3 权限与上下文管理
重要警告:MCP 服务器会增加上下文 tokens,过多工具容易超出上下文限制(如 GitHub MCP server)。建议谨慎选择。
全局禁用/启用:
{
"mcp": {
"sentry": { "type": "remote", "url": "https://mcp.sentry.dev/mcp" },
"context7": { "type": "remote", "url": "https://mcp.context7.com/mcp" }
},
"tools": {
"sentry*": false,
"context7*": true
}
}
按 Agent 分配:
{
"tools": { "sentry*": false },
"agent": {
"debug-agent": {
"tools": { "sentry*": true }
}
}
}
5.4 使用示例
配置完成后,在提示词中显式调用:
Show me the latest unresolved issues in my project. use sentry
或在 AGENTS.md 中预设行为规则:
When you need to search docs, use `context7` tools.
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
常用 MCP 集成:
-
Sentry:查询错误日志和项目问题
-
Context7:搜索技术文档(支持 API Key 提升限流)
-
Grep by Vercel:在 GitHub 代码片段中搜索示例
六、核心收获总结
融合 Boris Cherny 的系统性思维与 OpenCode 的开源实践,AI 编程助手的工程化使用可以归纳为三个核心原则:
1. 并行(Parallelism)
-
多实例调度,不让 AI 空闲
-
不同实例负责不同任务维度
-
后台运行,人类专注决策
2. 约束(Constraints)
-
用
CLAUDE.md或AGENTS.md积累团队共识 -
将经验转化为可复用的行为边界
-
每次 Review 不只是改代码,也在更新 AI 行为
3. 验证(Verification)
-
必须有反馈闭环,质量提升 2-3 倍
-
自动化测试、类型检查、代码格式化
-
AI 不只是写代码,还要能验证自己的工作
七、OpenCode 独特优势
作为开源方案,OpenCode 相比 Claude Code 有以下独特价值:
-
完全免费:OpenCode Zen 提供免费模型,降低使用门槛
-
高度可定制:Skills 系统允许深度自定义,不受限于厂商预设
-
多模型支持:75+ 模型可选,避免供应商锁定
-
社区生态:开源社区持续贡献新技能和集成
-
隐私可控:可本地部署,敏感代码无需上传第三方
结语
无论是 Claude Code 还是 OpenCode,工具只是手段,工程化思维才是关键。从"聊天"到"系统",从"单次交互"到"持续迭代",从"人工验证"到"自动闭环"——这三重转变,才是 AI 编程助手发挥最大价值的正确姿势。
建议从以下步骤开始实践:
-
选择 OpenCode 或 Claude Code 作为主力工具
-
建立项目的
CLAUDE.md或AGENTS.md,记录前三个你纠正过 AI 的错误 -
配置一个自动化验证流程(测试 + 类型检查)
-
尝试并行运行两个实例,分别处理不同任务
-
每周回顾并更新你的技能库
让 AI 成为真正的工程伙伴,而不仅仅是代码生成器。
参考来源:
-
Boris Cherny Twitter 分享 (2026.01.03)
-
OpenCode Skills 官方文档 (https://opencode.ai/docs/)
-
OpenCode 保姆级教程 (https://blog.csdn.net/weixin_42684533/article/details/157101036)
更多推荐


所有评论(0)