AI時代のプロダクトマネージャー 09|実行者から編成者へ:新しい仕事は agent の群れを指揮すること
まず、いちばん仕事ができる人たちが、いま実際にどう働いているかを見てほしい。
彼らは複数の agent を同時に走らせる――それぞれが自分の文脈ウィンドウを持ち、自分が受け持つ一区画を持ち、自分のファイル範囲を持ち、非同期に走る。人はその上で仕事を切り分け、割り振り、しばらくしてから戻って受け入れる。もはや一つの AI が一句ずつコードを書き換えるのをリアルタイムで見張ってはいない。Addy Osmani はこの二つのやり方をはっきり分けている――一方は指揮者で、あなたは一つの agent を連れてリアルタイムに働き、あなたの頭が天井になる。もう一方は編成者で、あなたの手元には agent の一隊があり、あなたは計画し、割り振り、しばらくしてから戻って点検する。産出量はもはやあなた一人の帯域には縛られない。
これはプロダクトマネージャーにとって朗報だ。なぜなら「編成」こそ、プロダクトマネージャーの昔ながらの本業だからだ――一つの大きな目標をタスクに切り分け、別々の人に割り振り、各区画の境界を見張り、最後に受け入れて統合する。ただ、過去にあなたが編成していたのは人だったが、いまはそこに agent の一隊が加わっただけだ。機械的な調整の部分(進捗を催促する、要求を復唱する、書式をそろえる)は agent が引き取り、編成の判断力だけが残り、しかも以前より価値が高くなった。以下は、そのままなぞれる四つの動作だ。
一、一つの agent を最初から最後まで追い続けない
いちばんよくある浪費は、AI を「全工程を見張らないといけないインターン」のように扱うことだ――一句送り、やり終えるのを待ち、ちらっと見て、また次の一句を送る。あなたの注意力がそのまま AI の上限になり、一度に一件しか前に進められない。
編成者のやり方は逆だ。一つのタスクが互いに依存しない三区画に切り分けられるなら、agent を三つ同時に開き、それぞれに一区画を渡して並行に走らせる。あなたは「一つに付き添う」から「しばらくしてから三つを回収する」へと変わる。最初はやりにくい。「一歩ごとに自分が見ていないといけない」という執着を手放す必要があるからだ――だが、まさにここが産出量を何倍にもする場所だ。
二、仕事を境界が重ならない並行の区画に切り分ける
編成の第一の腕は、仕事を切り分けることだ。切り分けがうまいかどうかが、この agent の一隊があなたを助けるか、それとも面倒を増やすかを直接決める。
並行して渡せる一区画は、二つの条件を満たさなければならない――互いに依存しない(A が B の結果を待たなくていい)、境界が重ならない(二つの agent が同じものを同時に書き換えて衝突しない)。たとえば一つの機能を作るなら、「バックエンドの API」「フロントエンドの画面」「この部分のテスト」の三区画に切り分けて三つの agent に渡せる。だが「まずデータベースを設計し、次にそれに依存する API を書く」は並行にはできず、直列にやるしかない。切り分ける前に一度こう問え――この二区画は、それぞれ独立に作り終えられるか。できないなら、無理に並行させるな。
三、各区画に、明確な spec を渡す
これは編成でいちばん致命的な一環であり、第五回のあの話がここで増幅された版でもある。Addy Osmani ははっきり言っている――曖昧な指示は、agent の一隊ぶんの誤りに増幅される。精確な指示は、agent の一隊ぶんの精確な実装に増幅される、と。
一つの agent を連れているとき、指示が曖昧で一つ間違っても、その場で直せる。だが五つ同時に走らせ、それぞれが同じ曖昧な一句を握っていたら、五つぶんのずれになる。戻って回収するころには、五つとも作り直しだ。だから割り振る前に、第五回のあの一式を使え――形容詞を数字に置き換える、状態を全部書く、境界と「やらないこと」をはっきり並べる――そうしてから一つずつ送り出せ。割り振る数が多いほど、spec の精度は倍々で増幅される、正しい方向にも、間違った方向にも。
四、あなたの仕事は、切り分け・受け入れ・つなぎ合わせに変わる
agent が「それを作り上げる」を引き取ったとき、あなたの手元に残るのは、もっと重い三つのことだ――冒頭で仕事を正しく切り分ける、途中で明確な境界を渡す、最後に各区画を回収して受け入れ、一つの全体につなぎ合わせる。
ここでいちばん犯しやすい誤りは、手がうずいて、本来 agent ができるはずの仕事に自分で手を出してしまうことだ――ある区画の実装の細部に沈み込んだ瞬間、全体の編成は止まる。編成者は「上」にいなければならない――各区画が返してきたものが正しいかを見張り(第八回のやり方で、まず底を明かさせ、あなたが検証する)、それらを組み合わせて全体が通っているかを見る。あなたの価値は、あなたがどの区画を自分の手で書いたかでは測られない。この agent の一隊が合わせて出したものが成立するかどうかで測られる。
今日できることが一つある。これから作ろうとしていて、しかも切り分けられるタスクを一つ選び、互いに依存しない二〜三区画に切ってみて、それぞれ agent を開いて作らせる。あなたがやるのは三つだけ――切り分ける、spec を渡す、回収する。まず一度、「三件を同時に前に進める」と「一件ずつ直列にやる」とで何が違うのかを体で感じてみてほしい。
関連記事
- Addy Osmani『The future of agentic coding: conductors to orchestrators』(指揮者 vs 編成者、精確な spec は倍々で増幅される):https://addyosmani.com/blog/future-agentic-coding/
- 本シリーズ第05回『要求を言い切れないと、AI が勝手に埋めて補う』(spec の精度):/ja/blog/say-it-clearly/
- 本シリーズ第08回『本当の課題を見つけるのは、AI には代われない』(受け入れの前に、まず底を明かさせる):/ja/blog/find-the-real-problem/
ディスカッション