LLM生成コードを手入力して認知負債を防ぐ方法

原題: Prevent cognitive debt by manually retyping LLM-generated code

なぜ重要か

LLMへの過度な依存が開発者の技術理解を空洞化させるリスクへの具体的な対処法として、業界に実践的な議論を提起している。

ソフトウェア開発者のAnkur Sethiは2026年8月2日、LLMが生成したコードをコーディングアシスタントに直接編集させず、チャット画面に表示させたうえで自分の手でタイプし直すワークフローを自身のブログで公開した。この手法により速度は非LLM比で約2倍にとどまるが、コードベースへの深い理解と認知負債の蓄積防止を両立できると説明している。

Ankur Sethiは個人プロジェクトでコーディングアシスタントを使い続けているが、LLMにファイルを直接編集させると「認知負債(cognitive debt)」が膨大に積み上がるという問題に直面した。機能全体をLLMに一括生成させると達成感が得られず、AIが生成した数百行の過剰防衛的で誤りを含むコードをレビューすることも苦痛だと述べている。

そこで同氏が採用したのは、エージェントへの指示ファイル(agents files)に制約を明記する手法だ。具体的には「プロジェクトファイルの作成・編集・移動・削除は明示的に求めない限り行わず、提案する編集内容はチャット上に表示するだけにする」「依存関係のインストールやリポジトリ状態を変更するコマンドも同様にチャットで提示するにとどめる」という指示を全プロジェクトに共通で設定している。

このワークフローの利点として同氏は以下を挙げる。第一に、コードを手入力する過程でコードベースの「空間的マップ」が頭の中に形成され、どの機能がどこにあるかを把握できる。第二に、入力速度を意図的に落とすことでLLMのハルシネーションや設計上の問題を発見しやすくなる。第三に、入力しながらリファクタリングやコメント追加、自分の好みへの調整が自然に行える。第四に、コードベースの全体像を把握することで、将来のLLMへのプロンプトの質も向上する。

速度面では、LLMなしと比べて約2倍の速さにとどまり、LLMに全作業を委ねる開発者より明らかに遅い。しかし同氏は、個人プロジェクトにおいて重要なのは成果よりプロセスであるとし、この非効率を意図的に受け入れている。また、かつて先輩開発者が「コードをコピー&ペーストするな、必ず自分で入力しろ」と教えてくれたことと本質的に同じ原則だと説明している。

出典

ankursethi.com — 元記事を読む →