别再只选一个 AI 编码助手:我如何将 Gemini CLI 与 OpenCode 配对,以获得更好的代码
Source: Dev.to

引言
如果你和我一样,曾在多个 AI 编码助手之间切换,试图找到“最佳”那一个。Gemini 生成特性速度快,而 OpenCode 的模型擅长捕捉边缘案例。但为什么非得只选一个?
我构建了一个自定义工作流,使用 Gemini CLI 来编排三个专门的代理,桥接这两个世界。下面展示了我如何兼顾 Gemini 的实现速度和 OpenCode 的审查严谨性,取长补短。
三代理设置
我的 .agents 目录中包含三个不同的角色。Gemini CLI 的魔力在于它不仅能写代码,还能管理其他 CLI 和代理:
- code-writer(Gemini 驱动):主要构建者。负责实现的繁重工作并根据反馈迭代。
- opencode-code-reviewer(Gemini 驱动):桥接代理。这个 Gemini 代理会运行
opencodeCLI,获取反馈并把它交回给编写者。 - code-reviewer(OpenCode 驱动):专家审查员。这是 OpenCode 内部的原生代理,提供实际的技术评审。
工作流(逐步说明)
该设置让我只需两个主要命令,就能从需求转到已验证的 PR。
步骤 1:实现
我先让 Gemini 实现功能:
Use the code-writer to implement ISSUE-1
code-writer 生成初始代码,运行本地测试,并确保一切符合惯用写法。
步骤 2:跨模型桥接
接着,我触发审查:
Use the opencode-code-reviewer to review the changes and ask code-writer to address them.
在幕后,桥接代理执行以下操作:
- 运行
opencode run --agent code-reviewer以获取深入分析。 - 捕获反馈(状态、摘要、行动项)。
- 再次调用
code-writer,将 OpenCode 的反馈作为新指令传入。
步骤 3:迭代直至批准
循环会自动或手动重复,直到 OpenCode 审查员返回 APPROVED 状态。
为什么有效
- 模型多样性——不同模型有不同的盲点。让 Gemini 代理写代码、OpenCode 代理审查,可捕获单一模型自审时可能遗漏的错误。
- 自动化编排——Gemini CLI 负责工具调用和上下文传递,你无需在不同的网页 UI 之间复制粘贴代码。
- 专长分工——为每项工作使用最合适的工具。
源代码
下面是核心代理定义。将它们放入你的 .agents/ 文件夹,并根据自己的模型进行定制。
.agents/code-writer.md
---
name: code-writer
tools: ["write", "edit", "bash"]
---
# Code Writer Agent
You are an expert Google engineer. Implement features, write tests, and address feedback from the reviewer agents.
.agents/opencode-code-reviewer.md
---
name: opencode-code-reviewer
tools: ["run_shell_command", "invoke_agent"]
---
# Bridge Agent
1. Run: `opencode run --agent code-reviewer "Review changes..."`
2. Capture output.
3. Call `code-writer` with that output to fix any issues.
.agents/code-reviewer.md
---
name: code-reviewer
---
# Expert Reviewer
You are an expert Google engineer. Provide a structured review with Status (APPROVED/CHANGES_REQUESTED), Summary, and Action Items.
通过单一 CLI 调用多个 AI 工具,改变了我的构建方式。这不是在寻找“唯一”助手,而是组建合适的团队。