「理解」が新しいボトルネック:AIエージェントが書いたコードを人間が理解する重要性
Understanding is the new bottleneck

AIエージェントがコードを書く時代、人間の理解がボトルネックになっている。Notionのデザインエンジニア、Geoffrey Litt氏は、エージェントの成果を検証するためだけでなく、創造的なプロセスに参加するために理解が不可欠だと主張する。教育から着想を得た3つのテクニック(説明ドキュメント、クイズ、マイクロワールド)を紹介し、エージェント自身がコード理解を助けるツールを生成できる可能性を探る。
エージェントは、人間が他のコードを理解するのを助けるコードを書くことができる。これは大きな意味を持つ!
HNでの議論
240- madrox
平均的なエンジニアが、エンジニアリングリーダーシップやプログラムマネジメントの課題を発見し始めているのは面白いと思う。これがずっとボトルネックだったんだ。
それが、マネージャーやPMがスタンドアップに参加したがる理由であり、Slackが存在してエンジニアがそこで常に突っつかれる理由であり、経営陣が常に仕事から離れすぎないようにと言う理由だ。それがカモメ型マネジメントの起こる仕組みだ。それがプログラムマネジメントが仕事である理由だ。
エンジニアが上司に対して嫌っていた、コードに集中するのを妨げる行動の数々…彼らは今、反対側の立場がどういうものかを感じ始めていて、エンジニアリングマネジメントの本を読むだけではなく、解決策を再発明している。もしかしたらプログラムマネジメントを「理解オペレーションズ」とか何かに改名するかもしれない。
もしAIに文句を言うトークンが与えられたら、AIは私たちについて何と言うだろうか。
- alecbz
私たちはLLMにPRの説明を生成させようとしたが、それはほぼ普遍的に嫌われている。いつも機械的な変更の過度に複雑な説明で、動機の感覚がまったくない。
また、コードを自分で理解する大きな理由は、LLMが間違っていないことを確認するためだが、LLM自身が理解を生成している場合、これは機能しない。
- w10-1
問題には同意するが、解決策には同意できない。
この問題はLLMより前から存在する:「動く」が基盤となるモデルを壊すコードを書くこと。動くからこそ、いつももっともらしく聞こえ、何のフラグも立てない。
モデルを標準として保持している人(人間またはLLM)だけが、この動く解決策がモデルを壊していることを見抜けるだろう。
(理論上、モデルはスケーリング、柔軟性、またはこの動くコードによってすぐには無効化されない他のシステム的特徴を維持するためのものだが、いつものようにモデル自体が悪い可能性もある。)
LLMはモデルについて説明するのが苦手なわけではない。実際、モデルが何であるかをめぐってLLMと議論することは、物事を明確にすることができる。しかしLLMは、一貫性のない文の流れを自分のモデルとして喜んで保持するので、彼らは権威ではない。
- euthymiclabs
「私はコードを読みました。」 - Mitchell Hashimoto
優れたコードには優れた理解が必要であり、エージェントには優れたガイダンスが必要だ。現在のソロ開発の仕事でも、理解するまで読んでいないコードを本番にコミットするなんて想像できない。私は自分のコードの結果に対して責任を持つ。それはAIエージェントには負えない責任だ。
- kazinator
それはむしろこういうことだ:
私たちは常に理解を欠いてきた。しかし、それはボトルネックのように感じられなかった。理解を欠いているにもかかわらず、私たちは巨大で複雑なシステムを開発し、それが保守困難になり、誰も完全には理解できなくなった。
今、私たちはそれを桁違いにスケールさせたいと思っているが、そうすると、厄介な理解不足を感じる。
以前は、システムを少しずつ不可解にしていくことで理解不足を回避していた。それぞれの段階で、それがまだ多かれ少なかれ機能しているのを観察していた。
もし全体が一日で具体化されたら、それは機能しない。そのアプローチは消えてしまう。
あなたは今、統計的に反復的に進化した古い種類のシステムに似たものを生み出すことができる。しかし、そのものにはそのような歴史がない。考古学者のように戻って調べることはできない。それはユーザーがいたであろうように見えるが、実際にはいなかった。どこでも本番稼働したことはない。誰もフィードバックやバグ報告を提出して、修正や改善が行われることはなかった。それを完全に理解していた元メンテナー数人がいた単純なバージョンは存在しなかった。そのような元メンテナーも、そのような理解も存在しない。文書の痕跡や、物事がそうなった経緯につながる議論や交渉などの周辺活動の歴史的な痕跡もない。
- nphardon
結局、LLMは誰も理解できないゴミコードを生成し、壊れるべきではなかったものを壊す。ゆっくりと理解を伴いながら進めていれば壊れなかっただろう。それを「理解がボトルネックだ」と言い換えるのは、LLMのセールストークに過ぎない。LLMには限界があり、その限界にぶつかると行き詰まる。LLMこそがボトルネックだ。しかし「LLMが作り出した問題の解決策はLLMだ」という考えは馬鹿げている。
- iainctduncan
新しい/現在の/本当のボトルネックについてもっと読みたくてたまらない!
ボトルネックはどこにある?どこなんだ??教えてくれ!証拠は必要ない、ただそれを言ってくれ、男同士、思想リーダーから思想リーダーへ!
- hk__2
私にとっての解決策は、理解できないコードを捨てることだ。エージェントにコードを書かせて、読んだときに不明瞭だったり、エージェントからの説明がたくさん必要だったりしたら、ただ捨てて最初からやり直すか、自分でやる。