「どれを使うか」から「どう併用するか」へ
AI コーディングエージェントの話題は長らく「どれを選ぶか」でした。比較記事も選定基準も、1 つに絞る前提で書かれています。
ただ現場の実態は、少し変わってきました。複数を同時に使うことの負担が下がったので、絞る理由が薄くなっています。 以前は習熟コストが高く、揃えないと教える側が回りませんでした。今は基本的な使い方が似ているので、乗り換えの負担が小さくなっています。
そうなると論点が移ります。どれが優れているかではなく、複数走らせる前提でどう分担して、どう衝突を防ぐかです。
併用が効くのは能力差ではない
併用のメリットを「得意な作業を得意なほうに任せられる」と説明されることが多いのですが、実務で効いているのは別の点です。
待ち時間を重ねられることのほうが大きいです。 1 つのエージェントに作業を投げると、結果が返るまで人は基本的に手が空きます。その間に別の作業を走らせておけば、空いた時間が埋まります。
つまり速くなる理由は生成の速さではなく、人が待っている時間が減ることです。この見方をすると、並列にする価値がある作業とない作業が分かれます。
- 価値がある: 実装、テストの追加、調査、リファクタリングなど、投げてしばらく戻らない作業
- 価値が薄い: 短い修正、対話しながら詰める設計、判断が要る箇所
短いやり取りを並列にしても、人の注意が分散するだけで速くなりません。むしろ、切り替えのたびに前の作業の文脈を思い出す時間が要るので、合計では遅くなることもあります。
目安は、投げてから戻るまでに他のことができるかどうか です。数十秒で返ってくる作業は待っていればよく、数分かかる作業は並列にする価値があります。
衝突は作業単位の切り方で防ぐ
同じリポジトリで並行させると、まず起きるのが変更の衝突です。別々に走っているエージェントが同じファイルを書き換え、あとから統合できなくなります。
防ぎ方は単純で、同時に走らせる作業が同じファイルを触らないように切る ことです。ここで陥りやすいのが、機能単位で切ってしまうことです。機能単位は分かりやすい一方、共通部分を巻き込むので重なりやすくなります。
| 切り方 | 重なりやすさ | 向いている作業 |
|---|---|---|
| 機能単位 | 重なりやすい | 独立性が高い新規機能 |
| 画面・ページ単位 | 中程度 | 表示まわりの改修 |
| レイヤー単位 | 重なりにくい | 実装とテストを別々に進める場合 |
| 調査と実装 | ほぼ重ならない | 調べる作業と書く作業を分けるとき |
切り分けられない場合は、無理に並列にしないほうがよいです。統合に失敗すると、その修復で並列の利得は消えます。順番に流したほうが結果的に速く終わります。
走らせる前に決めておく 3 つ
並列で回すときは、投げる前に次の 3 つを決めておくと事故が減ります。1 つずつ回しているときは口頭で済んでいた部分です。
- 完了の条件。どうなったら終わりかを、投げる側が先に決めます
- 触ってよい範囲。ファイルや領域を指定します。ここが衝突の防波堤になります
- 戻ってくる形。何を報告してほしいかを決めます。差分だけか、確認してほしい点も添えるか
3 つ目が効くのは、あとでレビューするときです。同時に 3 つ戻ってきたとき、報告の形が揃っていないと読む順番から考えることになります。 形を揃えておくだけで、確認の速度がはっきり変わります。
依頼のサイズを揃える
もう 1 つ地味に効くのが、並行させる作業の大きさを揃えることです。大きい作業と小さい作業を同時に走らせると、小さいほうが先に戻ってきて、レビューの合間に大きいほうが戻ります。結果として作業が細切れになります。
同じくらいの大きさで揃えておくと、戻ってくるタイミングが近くなり、まとめて確認できます。揃えるのは内容ではなく、かかる時間の見込みです。
コツ
作業を投げる前に「この 2 つは同じファイルを触るか」を一度考えるだけで、統合の事故はかなり減ります。切れないと判断したら順番に流す、で構いません。
詰まるのは実装ではなくレビュー
並列にして最初にぶつかる上限は、実装の速さではありません。人が読む速度です。
実装が 3 倍の速さで出てきても、レビューする人の処理量は変わりません。確認しきれない量が流れ込むと、読まずに通す運用に傾きます。そこで品質が落ちます。
並列数の上限は、その日にレビューできる量から逆算するのが現実的です。 出せる量ではなく、見られる量で決めます。
レビュー側を軽くする方法もあります。
- 1 つの変更を小さく保つ。大きな差分は読む気力を奪う
- 何を確認してほしいかを変更の説明に書かせる
- 自動で検出できるもの (整形・型・テスト) は人が見る前に落とす
3 つ目が特に効きます。人が見るべき点だけが残る状態にしておかないと、並列にした分だけ確認の負荷が積み上がります。整形の崩れや型の誤りを人が指摘している状態では、本数を増やすほど指摘が増えるだけになります。
順番としては、並列にする前に自動で落とせるものを落としておく のが正しい流れです。ここを整えてから本数を増やすと、増やした分がそのまま速さになります。
FIXIT
Hayateそこまでは行かないです。効くのは待ち時間が埋まる分ですね。
FIXIT
Hayateレビューが先に詰まります。見られる量で上限を決めるのが早いです。
分担の具体例
抽象的な話が続いたので、実際にどう振り分けるかを挙げておきます。同時に走らせても衝突しにくい組み合わせです。
実装とテストを分ける
1 つは機能の実装、もう 1 つは既存部分のテスト追加。触るファイルが分かれるので衝突しにくく、どちらも投げてしばらく戻らない性質があります。
テスト追加は、結果を確認するのも比較的容易です。通るか通らないかがはっきりしているので、レビューの負荷も軽くなります。並列の 1 本目としては、この組み合わせが扱いやすいはずです。
調査と実装を分ける
既存の作りを調べる作業と、別の箇所を書く作業。調査はファイルを変更しないので、そもそも衝突しません。
調査の結果は次の依頼の材料になるので、待ち時間が二重に効きます。実装を待っているあいだに、次に何をするかの材料が揃う形です。
画面ごとに分ける
複数の画面を同時に直す場合、画面単位で分けると比較的きれいに切れます。ただし、共通の部品を触る変更が混ざると一気に衝突するので、共通部分は先に片付けてから並列にする のが安全です。
分けないほうがよい組み合わせ
- 同じ機能の実装と修正。ほぼ確実に同じファイルを触る
- 設計を決めながら進める作業と、その設計に依存する実装
- 大きなリファクタリングと、その範囲に入る機能追加
いずれも、片方の結果が出ないともう片方が確定しません。順序に依存する作業を並列にすると、やり直しが発生します。
人の仕事は「投げる前」と「戻ったあと」に寄る
並列で回すようになると、人がやることの中身が変わります。実装している時間が減り、その前後に寄ります。
投げる前にやるのは、作業を切ることと、範囲を決めることです。ここを雑にすると、戻ってきたものが噛み合わず、統合で時間を失います。並列運用の成否は、投げる前の切り分けでほぼ決まります。
戻ったあとにやるのは、確認と統合です。個々の変更が正しいかだけでなく、複数の変更を合わせたときに矛盾しないかを見る必要があります。1 つずつ回していたときには発生しなかった仕事です。
注意
戻ってきたものを溜めると、統合が一気に難しくなります。並列にした日は、その日のうちに確認まで終える前提で本数を決めてください。
つまり、増えるのは実装量で、減るのは実装時間です。人の負荷は減るのではなく、切り分けと確認に移ります。ここを理解せずに本数だけ増やすと、詰まる場所が移動しただけになります。
得意の違いをどう使うか
待ち時間の話を先に書きましたが、能力差がまったく効かないわけではありません。ただし、想像されているほど大きくないというだけです。
実務で感じる差は、次のような形で出ます。
- 長い文脈を追う作業と、短く区切った作業での安定性の違い
- 変更を小さく保つ傾向と、まとめて書く傾向の違い
- 説明の詳しさ、報告の粒度の違い
どれも「性能の高低」ではなく「癖の違い」です。 癖が分かっていれば、報告の粒度が細かいほうにレビューの重い作業を回す、といった振り分けができます。
ただ、この振り分けを最初からやろうとする必要はありません。使っていれば自然に見えてきますし、見えてから決めても遅くありません。最初は待ち時間を埋めることだけを目的にして構いません。
注意
比較記事の評価をそのまま振り分けの根拠にしないでください。評価は測り方で変わります。自分たちのコードで、自分たちの依頼の書き方で試したときの挙動が判断材料です。
費用は素直に増える
見落とされがちですが、並列にすると使う量はそのぶん増えます。3 つ同時に走らせれば、単純におよそ 3 倍です。速さを買っているのであって、安くなっているわけではありません。
判断は、削れる時間と増える費用の比較になります。人が待っている時間を減らすために払う、と考えると分かりやすいはずです。人の時間のほうが高い場面では見合いますし、急いでいない作業では見合いません。
| 場面 | 並列にする価値 |
|---|---|
| リリース直前で時間が惜しい | 高い。時間を買う |
| 急がない改善作業 | 低い。順番でよい |
| 調査と実装を同時に進めたい | 高い。性質が違う |
| 同じ箇所を触る作業 | 低い。統合で相殺する |
急がない作業まで並列にすると、費用だけが増えます。全部を並列にするのではなく、急ぐものだけを並列にする のが実際の運用です。
全員に配る前に型を作る
併用を勧めるとしても、いきなり全員に複数を配るのは順番が逆です。
まず 1 つで、依頼の粒度とレビューの型を作ってください。 どこまで細かく指示すると期待どおり動くのか、レビューで何を見るのか。この 2 つが決まっていない状態で数を増やすと、確認できない変更が積み上がるだけになります。
型ができてから、影響範囲が重ならない作業を 2 つ並行させるところに広げます。この順番を守ると、増やしたぶんが素直に速さになります。
配る順番も、全員同時ではなく 1 人か 2 人から始めるほうが定着します。先に試した人が、そのまま型を書く人になります。 全員に同時に配ると、それぞれが自己流で覚えることになり、あとから揃えるのに手間がかかります。
導入そのものの進め方は AI 駆動開発 大全 2026 に、ツール選定の判断軸は AI コーディングツールの選び方 にまとめています。併用は、どちらかを踏んだうえで次に来る話だと考えてください。
発注する側から見た併用
社外に開発を任せている場合、この話は見え方が変わります。並列にしているかどうかは、成果物からは分かりません。
見るべきなのは、進み方が読めるかどうか です。並列にしていても、統合と確認の工程が設計されていれば、出てくるものの品質は安定します。逆に、量だけ増えて確認が追いついていない体制では、後半で急に手戻りが増えます。
発注時に確認するとよいのは、次の 2 点です。
- レビューを誰がどのタイミングで行うか
- 変更が小さい単位で届くかどうか
2 つ目が効きます。大きなかたまりでまとめて届く進め方は、こちら側が確認できません。 小さく届けば、途中で方向を修正できます。速さの根拠を「並列で回している」に置いている説明よりも、確認の設計を説明できるかどうかを見てください。
段階を追って広げる
導入の順番を、もう少し具体的に置いておきます。飛ばすと戻ることになる部分です。
| 段階 | やること | 次へ進む条件 |
|---|---|---|
| 1 | 1 つのエージェントで依頼とレビューの型を作る | 期待どおりの結果が安定して出る |
| 2 | 衝突しない 2 本を並列にする | 統合で手戻りが出ない |
| 3 | 本数を増やす | その日のうちにレビューが終わる |
| 4 | チームに広げる | 型が文書として残っている |
段階 3 で止まるチームが多い印象があります。増やせるかどうかを決めるのは、生成の速さではなくレビューの容量です。 ここが上限に当たったら、本数を増やすのではなく、レビューを軽くする方向に手を入れてください。
段階 4 に進む条件を「型が文書として残っている」にしているのは、口頭で伝わる型は人数が増えると崩れるためです。依頼の書き方とレビューの観点が書かれていれば、新しく入った人も同じ回し方に乗れます。
見るべき指標は 2 つで足りる
効果を測ろうとして凝った計測を始めると、そこで力尽きます。見るのは 2 つで十分です。
1 つは、着手から確認完了までの時間。並列にした効果は、ここに出ます。生成そのものの速さではなく、人が待っている時間が減っているかどうかを見てください。
もう 1 つは、統合でのやり直しの回数。同時に走らせた作業が同じファイルを触っていなければ、ここはほとんど発生しません。増えているなら、並列の本数ではなく作業の切り方に問題があります。
コツ
やり直しが増えたときに本数を減らすのは対症療法です。まず切り方を見直してください。切り方が正しければ、本数を戻しても再発しません。
逆に、測らないほうがよいのは生成量です。出た量は増やそうと思えば増やせますが、増やしても価値にはなりません。 確認まで終わって初めて成果になります。
まとめ
- ツールを 1 つに絞る前提は、習熟コストが下がったことで崩れてきた
- 併用で速くなる主因は能力差ではなく、人の待ち時間が重なること
- 衝突は、同じファイルを同時に触らない作業単位の切り方で防ぐ
- 上限になるのはレビュー。出せる量ではなく見られる量で並列数を決める
- 広げる前に、1 つで依頼とレビューの型を作っておく
