vlog
← 返回全部文章

Tech

The code ships. The understanding never arrives.

June 17, 2026 · Liu Weipeng, Dark Time~5 min read

It's 2 a.m. Production is down. You're staring at a function you "wrote" three weeks ago, except you didn't write it — you described it, an AI produced it, the tests passed, and you moved on. Now there's a bug in the middle of it, and you realize, with a cold drop in your stomach, that you have no idea how this code actually works. The feature shipped on time. The understanding never arrived. This is the bill coming due, and it has a name.

A new kind of debt, with a familiar interest rate

In March 2026, Addy Osmani, an engineering leader at Google, named the thing many of us had been feeling but couldn't quite point at: comprehension debt. It's a new category of technical debt, specific to the age of AI-generated code — not the usual debt of messy architecture or skipped refactors, but the hidden cost to your own understanding when you let a machine do the thinking and skip the part where you do it yourself. Like any debt, it's invisible at the moment of borrowing. The code runs. The demo lands. The interest accrues quietly, and it comes due at the worst possible hour.

Same speed, less understanding — the receipt

If that sounds like a sermon from someone who codes by candlelight, the data says otherwise. In a randomized controlled trial, 52 software engineers were asked to learn a new library. The AI-assisted group finished in roughly the same time as the control group — no heroic speedup on the clock. But on a follow-up comprehension quiz, they scored 17 percentage points lower: 50% versus 67%. And here's the part that should make your palms sweat: the steepest decline wasn't in some abstract conceptual zone. It was in debugging — the exact skill you reach for at 2 a.m. You bought speed you didn't even get, and paid for it in the one ability you most need when things break.

Liu Weipeng saw this coming, just not in code

Long before AI could autocomplete a whole module, a Chinese programmer named Liu Weipeng wrote a quiet, stubborn book called Dark Time. His central idea: real learning doesn't happen in the seconds it takes to find an answer. It happens in "dark time" — the invisible hours your mind spends chewing, deriving, turning a problem over. The productive part of learning is background processing you can't see, and it's exactly the part AI offers to skip for you.

Liu has a rule that reads like a prophecy for the AI era: think before you search. When you wrestle with a problem first, you dig a hole in your mind — a question-shaped cavity. Then, when the answer arrives, it drops in and sticks, because something was waiting to receive it. Grab the answer instantly and there's no hole, nothing to catch it; it slides right off. "Immediately searching for the answer," he warns, "is making you dumber." Swap "searching" for "prompting" and he could have published it last week.

Generation is not comprehension

Here is the distinction the whole problem hinges on, and it's the same one Liu drew between producing and understanding. Being able to make code appear — by typing it, or by asking a model to type it — is not the same as being able to explain it. Liu's test for true understanding was brutally simple: teaching is the best learning. If you can't explain a thing clearly, you almost certainly don't understand it. An AI can hand you a flawless, finished block, and you can ship it, and you still won't be able to teach it to the junior next to you — which means, by Liu's measure, you don't actually know it.

And it's not just whether you use AI — it's how. The same trial split developers by behavior, and the gap is enormous. Those who used AI as pure generation delegation — generate, accept, move on — scored below 40% on comprehension. Those who used it for conceptual inquiry — asking why, weighing tradeoffs, probing the reasoning — scored above 65%. Same tool, opposite outcomes. The figure below lays the two paths side by side.

TWO WAYS TO CODE WITH AIDelegategenerationGenerate,accept, moveSame speed,17% lessWorst hit:debuggingComprehensiontest underAsk andprobeAskquestions,Weave itinto yourCan explainit = you getComprehensiontest overYou candelegate
Google's Addy Osmani named it 'comprehension debt' (March 2026): a randomized trial of 52 engineers learning a new library found AI-assisted coders finished just as fast but scored 17% lower on a comprehension quiz (50% vs 67%), with the biggest drop in debugging. The split is in HOW you use the tool — generation delegation scores under 40%, conceptual inquiry over 65%. Liu Weipeng's Dark Time names the cause: real learning happens in the thinking time you just skipped.

What this means for you tomorrow morning

So should you stop using AI? No — and that would be the wrong lesson. The fix isn't abstinence; it's using AI the way Liu describes learning. Make it answer questions instead of just producing artifacts: ask why it chose this data structure, what the tradeoffs are, what breaks if the input doubles. Then close the chat and explain the code back, out loud or in a comment, in your own words — if you can't, you've found your comprehension gap before prod does. And at least once, debug a piece of AI code by hand, no model in the loop, until you've felt how it actually behaves. Remember Liu's other warning: you remember what you've retrieved, not what you've re-read. AI agents now generate code 5 to 7 times faster than a human can comprehend it, which means the bottleneck — and the debt — is no longer typing. It's understanding. Don't let the swipe outrun the comprehension. Weave the new knowledge into the web you already have, or it isn't yours.

You can delegate the typing. You can't delegate the knowing.

Generation is the swipe; comprehension is the bill — and only your own dark time pays it down.

Framework drawn from Liu Weipeng's Dark Time (刘未鹏《暗时间》). "Comprehension debt" named by Addy Osmani (Google) in an O'Reilly / Medium piece, March 2026. Trial figures: a randomized controlled trial of 52 software engineers (50% vs 67% comprehension); generation-delegation use scoring below 40% vs conceptual-inquiry use above 65%; AI agents generating code 5–7× faster than humans comprehend it. Popular tech commentary.

技术

代码按时上线,理解却从未到货

2026 年 6 月 17 日 · 刘未鹏《暗时间》约 4 分钟

凌晨两点,线上挂了。你盯着三周前"写"的那个函数——可你根本没写它,你只是描述了需求,AI 生成了代码,测试跑绿,你就翻篇了。此刻 bug 就埋在它正中间,而你胃里一凉地意识到:你压根不知道这段代码到底是怎么跑的。功能按时上线了,理解却从未到货。这是账单到期的时刻,而它有个名字。

一种新债,却是熟悉的利率

2026 年 3 月,谷歌的工程负责人 Addy Osmani 给一种很多人隐隐感到、却指不出来的东西起了名字——理解债(comprehension debt)。这是 AI 生成代码时代特有的一类技术债:它不是架构混乱、不是欠下的重构,而是当你让机器替你思考、跳过本该自己走的那一步时,欠下的对"自己是否真懂"的隐性成本。和一切债务一样,它在借的那一刻看不见。代码能跑,演示漂亮,利息却在悄悄滚动,最后挑你最扛不住的时辰来收。

速度没快多少,理解却少了一截——这是收据

如果这听起来像个点蜡烛写代码的老古板的说教,数据会替你纠正。一项随机对照试验里,52 名工程师被要求学一个新库。用 AI 辅助的那组,用时和对照组基本一样——秒表上并没有什么神勇的提速。但在随后的理解测验里,他们低了 17 个百分点:50% 对 67%。而真正让人手心冒汗的是:跌得最狠的不是什么抽象的概念区,而是调试——正是你凌晨两点最仰仗的那项能力。你买来的速度其实没拿到,代价却恰恰是出事时你最需要的那项本事。

刘未鹏早就预见了,只是没说是代码

早在 AI 能自动补全整个模块之前,一位叫刘未鹏的中国程序员写了一本安静而执拗的书——《暗时间》。他的核心想法是:真正的学习不发生在你找到答案的那几秒,而发生在"暗时间"里——你的大脑反复咀嚼、推导、把一个问题翻来覆去想的那些看不见的时辰。学习中真正高产的部分,是你看不见的后台运算,而那恰恰是 AI 主动提出要替你跳过的那一段。

刘未鹏有一条像是为 AI 时代写的预言:先思考,再搜索。当你先和问题死磕,你会在脑中挖出一个洞——一个问题形状的空腔。等答案到来时,它正好落进去、卡得牢,因为早有东西在等着接它。若你一上来就抓答案,脑里没有洞、没有接口,它就直接滑走了。"一遇到问题就立刻搜答案,"他警告,"是在让你变笨。"把"搜索"换成"提示词(prompt)",这话像是他上周才发的。

能生成,不等于懂

整个问题的枢纽就在这个区分上,而它正是刘未鹏在"产出"和"理解"之间画的那条线。能让代码出现——无论是自己敲,还是让模型替你敲——和能讲清楚它,完全是两回事。刘未鹏检验真懂的方法残酷地简单:教是最好的学。一样东西你讲不清楚,那你几乎肯定没真懂。AI 可以递给你一段完美的成品,你可以把它上线,可你依旧没法把它讲给旁边的新人听——按刘未鹏的尺子,这就等于你并不会它。

而且关键不只在于你用不用 AI,更在于你怎么用。同一个试验按行为把开发者分了组,差距大得惊人。把 AI 当纯生成代劳的人——生成、接受、翻篇——理解测验低于 40%;把它当概念探询的人——追问为什么、权衡取舍、刨根问底——则高于 65%。同一个工具,相反的结局。下图把这两条路并排摆给你看。

用 AI 写代码的两种方式委派生成(你没在学)生成·接受·翻篇同样快,但理解低 17%调试时最吃亏理解测试不到 40%提问探询(你在织网)发问·探权衡把它织进知识网讲得清 = 真懂理解测试 65% 以上生成可以外包,理解只能自己长
谷歌的 Addy Osmani 给它起名「理解债」(2026 年 3 月):一项 52 名工程师学新库的随机试验发现,用 AI 的人完成得一样快,理解测验却低了 17%(50% 对 67%),其中调试一项跌得最狠。差别在于你「怎么用」工具——做生成委派得分不到 40%,做概念探询则超过 65%。刘未鹏《暗时间》点破病根:真正的学习,发生在你刚刚跳过的那段思考时间里。

这对明天早上的你意味着什么

那么该停用 AI 吗?不——把它读成"戒掉"就学错了。解药不是禁欲,而是按刘未鹏描述学习的方式去用 AI。让它回答问题,而不只是产出零件:问它为什么选这个数据结构、有哪些取舍、如果输入翻倍会先崩在哪。然后关掉对话框,用自己的话把代码讲回来——出声讲,或写进注释——如果讲不出,你就在生产环境之前先抓到了自己的理解缺口。而且至少有一次,要亲手调一段 AI 代码,全程不让模型插手,直到你真切感受到它到底怎么动。别忘了刘未鹏另一句告诫:你记住的是你检索过的,不是你重读过的。如今 AI 生成代码的速度,是人类理解速度的 5 到 7 倍,这意味着瓶颈——以及那笔债——早已不是打字,而是理解。别让"刷卡"跑赢"看懂"。把新知识织进你已有的那张网里,否则它就不是你的。

打字可以外包,懂不能外包。

生成是刷卡,理解是账单——只有你自己的暗时间,才能把它还清。

框架取自刘未鹏《暗时间》。"理解债(comprehension debt)"由谷歌的 Addy Osmani 于 2026 年 3 月在一篇 O'Reilly / Medium 文章中命名。试验数据:一项 52 名工程师的随机对照试验(理解得分 50% 对 67%);把 AI 当生成代劳的人低于 40%,当概念探询的人高于 65%;AI 生成代码比人类理解快 5–7 倍。大众科技评论。

テクノロジー

コードは出荷された。理解だけが、届かなかった。

2026年6月17日 · 劉未鵬『暗時間』約 6 分

深夜2時、本番環境が落ちている。あなたは三週間前に「書いた」関数を見つめている——いや、書いていない。要件を伝え、AIがコードを生成し、テストは通り、あなたは次に進んだ。いまそのど真ん中にバグがあり、胃がすっと冷える。このコードが実際どう動いているのか、まるで分かっていないのだ。機能は期日どおり出荷された。理解だけが、ついぞ届かなかった。これは請求書の支払期日であり、それにはちゃんと名前がある。

新しい負債、でも利率は見覚えがある

2026年3月、GoogleのエンジニアリングリーダーAddy Osmaniが、多くの人が薄々感じながら指させなかったものに名前をつけた——理解負債(comprehension debt)だ。AI生成コードの時代に固有の、新種の技術的負債。乱れた設計でも、先送りしたリファクタリングでもなく、機械に考えさせて本来自分が踏むべき一歩を飛ばしたとき、「自分は本当に分かっているか」に対して積み上がる見えないコストである。あらゆる負債と同じく、借りた瞬間には見えない。コードは動く。デモは決まる。利息は静かに膨らみ、最悪の時刻にやって来て取り立てる。

速度はさほど上がらず、理解だけ減る——これが領収書だ

ろうそくの灯でコードを書く偏屈者の説教に聞こえるなら、データがそれを正してくれる。あるランダム化比較試験で、52人のエンジニアが新しいライブラリの学習を課された。AI支援グループの所要時間は、対照群とほぼ同じ——ストップウォッチ上に英雄的な高速化はなかった。だが直後の理解度クイズで、彼らは17ポイント低かった。50%対67%。そして手に汗をにじませるべき点はここだ。最も落ち込んだのは抽象的な概念領域ではなく、デバッグ——まさに深夜2時に頼る、あの能力だった。手に入らなかった速度を買い、その代金を、壊れたとき最も必要な力で支払ったのだ。

劉未鵬はこれを見抜いていた、ただコードの話ではなかった

AIがモジュール一つを丸ごと補完できるようになるはるか前、劉未鵬という中国のプログラマーが、静かで頑固な一冊を書いた——『暗時間』だ。その核心はこうだ。本当の学びは、答えを見つける数秒のうちには起きない。それは「暗時間」——頭が問題を噛みしめ、導き、何度もひっくり返して考える、目に見えない時間のなかで起きる。学習の本当に生産的な部分は、あなたに見えないバックグラウンド処理であり、それこそAIが「代わりに飛ばしてあげましょう」と差し出してくる部分なのだ。

劉未鵬には、まるでAI時代への予言のような原則がある——考えてから検索せよ。先に問題と格闘すると、頭のなかに穴が掘れる。問いの形をした空洞だ。やがて答えが来たとき、それはそこに落ちて定着する。受け止めるものが待っていたからだ。即座に答えをつかめば穴はなく、受け皿もない。答えはつるりと滑り落ちる。「問題に出くわすなり答えを検索するのは、自分を愚かにしている」と彼は警告する。「検索」を「プロンプト」に置き換えれば、先週投稿された文章でも通る。

生成できることは、理解ではない

問題全体が懸かるのがこの区別であり、それは劉未鵬が「産出」と「理解」のあいだに引いた線そのものだ。コードを出現させられること——自分で打とうと、モデルに打たせようと——は、それを説明できることと同じではない。劉未鵬の「本当に分かっている」の検査法は残酷なほど単純だ。教えることが最良の学びである。あることを明快に説明できないなら、まず間違いなく分かっていない。AIは完璧な完成ブロックを手渡せるし、あなたはそれを出荷できる。それでも隣の新人に教えられない——劉未鵬の物差しでは、それは「分かっていない」ということだ。

しかも肝心なのはAIを使うかどうかではなく、どう使うかだ。同じ試験は開発者を振る舞いで分けたが、その差は途方もない。AIを純粋な生成の代行として使う者——生成し、受け入れ、次へ進む——は理解度40%未満。概念の探究として使う者——なぜかを問い、トレードオフを量り、論理を掘る——は65%超。同じ道具、正反対の結末。下の図が、この二つの道を並べて見せる。

AIでコードを書く二つの道生成を丸投げ(学んでいない)生成・受諾・次へ同速だが理解17%減デバッグで最も損理解テスト40%未満問い深掘る(編んでいる)問い・トレードオフ知識網に編み込む説明できる = 理解理解テスト65%超生成は委ねられる、理解は自分で育てる
グーグルのアディ・オスマニが「理解負債(comprehension debt)」と名づけた(2026年3月)。新しいライブラリを学ぶ52人の技術者の無作為試験で、AIを使った人は同じ速さで終えたが、理解テストは17%低かった(50%対67%)。最も落ちたのはデバッグ。差は「使い方」にある——生成の丸投げは40%未満、概念の問い深掘りは65%超。劉未鵬『暗時間』が病根を突く——本当の学びは、あなたが今飛ばした思考の時間に起こる。

明日の朝のあなたにとっての意味

では、AIを使うのをやめるべきか。いや——それを「断つ」と読むなら学びを取り違えている。解毒剤は禁欲ではなく、劉未鵬が描いた学び方でAIを使うことだ。部品を出させるだけでなく、問いに答えさせよ。なぜこのデータ構造を選んだのか、トレードオフは何か、入力が倍になったらどこから壊れるか。そしてチャットを閉じ、自分の言葉でコードを説明し返す——声に出すか、コメントに書くかして。できないなら、本番環境より先に自分の理解の穴を見つけたことになる。さらに少なくとも一度は、モデルを一切介さず、AIコードを手でデバッグせよ。それが実際どう動くかを肌で感じるまで。劉未鵬のもう一つの戒めを忘れずに——あなたが覚えるのは検索(想起)したものであって、読み返したものではない。いまやAIは人間が理解できる速度の5〜7倍でコードを生成する。つまりボトルネックも負債も、もはやタイピングではない。理解だ。「スワイプ」に「理解」を追い越させるな。新しい知識を、すでに持っている網に織り込め。さもなければ、それはあなたのものにならない。

タイピングは外注できる。分かることは外注できない。

生成はスワイプ、理解は請求書——それを返済できるのは、あなた自身の暗時間だけだ。

枠組みは劉未鵬『暗時間』より。「理解負債(comprehension debt)」はGoogleのAddy Osmaniが2026年3月、O'Reilly / Mediumの記事で命名。試験データ:52人のエンジニアを対象としたランダム化比較試験(理解度50%対67%)、AIを生成代行として使う者は40%未満・概念探究として使う者は65%超、AIは人間の理解より5〜7倍速くコードを生成。大衆向けテック評論。