Fable攻略の極意:AIコーディングを「ショートリーシュ」で制御する方法
The short leash AI coding method for beating Fable
The short leash AI coding method for beating Fable
Fableでの開発効率を最大化するための「ショートリーシュ(短綱)」メソッドを紹介します。AIに全権を委ねるのではなく、短いサイクルで的確に指示を出し、制御下に置くことで劇的にパフォーマンスが向上します。具体的には、AIの迷走を防ぐためにタスクを細分化し、常に人間がリードを握り続ける手法です。
この記事、中身がほとんどなかったな。
実際にコードが書ける人は、重要な仕事でAIを使う時みんなこんな感じだと思ってたけどな。俺が間違ってる?それとも最近のみんなは全部YOLO(当たって砕けろ)でやってるの?
LLMは結局のところ次のトークンを予測してるだけ。曖昧な指示を出しても正しい手順を見つけてくるからって、知能があるわけじゃない。それはモデルが学習した時の環境と同じ言語を話しているってだけ。それには限界がある。PoCレベルや単純なアプリ止まりならいいけど、現行モデルがどれだけ制限されているか分かってないな。ちゃんとタスクを分解しなきゃダメで、もっともらしい手順を出力するトークン予測機を盲信しちゃいけない。どこかで人間が関わらないと、権限周りでミスり始めたら最悪だし、そうでなくても最適化不足でトークンの無駄遣いになる。何より恐ろしいのは、AIが指示を無視して支離滅裂な動きをして一日が台無しになることだ。AIはCNCマシンみたいに鋭利なツールだよ。役には立つけど危険も伴う。だから怪物マシンで木彫りをするような真似はやめておけ。縦列駐車ができないなら、フェラーリを狭い住宅街に停めるようなものだ。
こういう作業をしてると、モチベーションを維持するのが難しい。結果はちゃんと出るんだけど、AIに作業を丸投げしてると集中力が切れちゃうんだよね。
「短く指示する」ってやり方は、松葉杖みたいなものに思えるな。そもそもAIに十分な詳細情報を与えていないか、出力のレビューや改善ができていない証拠じゃないかな。Fableみたいな優れたモデルを手取り足取り導くのは時間の無駄だし、Fableの性能を殺してる。もっと強力なモデルと高度な議論を重ねれば、昔よりずっと良いコードを書いてくれる。設計や実装について議論したり、違和感のある点を問い詰めたり、AIの回答をしっかり読み込んだりすることが、より良い解決策を見つける助けになるよ。例えば以前、貪欲法でソルバーを書こうとした時、Opusと相談したら既存のMILPライブラリを使って正確に解く方法を提案してくれた。MILPなんて聞いたこともなかったけど、結果的に一人でやるよりずっと良くてシンプルな実装になったよ。
この記事、真っ当なアドバイスも混じってるけど、過信と証明できない主張が多すぎる。「専門分野において、いかなるフロンティアAIモデルをも凌駕するスキルを持つ専門開発者」なんて、本当に自分で自分を凌駕してるなんて言ってる開発者がいるのか?現状はせいぜい五分五分ってところだろう。確かに優れた開発者の方が上手くやれる部分はまだあるけど、全てにおいてそうとは言えない。「Fable 5が書いた、あるいはレビューしたコードですら臭いものになる」というのも懐疑的だ。具体的なプロンプトと出力例を見せてほしいね。
楽観的すぎるかもしれないけど、適切なスキルとリファレンスを持っていて(書くだけじゃなくレビューにおいても)、さらに独立したレビューやチェックのためにサブエージェントを賢く使えば、手綱を少し緩めることはできるよ。とはいえ、コードベースのメンタルモデルを維持するために、計画やPRをちゃんとレビューする必要はある。そうすると並行してこなせるタスクはせいぜい2〜3個が限界かな。どっちにしろ精神的にヘトヘトになるし、自分自身でレビューの手を抜いたりミスをし始めたりしそうだけどね。
投稿者はまだ2025年に生きてるみたいだな。「AIは何度も脱線し、ソフトウェアを使おうとした時に初めて気づくことになる」ってあるけど、今はAI自身がソフトウェアを使ってバグを見つけて修正できるし、新機能の追加だってできる。「エージェントが脱線して意図しないことを始める」っていうのも、以前よりずっと減っている。完全自律型エージェントの優位性はどんどん強まっているんだ。「コードベースの理解を自力で構築するのは人間には不可能」というのも時代遅れに感じる。これからは人間がコードを理解する必要はなくなり、AIに任せる時代に向かっていると思う。
AIはジュニアからミドルレベルのエンジニアだ。そう割り切って扱えば、神経質にならずに「バイブコーディング(感覚的なコーディング)」と堅実なエンジニアリングのいいとこ取りができるよ。俺は最初からClaudeを隔離されたVMでYOLOモードで走らせている。これはエンジニアに自分のノートPCを渡すのと同じことだ。ClaudeがPR可能な状態まで機能を作ったら、他のエンジニアのコードをレビューするのと同じように差分を確認して、形を整えて進める。経験の浅いエンジニアだって同じようなミスをするし、ルート権限じゃないとはいえrm -rfだってされたことあるよ!全権限を拒否してマイクロマネジメントなんてしてたら、気が狂っちゃうよ。
てっきりビデオゲームの『Fable』のことかと思ったら、Anthropicのモデルの名前がFableになったんだったな。大好きなゲームシリーズをググるのが面倒になるな。Rustプログラミングを調べてもゲームのRustばかり出てくるのと同じだ。Googleはこういう問題をずっと前に解決しておいてほしかったよ。彼らにとっては些細なことだろうに。