From "show me your code" to "show me your idea"

From “show me your code” to “show me your idea”

从“给我看代码”到“给我看你的想法”

From “show me your code” to “show me your idea” Or: the abdication is signed, and the court is empty 2026-07-13 Second in a six-part series on what building with AI agents did to one developer. This piece is where code loses authority — and the question becomes what can still pin “this is what I meant.” 从“给我看代码”到“给我看你的想法”,或者说:退位书已签,法庭已空。2026年7月13日。这是关于AI智能体开发如何改变一名开发者的六篇系列文章中的第二篇。本文探讨了代码失去权威性的时刻,以及当代码不再能作为“这就是我的本意”的证明时,我们还能依靠什么。

Last week someone turned a laptop toward me. A function on the screen, comments neat, tests green. He pointed at a line and said: this is what I meant. I asked: is that what you meant, or what the model smoothed into place? He froze. I froze. Three seconds opened in the air that neither of us would fill. 上周,有人把笔记本电脑转向我。屏幕上是一个函数,注释整洁,测试通过。他指着其中一行说:这就是我的本意。我问:这是你的本意,还是模型润色后的结果?他愣住了。我也愣住了。空气中出现了三秒钟的空白,我们谁都没有打破。

In those three seconds I counted two thoughts. First: I shouldn’t have asked. Second: who else is left to ask. Fingers on the trackpad edge — the heat was the machine’s, not an idea’s. Two people facing the same green, neither daring to hit Enter. It wasn’t supposed to be like this — I thought. 在那三秒钟里,我脑海中闪过两个念头。第一:我不该问。第二:还能去问谁呢?手指触碰着触控板边缘——那热量来自机器,而非某种思想。两个人面对着同样的绿色测试结果,谁也不敢按下回车键。我心想,本不该是这样的。

There used to be a tyrant: compiler, tests, exit codes. Talk is cheap, show me the code. Pretty talk died where the run failed. Drop the brick; fakes rang. After the ask you could stand across an exit code — a piece of iron in the middle that would not lie. The brick is still there. He pushed it over. The authority is gone. 过去曾有一个暴君:编译器、测试、退出代码。“空谈误国,实干兴邦”(Talk is cheap, show me the code)。漂亮话在程序运行失败时便会破灭。扔出这块“砖头”(代码),伪劣者自会现形。在那之后,你可以站在退出代码的对面——那是一块不会撒谎的铁证。砖头还在那里,但他把它推开了。权威消失了。

Running is no longer the same as “this is what you meant.” The prettier the sample, the more the questioner looks like a nitpicker. And you still can’t drop the question — drop it, and you pretend that running is the same as “this is what you meant.” So some people bring it back: show me your talk. More meetings, spell it out, align the narrative. 程序能运行,不再等同于“这就是你的本意”。示例越漂亮,提问者看起来就越像个吹毛求疵的人。但你依然无法放弃这个问题——如果放弃,就等于假装“运行成功”等同于“这就是你的本意”。于是有些人又回到了原点:给我看你的谈话。更多的会议,更详细的阐述,对齐叙事。

Talk was always cheap. I always took it for empty speech — time burned, energy burned — which is why I would rather stake the final court on code. Code lost its authority. I do not want that road back. So the ask shrinks to: show me your idea. Not inviting talk back in — wanting something that can still be pinned: a tradeoff, a fork, whose fault if wrong. 谈话向来廉价。我一直认为那是空谈——浪费时间,浪费精力——这就是为什么我宁愿把最终的裁决权交给代码。代码失去了权威,我不想回到过去。所以,要求缩减为:给我看你的想法。不是为了让空谈回归,而是为了寻找某种依然可以被锚定的东西:一种权衡,一个分叉点,如果错了,是谁的责任。

Open your mouth, and it becomes talk again. Models say it too, often smoother. The waste I hated most came back in a different shirt. I am still beside him, trackpad heat still on my fingertip, not knowing whether to say “I believe you” or “prove it again.” Both feel wrong. Swallow; throat goes dry. 一旦开口,就又变成了空谈。模型也能说,而且往往说得更顺溜。我最痛恨的浪费,换了件马甲又回来了。我依然站在他身边,指尖还残留着触控板的热度,不知道该说“我相信你”还是“再证明一次”。两者似乎都不对。咽了口唾沫,喉咙发干。

Two days later I asked him again. Softer: not “did you mean this,” but “why write it this way.” He answered fast. Boundaries first, then retry on failure, then why not the other path. Clean. I almost convicted him again for being too smooth. When he finished, I changed the knife — not restatement, a fork: “If the retry budget is cut in half, what breaks first?” 两天后,我再次问他。语气更柔和了:不是问“这是你的本意吗”,而是问“为什么这样写”。他回答得很快。先是边界条件,然后是失败重试,接着解释为什么不选另一条路径。很清晰。我差点又因为他回答得太顺畅而给他定罪。当他说完,我换了把刀——不再是复述,而是抛出一个分叉点:“如果重试预算减半,什么会先崩溃?”

He stopped. Not the pause of swapping connectives. After the stop, he named something that had not appeared in the first speech — the order of cache invalidation. That inch was his. A model can answer a fork too, often more completely. I asked again: if we do it in the order you said, which step blows up first online — which sentence do you own? 他停住了。那不是在斟酌措辞的停顿。停顿之后,他指出了一个在第一次陈述中未曾出现的东西——缓存失效的顺序。那一寸逻辑属于他。模型也能回答分叉问题,而且往往更全面。我再次追问:如果我们按你说的顺序执行,线上哪一步会先炸掉——哪一句话是你自己负责的?

He pointed at the one he had just spoken. That point mattered more than answering completely. I had been measuring wrong: smooth is not evidence of guilt; standing behind the fork is. I asked myself the same way. At night, facing a stretch I had just “written” — I had clicked Accept. The comment announced intent. I wiped the whole intent block, stared at the blank for a long time, then typed. 他指了指刚才说的那句话。那个指点比回答得完整更重要。我之前的衡量标准错了:顺畅不是罪证;敢于为分叉点负责才是。我用同样的方式审视自己。深夜,面对一段我刚刚“写”出的代码——我点击了“接受”。注释声明了意图。我删除了整个意图块,盯着空白看了很久,然后开始打字。

What came out was almost as smooth as what I erased. Smooth enough to sicken me. Deleted again. Typed again. The third pass was still smooth. Finger on Save, I thought: if it writes smooth, does that mean it isn’t mine. No. Reaching the same logic a second time can be called understanding. 写出来的东西几乎和我删掉的一样顺畅。顺畅得让我恶心。再次删除。再次打字。第三遍依然顺畅。手指悬在保存键上,我想:如果它写得顺畅,就意味着不是我的吗?不。第二次推导出同样的逻辑,可以称之为理解。

What I feared was not smooth — it was having no fork I could answer, while still using “I hesitated” to prove it was mine. I added a fork in my head, answered it poorly, and still pressed Save. The cursor moved on. I did not become more myself, or less. 我恐惧的不是顺畅,而是没有我可以回答的分叉点,却还要用“我犹豫过”来证明这是我的作品。我在脑海中增加了一个分叉点,回答得很糟糕,但还是按下了保存。光标继续移动。我并没有变得更像自己,也没有变得更不像。

Later I thought: asking can move a person and still fail to pin a lie, so nail. Nail every claim into something that runs and shows a side effect. One night I nailed eleven. The ninth went red. I fixed it, ran again, red to green. While fixing, my hand was hot — briefly, like heat on loan. When all eleven went green, the terminal lit in a row. 后来我想:提问可以触动一个人,却依然无法戳穿谎言,所以要钉死它。把每一个主张都钉在能运行并产生副作用的东西上。一天晚上,我钉了十一个。第九个变红了。我修复它,再次运行,从红变绿。修复时,我的手是热的——短暂地,像借来的热量。当十一个全部变绿,终端亮起了一排绿灯。

I sat with that row and waited for “this is what I meant” to sound inside. It didn’t. That sit cleared the old books. An exit code only ever proved one thing: it runs. It never proved “this is what you meant.” We treated those as the same passport and called the illusion rigor. The model did not remove the final court — it tore the illusion open. 我坐在那一排绿灯前,等待着“这就是我的本意”在心中响起。但它没有。那次静坐清空了旧账。退出代码只证明了一件事:它能运行。它从未证明“这就是你的本意”。我们把这两者当作同一本护照,并称这种幻觉为严谨。模型并没有拆除最终的法庭——它只是撕开了幻觉。

The green was steady. “This is what I meant” still did not sound. Nails can pin a lie. Nails cannot pin whose idea it was. I did not close his laptop. I did not rewrite that comment for him. The cursor still blinks after “this is what I meant.” I no longer expect it to testify for anyone. 绿色依然稳定。“这就是我的本意”依然没有响起。钉子可以钉住谎言,但钉不住想法属于谁。我没有合上他的笔记本电脑。我没有为他重写那条注释。光标依然在“这就是我的本意”之后闪烁。我不再指望它为任何人作证。

What I can require is only a sentence that can bite me later: which tradeoff I own, and if it is wrong, it is mine. That sentence can live in a PR, or only in the mouth. What matters is not a tidy format — it is whether a person will still stand behind a choice. Those three seconds ended in stopping — stop asking green to prove both “it runs” and “this is what I meant.” 我唯一能要求的是一句日后会反噬我的话:我承担了哪种权衡,如果错了,那就是我的责任。这句话可以存在于PR中,也可以只存在于口头。重要的不是整洁的格式,而是一个人是否依然愿意为自己的选择负责。那三秒钟以停止而告终——停止要求绿色测试同时证明“它能运行”和“这就是我的本意”。