Simon Willison、コーディングエージェントの生産性指標としてコード行数を議論
本文の状態
日本語全文を表示中
詳細モードで約4分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Simon Willison Blog
Simon Willison はコーディングエージェントによる生産性向上の限界を指摘し、コード行数の増加は認知負荷の増大を招くため、チームによる認知的負荷分散と設計の一貫性維持が不可欠であると論じている。
AI深層分析を開く2026年8月20日 08:41
AI深層分析
キーポイント
コード行数と生産性の関係再考
Willison はコーディングエージェントを用いれば1日に数百行から数千行のデバッグ済みコードを生成可能になるが、これは品質が同等である場合に限られると指摘する。
認知容量が新たなボトルネックとなる
単独エンジニアでも作業速度は劇的に向上するが、膨大なコード量に対応する認知的なキャパシティには限界があり、チームによる負荷分散が必要だと述べる。
概念的一貫性の維持の難しさ
コーディングエージェントを多用すると機能追加が容易になりすぎるため、ソフトウェア全体に「驚き」がなく整合性のある設計を保つことが困難になるという懸念を示す。
コード量増加による概念整合性の崩壊
コストが安価になったことで機能追加が容易になり、結果としてシステム全体の概念整合性が損なわれる。整合性が失われると、その後の意思決定が困難になる。
実装コストによる自律的な抑制の喪失
以前は時間がかかるという制約が自然な抑制機能として働いていたが、現在では短時間で完了できるため不合理な機能追加を正当化しやすくなっている。
重要な引用
A lot of people will tell you it makes no sense to measure productivity in lines of code. I'd actually disagree, because there's a hard limit.
The new limiting factor is cognitive capacity. I can churn out code a hundred times faster. I don't have the cognitive capacity to stay on top of 100 times the amount of code.
There's a concept in The Mythical Man-Month — conceptual integrity — where well-designed software has an integrity to it: there are no surprises in it, it covers exactly the right domain of things, everything fits together and makes sense.
What you end up with is something where the conceptual integrity falls apart — and then it's harder to make decisions about it.
編集コメントを表示
編集コメント
Simon Willison は、AI ツールの導入が単にコード量を増やすだけでなく、人間の認知負荷やシステム設計の質にどう影響するかを鋭く指摘している。この視点は、開発効率化を進める組織にとって、チーム構成や設計プロセスの見直しを促す重要な示唆となるだろう。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
先週、Claire Giordano と「AI がソフトウェア開発をどう変えているか」というテーマで『Talking Postgres』ポッドキャストのエピソードを録音しました。非常に有意義な対談となりました。ここでは、わずかな編集を加えた transcript から私が特に印象に残ったポイントをいくつか紹介します(Claude へのプロンプト:「不自然な言い回しを最小限に修正する」)。
これは、コーディングエージェントにおいて時としてコード行数を生産性の指標として語る意義があるという私の主張の最新バージョンです。詳細は 35:01 からご覧ください。
多くの人が、コード行数で生産性を測ることに意味はないと言うでしょう。しかし私はそれに反対です。なぜなら、そこには明確な限界があるからです。
かつての時代、ソフトウェアエンジニアが1日に数百行の製品レベルのコードを生み出すことは可能でした。200 行の動作し、デバッグ済みで本番環境に投入できるコードを一日で作れるのは、非常に素晴らしい日です。多くの日は 50〜60 行程度でしょう。
もし AI エージェントによって、1,000 行ものデバッグ済みのコードを生み出せるようになったら、それは非常に大きな進歩と言えます。ただし、コードの品質が同じであることが条件です。つまり、保守性があり、テスト済みで、すべてが整っている状態である必要があります。
エージェントを使えばそのレベルに到達することは可能ですが、それには膨大なスキルと知識、そして経験が必要です。それがシニアエンジニアを形成する要素なのです。私はエージェントがあれば、一人で従来よりもはるかに多くの作業をこなせます。
ではなぜ、企業はエンジニアを一人しか雇わないといけないのでしょうか?明らかな「バス係数(誰かがいなくなっても事業が継続できるか)」の問題 aside にしても、一人だけのチームは非常に設計が悪いと言えます。その答えは、新たな制約要因が「認知能力」にあるからです。私はコードを生み出す速度を 100 倍に上げることができますが、100 倍の量のコードをすべて把握し続ける認知能力は持ち合わせていません。
そのため、依然としてエンジニアチームが必要です。そうすることで、その認知負荷をチーム全体で分散・調整できるからです。
そして、この「概念的整合性」に関するセクション([46:03])では、クレアがこれを「ウィンチェスター・ミステリーハウス」に例えていました。
[46:03]: https://talkingpostgres.com/episodes/how-ai-is-changing-software-development-with-simon-willison#t=46m3s
[Winchester Mystery House]: https://en.wikipedia.org/wiki/Winchester_Mystery_House
「Simon 氏:『The Mythical Man-Month』には『概念的整合性(conceptual integrity)』という概念があります。設計された優れたソフトウェアには、その整合性が備わっています。予期せぬ驚きはなく、扱うべき領域が正確に定義され、すべての要素が有機的に結びつき、全体として意味を成しています。
しかし、コーディングエージェントにおいては、この整合性を保つことははるかに困難です。機能のアイデアを思いついてプロンプトを実行すれば、わずか 5 分後にその機能が実装されてしまいます。その結果、ソフトウェアには奇妙な方向へ伸びた不自然な突起がいくつもできてしまうのです。
Claire 氏:それに対する私の比喩があります。ウィンチェスター・ミステリーハウスです。」
「Simon:あの建物は部屋が140もあります。なぜなら、建設したのはウィンチェスターライフルを発明した男性の未亡人だったからです。彼女の霊能者は、そのライフルで殺された人々の亡霊に悩まされることになるから、家を作り続けるしかないと言ったのです。そこで彼女は40年間も新しい部屋を増やし続けました。
これはまさにコーディングエージェントやソフトウェア開発における問題と重なります。新しい機能を追加するのは非常に簡単です。なぜなら、そのコストが極めて低いからです。結果として、システム全体の概念的整合性が崩れ、判断を下すことが難しくなってしまいます。根本にあるのは常に『規律』の問題です。かつては、時間がかかるという事実自体が、この規律を強制する役割を果たしていました。
「すごい機能だ」とアイデアが浮かんでも、「1 週間もかかるなら、そのコストを正当化できないからやめよう」と考えがちです。しかし、もし作業に要する時間が 1 時間程度であれば、その実現ははるかに容易になります。
(補足:Wikipedia の記事には、心霊説を疑問視する信頼できる情報源が掲載されています。)
タグ: ai, generative-ai, llms, podcast-appearances, coding-agents
原文を表示
Last week I recorded an episode of the Talking Postgres podcast with Claire Giordano on the subject of "How AI is changing software development". We had a really great conversation. Here are a couple of my highlights from a lightly edited transcript (prompt to Claude: "very minor edits to remove disfluencies").
This is the latest version of an argument I've been trying to build about why sometimes it *does* make sense to talk about lines of code as an indicator of productivity with coding agents, at 35:01:
A lot of people will tell you it makes no sense to measure productivity in lines of code. I’d actually disagree, because there’s a hard limit. In the before-times, a software engineer could produce a few hundred lines of production-ready code per day — and 200 lines of working, debugged, production-level code is an incredibly good day. Most days you’d produce 50 or 60.
If agents let you produce a thousand lines of debugged code, that really is a very meaningful improvement — as long as the code is the same quality: maintainable, tested, all of that. You can get to that point with agents, but it takes a huge amount of skill and knowledge and experience. That’s what senior engineers are made of.
I can do way more work as a single engineer than I could without agents. So you could argue, why should a company have more than one engineer? Beyond the obvious bus factor thing — a team of one is a very badly designed team — the answer is that the new limiting factor is cognitive capacity. I can churn out code a hundred times faster. I don’t have the cognitive capacity to stay on top of 100 times the amount of code. So you still need a team of engineers, so you can load balance that cognitive capacity across the team.
And this section on conceptual integrity at 46:03, which Claire equated to the Winchester Mystery House!
Simon: There’s a concept in The Mythical Man-Month — conceptual integrity — where well-designed software has an integrity to it: there are no surprises in it, it covers exactly the right domain of things, everything fits together and makes sense. That’s so much harder with coding agents, where you can have an idea for a feature, run a prompt, and five minuteslater you’ve got the feature. Your software grows little weird bumps in funny different directions.
Claire: You know my analogy for that? The Winchester Mystery House.
Simon: It’s got 140 rooms, because the woman who built it was the widow of the guy who invented the Winchester rifle, and her psychic told her she’d be haunted by the ghosts of everyone killed with that rifle unless she kept building the house forever. So for 40 years she kept adding new rooms.
That’s exactly the problem with coding agents and software: it’s very easy to keep adding new rooms, because the cost of adding those rooms is so much cheaper. What you end up with is something where the conceptual integrity falls apart — and then it’s harder to make decisions about it.
It all keeps coming back to discipline. It used to be that the discipline was enforced on you by the amount of time it took. You’d come up with an idea for a crazy feature and think “yeah, but that would take me a week — I cannot justify that, so I’ll forget about it.” If it takes an hour, it’s so much easier to justify.
(Side-note: the Wikipedia article includes credible sources that dispute the story about the psychic.)
Tags: ai, generative-ai, llms, podcast-appearances, coding-agents
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み