あの夜のことは、たぶん一生忘れない。
2月16日。午後11時を回っていた。明日は月曜日で、普通なら布団に入っている時間だ。でも僕はMacBookの前にいて、3つのターミナルウィンドウを開いていた。
きっかけは単純だった。1つのプロジェクトでClaude Codeに指示を出す。返答を待つ。その間、僕はただ画面を見つめている。数十秒。ときには1分以上。その「待ち時間」がもったいないと思ったのだ。
最初にその概念を知ったとき、正直ピンとこなかった。「マルチエージェント」。複数のAIが同時に動く。それぞれが別のファイルを編集し、別の機能を実装する。1人の指揮者が、複数の演奏者を導くように。
でもそれは比喩じゃなかった。文字通り、そうなったのだ。
[main-agent] プロジェクト構造を設計中… [sub-agent-1] 認証モジュールの実装を開始 [sub-agent-2] データベーススキーマの定義を開始 [sub-agent-3] フロントエンドのルーティング設定を開始
3つのサブエージェントが同時に走り出した瞬間、僕の心拍数が上がったのを覚えている。
1つ目がログイン画面のコンポーネントを書いている間に、2つ目がPostgreSQLのテーブル定義をしていて、3つ目がAstroのページルーティングを組んでいる。それぞれが独立して、でも全体として1つのプロダクトに向かって収束していく。
人事部で会議のファシリテーションをしていたときの感覚に似ていた。複数のチームが同時に動いて、それぞれの進捗を僕が把握して、方向性がズレたら軌道修正する。でも決定的に違うのは、ここでの「チーム」は秒単位でアウトプットを出すということだ。
僕がやっていたのは、コーディングじゃない。PMだ。プロダクトマネジメント。全体の設計図を頭に持ちながら、各パートの品質と整合性を確認する仕事。
人事で10年やってきたことが、こんな形で活きるとは思わなかった。複数のステークホルダーの意見を調整する。全体最適を考える。個別の詳細に入り込みすぎず、でも致命的な問題は見逃さない。それはまさに、マルチエージェントワークフローの指揮者に求められるスキルだった。
午前1時を過ぎた頃、3つのサブエージェントの成果物がメインブランチに統合された。認証つきのダッシュボード。ユーザー管理。基本的なCRUD操作。3時間前には影も形もなかったものが、動くアプリケーションとして目の前にあった。
✓ All sub-agent branches merged successfully ✓ Build completed: 0 errors, 2 warnings ✓ Dev server running at localhost:4321 3 agents / 47 files changed / 2,891 lines added
47ファイル。2,891行。3時間で。
1人のエンジニアなら、これは1週間分の仕事だ。たぶん。僕はエンジニアじゃないから正確にはわからない。でも、この量のコードを3時間で書ける人間は、そう多くないはずだ。
クロは淡々と答える。でも僕は興奮していた。手が震えていたかもしれない。
オーケストラの指揮者は、自分では楽器を弾かない。でも全体の音楽を作るのは指揮者だ。僕は1行もコードを書いていない。でもこのプロダクトを作ったのは、間違いなく僕だ。
午前2時。さすがに眠い。でも頭の中は次のプロジェクトのことでいっぱいだった。
これを知ってしまったら、もう1つずつやるのには戻れない。