fan-outって何?
fan-out(ファンアウト)は、ひとつの仕事を複数の担当に分けて、同時に進めることを指す言葉です。もともとは電気回路や分散システムの世界で使われていた言い回しで、1本の線から扇(fan)のように枝が広がっていくイメージからこう呼ばれています。
Claude Codeの文脈では、AIに何かを頼むときに「1つのAIに全部やらせる」のではなく「複数のAIに分担させて同時に走らせる」やり方を指してこの言葉が出てきます。
年賀状の宛名書きで考えてみる
たとえば、年賀状を100枚書かなければいけないとします。自分ひとりで書けば、1枚1枚順番に片付けていくしかありません。100枚分の時間がそのままかかります。
ここで家族4人に25枚ずつ配って、同時に書いてもらったとしたらどうでしょう。単純計算で時間は4分の1です。この「100枚を4人に配る」部分がfan-outにあたります。
そして書き終わった年賀状を全員から集めて、束ねて、宛先の重複がないかチェックする——この集約する側の作業は fan-in(ファンイン)と呼ばれることがあります。fan-outとfan-inはセットで語られることが多いです。
AIに頼むときのfan-out
AIに「このプロジェクトの全ファイルを読んで、使われていない関数を洗い出して」と頼んだとします。ファイルが200個あるなら、順番に1つずつ読んでいくと相当な時間がかかりますし、AIが一度に覚えていられる情報量にも限りがあります。
そこで「ファイルを10個ずつのグループに分けて、それぞれ別々に調査させる」という進め方をすると、待ち時間が短くなるうえ、一つひとつの調査担当は自分の担当範囲だけに集中できます。これがfan-outの発想です。
何が嬉しいのか
いいことは大きく2つあります。
ひとつは単純に速いこと。順番にやれば10分かかる作業も、5つに分けて同時に進めれば理屈のうえでは2分程度で済みます。
もうひとつは、それぞれの担当が扱う情報量が小さくなることです。AIは一度に扱える文章の量に限界があるので、大量の情報を一気に渡すと大事な部分を見落としがちです。担当範囲を絞れば、その範囲についてはずっと丁寧に見てくれます。
気をつけたいところ
分ければ何でも速くなるわけではありません。ここは正直、最初にやると必ずつまずくポイントです。
まず、分けた仕事同士が情報を共有できません。年賀状の例なら、AさんとBさんは互いに誰に書いたか知らないので、同じ人に2枚送ってしまうかもしれない。AIでも同じで、担当Aが見つけた事実を担当Bは知らないまま作業します。
また、結果を集めてまとめる側の負担が意外と大きい。5人分の報告書を受け取って、矛盾を潰しながら1本にまとめる作業は、それ自体がそれなりの仕事です。
そして、そもそも分けられない仕事もあります。「Aの結果を見てからBを決める」という順番が決まっているものは、無理に同時進行させても意味がありません。
どういうときに向いているか
| 向いている | 向いていない |
|---|---|
| たくさんのファイルをそれぞれ独立に調べる | 前の結果を使って次を決める作業 |
| 同じ処理を対象を変えて繰り返す | 全体を一貫した視点で書き直す作業 |
| 複数の観点から同じ対象を別々にレビューする | そもそも量が少なく、分ける手間のほうが大きい作業 |
覚えておくべきなのは「独立して進められるものが複数あるとき」という条件です。この条件さえ満たせば、fan-outは手持ちの時間をかなり節約してくれます。
このページは役に立ちましたか?