コードを読まない時代、エンジニアは何を読むべきか
(flowkater.io)AIを使うと学習は減るのか?
- Anthropicの研究: AIでコーディング課題を完了した開発者のクイズ得点は17%低かった
- 核心は「AIを使うと学習が減る」ことではなく、同じAIを使っていても使い方によって結果が極端に分かれたこと
- コードを丸ごと任せた人 → 最も速く終えたが、最も学びが少なかった
- 概念だけを尋ねて自分で書いた人 → エラーは多かったが、クイズ得点は圧倒的に高かった
コードを読む時代から、指示する時代へ
- Ben Shoemaker: 「もうコードを1行ずつ読まない。仕様、テスト、アーキテクチャを読む。」→ ハーネスエンジニアリングという新しいアプローチ
- OpenAI Codexチーム: エンジニア3人がエージェントだけで100万行のコードを作り、数百人が使う製品を完成。投資したのはコードではなく、ドキュメント、リンター、テストインフラ
- Evan Armstrong: コード生成はコモディティ化したが、本番環境でコードをガバナンスする「コンテキストレイヤー」はコモディティ化していない
- Steve Yegge: 「手でコードを書く時代は終わった。」AI導入の8段階を提示 — Level 4からはdiffを見なくなり、Level 8ではエージェントオーケストレーターを自ら構築する
ゴールゲームと複利ゲーム
- Kent Beck: 仕様ベース開発の裏には「ゴールゲーム」(Xに到達すれば終わり)という前提が隠れている
- 実際のソフトウェア開発は「複利ゲーム」— 今日のアーキテクチャが6か月後の可能性を開くことも閉ざすこともある
- 「より良いAGENTS.mdでは複利ゲームに勝てない」— システムが複利で積み上がるように設計することが核心
AIは鏡である
- Jeremy Utley(スタンフォード): 「怠けたい人には怠惰を、鋭くなりたい人には鋭さを助けてくれる」
- TDD/DDDの背景があればAIにもそう指示できるし、「とにかく作って」と投げれば構造がめちゃくちゃなコードが出てくる。AIが愚かなのではなく、自分が気にしていない部分をAIも気にしないだけだ
- Berkeleyの研究: AIによって非開発者でもコーディングが可能になったが、結局はエンジニアが同僚のAIコードをレビュー・修正するのにより多くの時間を使うようになった
- 「ドラキュラ効果」— バイブコーディングを全力で行うと、生産的な時間は1日3時間が限界
では、どう使うべきか
- 「AIに正解を要求するのではなく、対話せよ。」AIに質問する代わりに、AIが自分に質問するようにさせる
- 音声入力を推奨 — タイピングは「キーワードモード」、音声は「対話モード」へ切り替わる
- コンテキストエンジニアリング: AGENTS.mdにアーキテクチャ決定の理由、規約、ドメイン用語を明記すれば、AIは一貫したコードを作る
- Kent Beck: 「機能と同じくらい、futures(次に実装できるものの集合)に投資せよ」
変わらないもの
- コードを1行ずつ読む必要は減ったが、読める能力はむしろさらに重要になった
- すべてのテストが通っているのに製品がおかしいとき、AIは「問題ない」と言うのにバグがあるとき — 結局は自分で読まなければならない瞬間が来る
- 読めるのに読まないことと、読めないことはまったく別の話だ
- 鏡に映すものを持つ人になること — それがこの時代のエンジニアの本質だ
まだコメントはありません。