0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Self-Driving Codebasesとは何か ― AIが自律的に進むコードベースとエンタープライズの現実

0
Posted at

Self-Driving Codebases とは何か

Cursorが実験した「AIが自律的に進むコードベース」と、エンタープライズが直面する現実

AIにコードを書かせる。
この話題自体は、もはや新鮮ではありません。

一方で、「AIが長時間にわたり、自律的にコードベースを前進させ続ける」という試みは、エンタープライズ文脈ではほとんど実証されていません。
PoCでは動くが、本番規模になると破綻する。その壁は厚い。

Cursor が公開した Self-Driving Codebases は、その壁に正面からぶつかりにいった記録です。
この記事では、その内容を整理しながら、なぜ単純なAI自動化は組織規模で壊れるのかを読み解いていきます。


「エージェントを増やせば進む」は、組織では成立しない

Cursorの初期アプローチはシンプルでした。
単一のVM上で、数千のAIエージェントを動かし、共有ステートを見ながらコードを書かせる。

人数(エージェント数)を増やせば進捗も増える。
人間の感覚で考えれば、自然な発想です。

しかし結果は芳しくありませんでした。
エージェント同士が同じ箇所を触り、競合し、タスクは衝突し続ける。
コード量は増えるが、意味のある前進が起きない。

これはエンタープライズ開発でもよく見る光景です。
「人を増やしたのに、なぜか遅くなる」
AIでも、まったく同じことが起きていました。


役割と責任を分けた途端、振る舞いが変わる

次に導入されたのが、明確な役割分担です。

まず登場したのが、プランナーとエグゼキューターという構成でした。

プランナーは全体のゴールを理解し、やるべき仕事をタスクに分解します。
エグゼキューターは、その計画を受け取り、実行を進める役割です。
ワーカーを呼び出し、タスクを割り振り、結果を見て次に進む判断まで行います。

一見すると合理的です。
しかし問題は、エグゼキューターが「実行役」であると同時に「進行判断役」でもあった点でした。


「計画を実行に落とすエグゼキューター」が壊れやすかった理由

エグゼキューターは、

  • 計画されたタスクをどう進めるかを考え
  • ワーカーに仕事を振り
  • 結果を見て次の一手を判断する

という責務を一手に引き受けていました。

結果として、役割が肥大化します。
途中で判断を誤ったり、勝手に「完了」と判断したり、突然止まったりする挙動が増えました。

これは、「計画」と「実行」を一人に背負わせすぎた状態です。
エンタープライズ組織で、権限と責任を集中させすぎたリードがボトルネックになる構図とよく似ています。


エグゼキューターをやめ、「サブプランナー」に分解する

そこでCursorが最終的に採用したのが、階層的なプランナー構造でした。

最上位には、全体を俯瞰するルートプランナーがいます。
このルートプランナーは、巨大なゴールをいくつかの「意味のある塊」に分解します。

そして、その塊ごとに登場するのが サブプランナー です。

サブプランナーは「実行役」ではありません。
自分に割り当てられた範囲について、再び計画を立てる役割です。

  • エグゼキューター:計画を受け取り、実行を進める責任者
  • サブプランナー:計画そのものを、さらに細かくする責任者

サブプランナーは、必要であればさらにサブプランナーを生み出します。
計画を再帰的に分割し、実行可能な単位になるまで責任を分解していく。
エグゼキューターで起きていた「一人に集中しすぎる問題」を、構造そのもので回避しました。


ワーカーも「単なる作業者」では足りなかった

エグゼキューター構造の初期では、
ワーカーは「渡されたタスクを処理して返す存在」でした。
指定された作業をこなし、成果物だけを返す。
それ以上の責任は持ちません。

しかし最終設計では、ワーカーの役割も変わります。


「ワーカーが独立して実装を進める」とはどういう意味か

最終的な構成では、ワーカーはそれぞれ独立した環境で作業します。
他のエージェントと直接やり取りせず、与えられた範囲については最後まで責任を持つ。

ここでの「独立している」というのは、勝手に判断するという意味ではありません。

  • タスクを実装する
  • 実装の中で気づいた問題点を整理する
  • 変更内容や注意点をまとめて引き渡す

この一連を 一つの責任単位として完遂する という意味です。

単にコードを書く手ではなく、
「この範囲については自分が説明できる」状態まで持っていく。
それが、最終設計におけるワーカーでした。


行き着いたのは、見慣れたエンタープライズ構造だった

最終的な全体像は、驚くほど地味です。

  • ルートプランナーが全体を見る
  • サブプランナーが部分ごとの計画を引き受ける
  • ワーカーが独立して実装と報告を完遂する

特別なAI的構造ではありません。
むしろ、大規模エンタープライズで長年使われてきた組織モデルそのものです。

ここが、この実験の一番重要な示唆だと思います。
AIによる自律開発は、人間の組織設計から逃げられなかった


おわりに

Self-Driving Codebases が示しているのは、
「AIが勝手にうまくやってくれる未来」ではありません。

示されたのは、
役割・責任・スコープを曖昧にした自動化は、必ず破綻する
という、エンタープライズではおなじみの現実でした。

AIは強力な部品になります。
しかし、チーム設計まで肩代わりしてくれる存在ではありません。

だからこそ、この実験は価値があります。
現場の感覚と、ほとんど矛盾しない結果だったからです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?