基本的にはそうだね。「問題」が大きくなりすぎると、LLMはあんまり役に立たなくなる。君が言うように、退屈な作業を自動化するのには最高だよね。例えば、もっと複雑な検索&置換とか。「このインターフェースを満たすメソッドを実装して」とか、メソッドがかなり明白な場合ね。あるいは、「このAPIのリソースセットに対してCRUD操作のスタブを埋めて」みたいな感じ。最近、Claude Opus 4にパッチが終わった後にレビューをお願いしてるんだけど、たまにエラーを見つけてくれるし、自分が本当はやるべきことを促してくれることもある。でも、ある程度の複雑さを超えると、もう役に立たなくなるんだよね。例えば、変更が必要な箇所が複数のファイルにまたがることが多いし、それぞれが結構大きいから、どのファイルを触るべきか慎重に考えないといけない。そうすると、結局自分が何を変えなきゃいけないか分かってくるんだよね。とはいえ、AIを「ラバーダック」プログラマーとして使うのは必ずしも悪くない。基本的には、変更をお願いして、うまくいけばラッキー!もしちょっとランダムだったら、自分でやっちゃう。最初の変更をレビューするのに時間を無駄にしただけで、他のほとんどは自分でパッチを書いても同じことをしなきゃいけなかったからね。それに、ほとんど正しい方向にあるフレームワークを自分のやりたいように修正する方が、ゼロから全部コーディングするよりもずっと楽だと感じることが多い。だから、「これを実装して」と言って、結局ほとんど全部を修正することになっても、自分でゼロから始めるよりは労力が少ない気がする。重要なのは、LLMが明らかに苦労していることを無理にやらせようとはしないこと。時々、仕様が不明瞭で合理的な仮定をしてしまうこともあるけど、何かをやらせてまだ苦労しているなら、自分でそのタスクを終わらせちゃう。