oh-my-opencode 给我的启发

在过去的几天里,我在一个真实且非简单的工程任务中对 opencode + oh-my-opencode 进行了高强度的使用。结果,我对代理系统有了非常明显的理解转变。

oh-my-opencode 给我的启发

在过去的几天里,我在一个真实且非简单的工程任务中对 opencode + oh-my-opencode 进行了高强度的使用。结果,我对代理系统有了非常明显的理解转变。

这个任务本身具体而毫不妥协地困难:

在 TiKV 上重新实现一个兼容 PostgreSQL 协议的 SQL 层,能够运行基本测试,例如 dvdrental 兼容性测试和 TPC-C。

实际上,这相当于重写 TiDB 的 SQL 层。

我非常清楚这有多难。即使让最小的 TPC-C 工作负载运行起来,我们也花了大约两个月的时间——而且这是团队合作的结果。

最终的结果真的让我感到震撼。

该项目在这里,我不会在这篇文章中展开细节。

让我震惊的不是它是否能完成,而是 完成的速度有多快

不到一个下午,系统就消耗了超过一百万的 token。因为我使用了各种“Pro Max”代理订阅,这甚至没有转化为额外的支出。

那一刻我才真正意识到:

编写代码的边际成本现在接近于零。 即使是像数据库、操作系统或编译器这样复杂的系统——说实话,从 AI 的角度来看,它们并不那么复杂。

这篇文章是关于这段旅程以及它如何改变了我的思维方式。

1、上下文工程不在于堆叠提示

在切换到 opencode 之前,我已经是一个重度用户,使用过 Claude Code、Gemini Pro 和 Codex 等工具。

结构上,它们都类似: 代理循环 + 工具使用,封装在 CLI 中。

老实说,底层模型能力已经大致趋同。现在每个人都在使用顶级模型。

然而实际结果的差异却很明显。

原因不是模型。 而是 上下文工程

有一种常见的误解,认为“包装器”是低技术含量的,不包含真正的创新。但我的经验正好相反:这才是真正的深度所在。

有效的上下文工程意味着持续、结构性地将以下内容注入系统中:

  • 清晰但不过度指定的目标(人类)
  • 明确的计划(代理)
  • 工程边界和限制(人类)
  • 历史决策和隐含假设(代理)
  • 稳定的中间结构,防止模型在长上下文中漂移(代理)

在切换到 opencode + oh-my-opencode 后,模型是一样的,但行为完全不同。

同样的代理循环。 同样的工具使用。 但复杂工程任务的交付质量却达到了完全不同的水平。

我在 oh-my-opencode 中发现的一个特别优雅的设计选择是:

它并不执着于“使用最强的单个模型”。 而是协调 同一工作流中的多个顶级模型

这不是一个新想法——三个裁缝胜过诸葛亮,这里我们有三个诸葛亮。

结果超出了我的预期。

未来上限不太可能仅来自越来越大的模型。更有可能的是:

多模型协作(在顶级)+ 上下文工程 + 稳定循环作为系统级设计。

2、不中断比“更聪明”更重要

另一个关键且常被忽视的因素是 不间断的流程

许多代理系统会不断中断过程:

think → execute → error → wait for human confirmation

是的,上下文技术上存在,但工作流是破碎的。

我现在通过 ralph-loop 来解决这个问题,允许代理在稳定的连续循环中无限运行(消耗 token),而人类只有在真正必要时才介入——通常是最终审查的时候。

人类不再被迫充当“下一步指挥官”。

一旦中断减少,差别就非常明显:

  • 工程节奏开始类似于真实的连续开发
  • 人类的认知负担显著下降

此时,AI 已经足够智能。 工具也已经足够好。

瓶颈是人类。

3、人机界面同样重要

即使在 TUI 中,opencode 的体验也明显优于 Claude Code。我认为核心原因是简单的:

人类需要一种控制感。

一个好的系统确保人类始终了解:

  • 系统正在做什么以及接下来要做什么(思考状态、待办事项)
  • 为什么这么做
  • 何时以及如何进行干预

一旦人类被简化为发出命令并等待结果,体验就会立即恶化。

一个真正优秀的代理系统将复杂性保留在代码和循环中,同时通过精心设计的界面将决策权、节奏和信任返还给人类。

4、当前最糟糕的体验:基础设施

如果我要说出当今代理体验中最薄弱的部分,那仍然是 基础设施

  • 沙盒和运行时配置
  • 启动数据库和依赖服务
  • 测试环境、夹具、数据准备
  • 本地设置与 CI 之间的一致性

这些任务重复、上下文碎片化,并且对代理来说极其不友好。

即使模型可以“写代码”得非常好,一旦遇到基础设施摩擦,势头就会立刻停滞。

真正决定体验上限的下一阶段并不是 opencode 本身,而是:

opencode + 基础设施抽象。

当沙盒、数据库、测试和 CI/CD 成为第一级上下文对象——而不是人类必须拼接的脆弱脚本——代理才能真正从“代码写作助手”进化成持续推动工程前进的系统。

5、“Opencode for XXX” 将很快到来

程序员可能是最早感受到 AGI 到来的群体之一。

不管我们是否喜欢,专业编程工作将会消失。但这不是值得恐慌的事情。人类不再需要为了生存而狩猎,但我们仍然去健身房——为了享受、挑战和思维锻炼。

“传统编程”将作为一种技艺、一种爱好、一种思维游戏而继续存在。

话虽如此,根据最近编程代理的发展轨迹,我相信:

  • 上下文工程是可转移的
  • 模型能力正变得标准化
  • 更多的 token 意味着更多的智能

换句话说,使用相同的原料(LLM)但不同的厨师(Claude Code、opencode),你会得到截然不同的结果——即使你的个人“初始提示”(目标)没有改变。

我们将很快看到如 opencode for XXXopencode for YYY 的系统。

底层模型可能相同,但通过不同的上下文组织,它们的行为就像完全不同的专业系统。

到那时,“通用模型是否足够强大”的问题将不再重要。

真正的区分因素将是:

谁理解如何构建一个长期运行、稳定、可持续的上下文。

原文链接:Some thoughts after intensive use of opencode + oh-my-opencode

汇智网翻译整理,转载请标明出处