
转载自:https://www.php.cn/link/62b395526e160d2e25c4b910ea419a90 作者:PingCAP 联合创始人兼 CTO 黄东旭
最近高强度使用了 opencode 与 oh-my-opencode,在一个并不简单的实际任务中,我对 Agent 系统的认知经历了一次显著的跃迁。
任务目标非常明确:
为 TiKV 重新构建一层兼容 PostgreSQL 协议的 SQL 接口层,需至少能通过基础测试,包括 dvdrental 兼容性测试和 TPCC 简化版。
这相当于重写 TiDB 的 SQL 层——我清楚这项工作的难度。即便只是让 TPCC 跑通,我们团队当初也耗时约两个月。
最终成果令我震惊:项目地址在此:https://www.php.cn/link/0f3839dc22ff5ad19a6b74203fac591f。
我原本预估它“能做”,但必然需要大量时间投入与反复调试;结果却出乎意料:仅用一个下午,消耗约 100 多万 token(得益于我是多个 Agent 平台的 Pro Max 用户,全程未额外付费)。
这是我第一次真切意识到:编写代码的成本已趋近于零,哪怕面对数据库、操作系统、编译器这类传统意义上的复杂系统(对当前 AI 而言,其实反而是结构清晰的“简单项目”)。
下面分享这段实践过程中的几点体悟。
Context Engineering 并不是堆 Prompt
在转向 opencode 之前,我已长期使用 Claude Code、Gemini Pro、Codex 等工具。
从表象看,它们都具备 agentic loop + tool use 的 CLI 形态。
坦白讲,底层模型能力本身已无本质差异,均属各家顶尖水准。
但在真实交付质量上,体验落差极为明显。
问题根源不在模型,而在 context engineering。不少人误以为“套壳”毫无技术含量,但我的切身体会是:其中门道极深……
真正高效的 context engineering,是将以下要素持续、结构化、稳定地注入系统:
- 清晰但不过度琐碎的目标定义(由人设定)
- 可执行、可追踪的分步计划(由 Agent 拆解)
- 明确的工程边界与硬性约束(由人划定)
- 历史决策链与潜在假设(由 Agent 维护)
- 支撑长上下文不发散的中间状态锚点(由 Agent 构建)
例如,当我切换至 opencode + oh-my-opencode 后,所用模型完全一致,行为却天差地别。同样是 agentic loop、同样支持 tool use,但复杂工程的交付质量完全不在同一维度。
oh-my-opencode 中一个让我倍感舒适的设计是:
它并不迷信“单一大模型最强即最优”,而是将多个一线模型有机整合进统一工作流。这个思路其实不难想到——三个臭皮匠胜过一个诸葛亮,更何况是三位顶级诸葛亮?
实际效果远超预期。
未来的能力天花板,未必取决于单个模型规模的继续膨胀,而更可能来自:多模型(顶级档位)协同 + context engineering + 稳健循环机制的整体架构设计。
不中断,比“更聪明”重要
另一个常被忽视却至关重要的维度是:
无缝连续的工作流(non-interruptive flow)。
许多 Agent 系统在 “思考 → 执行 → 报错 → 等待人工确认” 的环节中频繁打断。上下文虽在,但工作流已然断裂。
目前我主要借助 ralph-loop 来缓解这一问题:让 Agent 在一个可控、稳定的闭环中持续推进(持续消耗 token),
phpweb1.0基于php+mysql+smarty开发的企业解决方案,总体感觉简洁快速,适合小型企业的建站方案,也适合初学者学习。 之前发布过phpweb1.0的原始版本,仅提供大家交流和学习,但很多的爱好者提出了一些不足和好评,本不想继续开发1.0,因为2.0已经开发完毕而且构架与1.0完全不同,但是有些使用者喜欢这种简洁和简便,应大家的要求,美化和优化了一些不足之处。后台更加简洁美观。
人类只需在关键节点介入(通常是最终验收阶段),而非被迫充当“每一步的指令下达者”。
一旦中断大幅减少,变化立竿见影:工程节奏开始逼近真实开发的连续性,人的认知负荷显著降低。事实上,AI 当前已足够聪明,工具也足够成熟,效率瓶颈早已转移到人侧。
给人的界面同样重要
同样是 TUI,opencode 的交互体验明显优于 CC,我认为核心在于一点:
用户需要的是掌控感(sense of control)。
优秀的交互设计应始终让人清晰知晓:
- 系统当前正在做什么(实时展示 thinking 过程与 todo 列表)
- 它为何如此决策(提供推理依据或上下文引用)
- 我何时、以何种方式可以介入(明确标注干预入口与时机)
一旦用户陷入“向 Agent 下达指令→等待结果→再下指令”的被动循环,体验注定糟糕。
真正优秀的 Agent 系统,应把复杂性封装在代码逻辑与运行闭环中,
而将决策权、节奏主导权与信任感,通过精巧的界面设计交还给人。
当前最差的体验:Infra
如果必须指出当前体验中最薄弱的一环,
那仍是 infra 层:
- 沙箱 / 运行时环境配置
- 数据库及依赖服务的启动与管理
- 测试环境搭建、fixture 注入、数据初始化
- 本地开发与 CI 流水线的一致性保障
这些任务高度重复、上下文碎片化、且天然难以被 Agent 理解与调度。即使模型已能把“写代码”这件事做到极致,只要卡在 infra 上,整个工程节奏仍会被强行拖慢。
下一阶段决定体验上限的关键,并非 opencode 这类工具本身,
而是 opencode + infra abstraction 的深度融合。
当沙箱、数据库、测试框架、CI/CD 等全部成为系统可感知、可调度、可版本化的一等公民,而非一堆靠人工拼接的脚本时,Agent 才能真正从“写代码的助手”,进化为“持续驱动工程落地的自主系统”。
opencode for XXX,很快就会到来
程序员或许是最早感知 AGI 来临的群体。无论我们是否愿意接受,“职业写代码”这一角色正加速消亡。但也不必过度焦虑——人类不再靠体力狩猎后,依然会去健身房锻炼;作为一种思维训练与兴趣实践,“古法编程”将持续存在。
但从近期编程 Agent 的演进速度来看,我判断:
- Context engineering 是高度可迁移的能力
- 模型能力正快速趋于标准化
- 更多 token,意味着更强的综合智能
换言之,同样的“食材”(LLM),搭配不同的“厨子”(Claude Code / Open Code),产出截然不同的“菜肴”。而你本人最初输入的 prompt(目标意图)可能从未改变。
我们很快将迎来 opencode for XXX、opencode for YYY 这类垂直领域专用 Agent 系统。
底层模型完全可以一致,但凭借差异化的上下文组织策略,它们将展现出如专业系统般的独特行为范式。
届时,“通用大模型是否足够强”将不再是核心命题,真正决定成败的关键将是:
谁更擅长构建一个长期、稳定、可持续运转的上下文系统。
源码地址:点击下载









