← 戻る

AIにタスク分割を判断させるべきかどうか

デカいタスクをAIに作業させようと思う時、タスク分割すべきかどうか悩むことがある。

人間が作業するときのことを考えると、タスクを分割するかどうかの判断は作業者本人がすることが多い。だからAIに作業させるときもプロンプトに「必要があればタスクを分割してTODOリストのファイルを作っておいてください」みたいなことを書いたりする。これはやるべきなのかどうか。

結論は、やらないほうが良いと思う。つまり、タスク分割の要不要はAIに判断させないほうが良い。理由は2つある。

理由1. モデルによって挙動が違う

Claude Sonnet 4.5 の場合、「必要があればタスクを分割してTODOリストのファイルを作っておいてください」みたいなのを付け加えると、高確率でこのプロンプトに引きづられて、タスク分割の必要がないケースでも無理矢理7つくらいにタスク(Phase)を分割するようだ。そのため3行くらいの修正しか必要のない作業も1タスクとして切り出されてしまい、そんな小さすぎるタスクのためにAIを動かす羽目になりオーバーヘッドがでてしまう。

Codexの場合だと、ちゃんと「タスク分割が必要かどうか」を考えてくれるが、その結果タスクを分割せずにデカいタスクを頑張ってこなしてくれるものの、実装が上がってくるまでが長くなり、PRの差分も膨大になる。確かにAI目線だと1000行程度の差分は一瞬で読み書きできるのだろうが、人間がレビューするとなるとつらいものがある。つまり、「これ以上デカいタスクは分割すべき」という閾値が人間とCodexとで結構違うようである。

自分が使っているのは今のところ Sonnet 4.5 と Codex がメインなのでこの2つの違いだけしかわからないが、他のモデルを使った場合でも挙動の違いが生まれてくると思う。その際に小さすぎるタスクや大きすぎるタスクが発生して思わぬ苦労をするケースが出てくるのではないだろうか。

理由2. 要不要を考えさせようと思った時点で分割が必要な粒度である

考えてみれば、タスク分割の判断をさせようとも思わないタスクは十分に小さいタスクであり、良い粒度だと言える。タスク分割がもしかしたら必要かもな、と人間が考えてしまう時点でそれはデカすぎるタスクなのである。

そのため、タスク分割が頭をよぎった時点で、タスク分割&TODOリストmdファイル作成をさせる、というセッションを1回挟んだ方が良い。するとAIはその作業(プランニング)に専念するため良い粒度でタスクを分割してくれる。ような気がする。

ちょっとずつPRを作れるようになるので途中の方向転換も容易だ。複雑過ぎる問題を解かせようとするとバグを仕込んでくる率が高まったり段々頭が悪くなってきたりするが、その問題もある程度回避できる。

タスク分割の判断はAIにやらせず、迷ったら即タスク分割をAIにやらせる。これが結論です。