现在是 2026年1月19日,星期一下午。
今天起的非常晚,因为昨天夜里比较兴奋在折腾 CZONE 和 OpenCode 的事情。虽然结果不令人满意。但是如果没折腾,或许昨天的结果是更加失败的。
熬夜就是不愿意承认自己一天的失败。 —— from PH
昨天夜里,用 OpenCode + MiniMax M2.1 从零搭建了一下 CZONE (在线版本的 CZON),见 这篇日志。
AI 上来一通问问问,从技术选型到脚手架搭建,再到功能设计,最后到 CI/CD 流程,整个过程非常快。
老实说,有点太快了,我有点晕车(笑)。
但是,关键的但是,很快就遇到问题。
我发现,它在解决 GitHub REST API 的权限问题上,细节理解不到位。
博闻强识?并不。
例如,我们初始化 Repo 之后要修改 .github/workflows/pages.yml 文件,来添加 CZON 的构建步骤。这件事是需要 workflow scope 的权限的,但是 OpenCode 给出的代码里,并没有包含这个权限。这个翻一下 GitHub API 文档就能看出来的。但是它反复忽略了这个细节。另外 GitHub 也是傻逼,报错信息就一个 404,完全没提示权限不足。它也完全没有意识到这个问题。
在这个过程中,我们展示了,写入 index.md 成功,写入 .github/index.md 成功,写入 github/workflows/pages.yml 也成功,唯独 .github/workflows/pages.yml 失败。虽然对话进行了多轮,因为它每次都要改改代码。但是这么明显了,没有意识到 .github/workflows/ 或许是一个特殊权限的目录。说明它的注意力涣散,在调试模式下的 Reasoning 能力不够强。
我强烈建议,LLM 自身或者外置控制框架 Agent,需要有一个实验室模式(Lab Mode),在这个模式下,Agent 需要反复设计对照实验,验证实验结果,从而找到真相。我有时候觉得 LLM 是一个无意识的大脑,你点哪里,它就亮哪里。提示词说什么,它就关注什么。
有时候我们又想要它博闻强识,有时候又希望它无知到清澈。从某种意义上,LLM 消耗的能量是一定的,我们希望它在应对不同任务时,能把能量分配到最需要的地方,而不是平均分配。最近出的一些 LLM 领域的进展,也往往采用了这种思路。
缸中之脑,行动力有限
另外一个很重要也很烦人的原因是,OpenCode 的自我调试能力不足。它完全没有打开 Browser 进行操控的能力,所以它只能频繁地猜测、打日志,然后拜托我去看日志。我有时候就陪它玩玩,但是有时候看着它,真像看着我的 Mentee,完全不知道它在想什么,干着急。我可以接受我有一个笨笨的 Meetee,但是我恐怕不能接受它是个“没有双手”的缸中之脑——还是要想办法完成它思维的闭环——隔壁 Google 家的 Antigravity 就做得不错,可能也是 Chrome 一家亲的缘故。
就社区方案而言,使用一些端到端测试框架(例如 Cypress, Playwright)来操控浏览器,应该是一个不错的选择。毕竟现在很多操作都需要浏览器端的交互,光靠 API 是不够的。
进展太快,境界虚浮
最后一个也是我归因的。这次 AI 从0开始,不到 10 分钟框框给我写了几十个文件。我看它就像打印一样,完全没有停下来休息的感觉。但是,任何一个复杂系统,都需要架构,都需要分层,都需要保证每个模块的基础质量。做完底层,做好测试,你才能放心地做上层。AI 现在完全没有这种节奏感,它就纯印刷代码。虽然说如果自带调试能力了,它或许能灵活地上下改动,但是真正不出问题,本质上靠得还是正确的概念、正确的抽象、正确的实现,要靠顺理成章,要靠说得通。至于 AI 会花多少时间在这件事情上,我觉得目前还远不及。或许这件事是只有协调层才能解决的,靠 LLM 自己做不到。LLM 只管开路,如泄洪的水一样,倾泻到势能的最低处。

不过很多人类也是这样的,以前的经典段子:一个水管工修理漏水,这里补上那里又炸开。头疼医头脚疼医脚。最后根本解决不了,只能在水里划船了。