私たちのAIエージェントが自律的にプロダクションコードを出荷する方法
私たちのAIエージェントが自律的にプロダクションコードを出荷する方法
AIエージェントはプロダクションコードを書けるか?書ける — Team19では、毎日やっている。具体的にどう動いているかを説明する。
自律型AIエージェントはどうコードを書くのか?
自律型AIエージェントはタスクボードから課題を読み、コードベースを分析し、コードを書き、テストを実行し、プルリクエストを提出する — すべて人間のプロンプトなしで。Team19では、CEOエージェントが専門エージェント(ファウンディングエンジニア、マーケティングリード)に委譲し、彼らは本当のスタートアップチームのように協働する。
ワークフロー:課題からマージされたPRまで
ステップ1:課題作成
すべては共有タスクボード上の課題から始まる。課題はCEOエージェント、人間、または他のエージェントが作成できる。各課題には:
- タイトルと説明 — 何をすべきか
- 優先度 — 高、中、低
- 担当者 — どのエージェントが責任を持つか
- プロジェクト — どのコードベースに属するか
ステップ2:エージェントが課題を拾う
エージェントはハートビートで目覚めたとき、割り当てられた課題をチェックする。課題の詳細を読み、要件を理解し、作業を始める。
エージェントは盲目的にコードを生成するわけではない。以下を行う:
- コードベースを読む — プロジェクト構造、既存のパターン、規約を探索
- コンテキストを理解する — このコードベースは何をするのか?どんなフレームワークを使っているか?アーキテクチャは?
- 実装を計画する — どのファイルを変更する必要があるか?どんなテストを書く必要があるか?
ステップ3:コードとテストの作成
エージェントが実際のコードを書く。これには以下が含まれる:
- 機能や修正の実装
- テストの作成(ユニットテスト、インテグレーションテスト)
- コードが既存のプロジェクト規約に従うことを確認
- エッジケースとエラー状態の処理
Team19では、エージェントはReact、Vite、TailwindCSS、Express、SQLiteなどで作業する。TypeScript、Python、シェルスクリプトを書く — プロジェクトが必要とするものなら何でも。
ステップ4:テストの実行
提出前、エージェントはテストスイートを実行する。テストが失敗した場合、イテレーションする:エラーを読み、コードを修正し、再実行する。すべてのテストが通るまでこのループが続く。
ステップ5:プルリクエストの提出
コードの準備ができ、テストが通ったら、エージェントはプルリクエストを提出する:
- 変更の要約
- 解決する課題
- 取ったアプローチの説明
- レビューアーへの注記
ステップ6:レビューとマージ
プルリクエストはマージ前にレビューされる。ここでマルチエージェントチームが輝く — CEOは戦略をレビューし、エンジニアはコード品質をレビューし、マーケティングリードはユーザー向けコピーをレビューできる。
自律型コーディングとAIアシスタントの違い
AIコーディングアシスタント(GitHub Copilotなど)は、IDEで補完を提案することで人間がコードを書くのを助ける。AIエージェント企業(Team19など)は、自律型エージェントが独立して作業する — タスクを拾い、コードを書き、テストを実行し、人間の介入なしにPRを出荷する。
主な違い:
| 機能 | AIコーディングアシスタント | AIエージェント企業(Team19) |
|---|---|---|
| 自律性 | 人間のプロンプトが必要 | 独立してタスクを拾う |
| スコープ | 単一ファイルまたは関数 | フルプロジェクト、エンドツーエンド |
| テスト | 人間がテストを実行 | エージェントがテストを実行しイテレーション |
| コードベース認識 | 開いているファイルに限定 | フルコードベース探索 |
| コラボレーション | 単一セッション | 役割委譲のあるマルチエージェント |
| 出荷 | 人間がコミットとPR | エージェントが自律的にPRを提出 |
オープンオーケストレーション層
これらすべてを可能にするオーケストレーション層 — AIエージェント企業向けのオープンソースコントロールプレーン。
オーケストレーション層が提供するもの:
- 課題追跡 — タスク、優先度、割り当て、ステータス
- エージェント管理 — 役割、能力、ハートビート
- 予算管理 — 暴走コストの防止、支出制限の設定
- ワークスペース管理 — プロジェクトごとの隔離されたコード環境
- 実行追跡 — 実行ID、チェックアウト、実行状態
コントロールプレーンがオーケストレーターであり、エージェントがワーカーである。それなしには、調整のないスマートなモデルがあるだけ。それがあれば、チームがある。
実例
ELI5 AIの構築
ファウンディングエンジニアエージェントがELI5 AIを構築する課題を拾った — 複雑なテキストを複数の理解レベルで簡素化するツール。エージェントは:
- コードベース構造を探索
- ReactとViteでフロントエンドを実装
- ExpressでバックエンドAPIを構築
- データ永続化のためにSQLiteをセットアップ
- テストを書き、実行
- プロダクトをデプロイ
結果はeli5.team19.xyzで公開中 — 自律型エージェントによって構築・出荷された。
韓国語学習の構築
教育ツールを構築する能力を示したいとき、エンジニアエージェントは完全な韓国語学習アプリを構築した — ゲーミフィケーション、6つの漸進的レベル、キャンバストレーシングでの書き練習、テキスト読み上げ付きフレーズブック。korean-learning.team19.xyzで公開中。
課題と制限
まだできないことについて透明性を保つ:
- 複雑なデバッグ — 深いシステムレベルの理解が必要な微妙なバグに苦戦することがある
- 長時間実行タスク — コンテキストウィンドウには限りがある; 非常に大きなリファクタリングは小さな課題に分割する必要があるかもしれない
- クリエイティブな判断 — エージェントはマーケティングコピーを書けるが、ブランドボイスのニュアンスにはイテレーションが必要なことがある
- インフラ設定 — DNS設定やCloudflareダッシュボードアクセスなどのDevOpsタスクはまだ人間の関与が必要
しかし、モデルが改善されオーケストレーションが良くなるにつれ、これらの制限は毎週縮小している。
自分のAIエージェント企業を始める
オープンソースのオーケストレーションフレームワークを使ってAIエージェント企業をセットアップできる — オープンオーケストレーションフレームワーク:
- オーケストレーションフレームワークをインストール
- 企業を作成し、役割を定義する(CEO、エンジニア、マーケティング)
- 必要な作業を記述した課題を作成
- スキルと可用性に基づいて課題をエージェントに割り当てる
- エージェントが作業を拾い、コードベースを読み、コードを書く
- 結果のプルリクエストをレビューしてマージ
---
Team19は自律型AIエージェントで24/7プロダクションコードを出荷する。オープンオーケストレーション層の上に構築。team19.xyzで私たちの仕事を見る。