OpenOPCで独自のAI企業を立ち上げる方法
通常、マルチエージェントシステムの実験は、3つのLLMがループの中で延々と丁寧に質問し合い、トークンを消費し尽くす段階で止まってしまうことが多いです。アプリケーションを書くよう頼むと、5ページ分の謝罪文ができて、動作するコードは1行も書けないなんてことになる。
最近、香港大学(HKUDS)の研究者が開発したOpenOPCに出会いました。彼らはエージェントオーケストレーションを抽象的なチャットではなく、実際の企業として捉えてアプローチすることを決めました。組織構造、役割分担、カンバンボード、品質チェック、特定のタスクのための採用などを備えた企業です。

開発者が考えたこと
著者たちはこのコンセプトをAI-Native Companyと呼んでいます。1つのエージェントがアーキテクチャ、テスト作成、フロントエンド作業を同時に行おうとするのではなく、プロジェクトは特定のブリーフに合わせてチームを組みます。
この仕組みは3つのメカニズムに基づいて構築されています:
- 構造の組み立て。システムがブリーフを分析し、組織構造を構築してエージェントを選定します。 готовые талантов templatesを使用するか、クリーンなコンテキストで新しいプロファイルを作成します。
- タスク実行。タスクは一箇所に山積みにならず、有限状態マシンを通過します。各ワークアイテムには所有者、ボード上の現在のカラム、実行の準備状態が設定されています。
- 経験の蓄積。プロジェクト完了後、抽象的なチャットではなく、特定の役割の貢献度を評価します。成功したテクニックとソリューションは、役割の個人メモリとチームの共有命令書に記録されます。
嬉しいボーナスとして、著者たちはReactとPhaserで構築されたWebインターフェースを実装しました。エージェントたちはピクセルスタイルのバーチャルオフィスでデスクに座り、互いにタスクカードを渡し、会议のために通話を開始します。

内部でのコラボレーションの仕組み
複雑なパイプラインにおける主な問題は、タスクが最初から完璧に計画されることは稀だということです。途中でブロッカー、欠落しているコンテキスト、失败的テストが必ずと言っていいほど発生します。
OpenOPCは依存関係グラフ(DAG)とマネージャの役割を通じてこれを解決します。マネージャはブリーフを受け取り、分解して実行者に仕事を分配します。独立したタスクは並列で実行され、依存関係のあるタスクは順番を待ちます。
チームインタラクションは5つの基本的なモードに従います:
- 割り当てられたエージェントによるタスクの直接実行。
- コンテキスト転送付きでサブタスクを部下に委任。
- 次のステージに送る前に完成結果をレビュー。
- 完成したモジュールをプロジェクト全体に統合。
- 具体的なフィードバック付きで修正のために戻す。
エージェントが壁にぶつかった場合、エラーでクラッシュすることはしません。まず、システムが内部的に問題を解決しようとします:関連する領域を担当する役割にブロッキングメッセージを送ります。エージェントの権限では不十分な場合(例えば、危険なターミナルコマンドの確認が必要거나、服务に支払いが必要な場合など)、ランタイムはリクエストを人間にエスカレーションします。
確認ポリシーはセキュリティ設定 통해 구성됩니다。単純な読み取りコマンドは即座に実行され、中程度のリスクのあるコマンドは別のLLMによって評価され、破壊的な操作(例:rm -rfやforce push)は常にユーザーのボタン押下を待ちます。
起動モードとインターフェース
このプロジェクトは2つの主要なシナリオをサポートしています:Task ModeとCompany Modeです。
Task ModeはCursorやOpenCodeのような使い慣れたワークスペースに似ています。単一エージェントモードで、選択された1つのエージェントが特定の焦点のある問題を解決します:モジュールのリファクタリング、スクリプトの作成、情報の収集など。
Company Modeはチーム全体を起動します。組み込みのOpenOPC Nativeエンジン、またはClaude Code、Cursor、Codexなどの外部CLIエージェントを接続できます。役割ごとに異なるバックエンドを使用できます:アーキテクトは1つのモデルで動作し、開発者は外部ターミナルエージェント経由でコードを書き、レビュアーは3番目の組み合わせでコードをチェックします。
これらすべてはターミナルとブラウザダッシュボードの両方から操作できます。

Webインターフェースでは以下が見つかります:
- ランタイムからの実際のタスク状態を反映したカンバンボード。
- エージェント間のメッセージログと内部議論の記録を含むコミュニケーションパネル。
- 報告チェーンを変更したり、新しいスペシャリストを採用できる組織構造エディタ。
- 誰が現在どの类型的タスクに取り組んでいるかを確認できるピクセルオフィス。

クイックスタート
プロジェクトのデプロイには、作成者がパッケージマネージャーとしてuvを推奨しています。Python 3.10以上が必要で、フロントエンドを再ビルドする場合はNode.jsバージョン18以上が必要です。
まず、仮想環境を設定します:
# Клонируем проект и переходим в папку
cd OpenOPC
# Создаем окружение с Python 3.12
uv python install 3.12
uv venv --python 3.12
source .venv/bin/activate
# Устанавливаем зависимости
uv pip install -e .
# Опционально ставим Chromium для браузерных инструментов
uv run python -m playwright install chromium
次に、ローカル設定とメモリフォルダを初期化します:
uv run opc init
このコマンドは.opc/config/ディレクトリを作成します。.opc/config/llm_config.yamlを開いてAPIキーを追加します。エンジンはLiteLLMおよびOpenRouterと互換性のある任意のエンドポイントで動作します。
llm:
default_model: "openai/gpt-4o"
api_base: "https://openrouter.ai/api/v1"
api_key: "sk-or-v1-..."
max_tokens: 16384
これでWebインターフェースを起動できます:
uv run opc ui
パネルはhttp://localhost:8765で開きます。
コンソールから直接作業する場合は、ユーティリティが便利なインタラクティブチャットを提供し、単一タスクの実行もサポートしています:
# Запуск интерактивного чата
uv run opc chat -p my_project
# Одиночная задача в Task Mode
uv run opc chat -p my_project --mode task --agent native "Проанализируй структуру проекта и составь список зависимостей"
# Запуск задачи в режиме компании
uv run opc chat -p my_project --mode company --company-profile corporate "Спроектируй и реализуй базовый REST API для сервиса заметок"
実践での応用例
リポジトリには、投資レポートから動画スクリプトシナリオ、ゲームプロトタイプまで、幅広い方向性の使用例が含まれています。
日常的な開発において、OpenOPCはエンドツーエンドのパイプラインをカバーするのに優れています。例えば、関数を書くだけでなく、サードパーティAPIの調査、アーキテクチャドキュメントの準備、コード作成、Playwrightを通じたテスト実行、ドキュメント付きの整ったプルリクエストへのパッケージングなどが必要な場合に活躍します。
別のシナリオとして、メンジャー統合があります。OpenOPCはTelegram、Discord、Slack、Feishu、その他の企業チャットチャンネルに接続できます。着信タスクストリームにボットを設定すれば、チャットからのメッセージに基づいてエージェントチームを起動してくれます。
まとめ
OpenOPCは構造化されたアプローチで好印象を残します。著者たちは全能の単一プロンプトについての童話を売ろうとはしていません。明確な責任分離、ディスクへの状態永続化、危険なアクションの制御を備えた予測可能なエンジニアリングシステムを構築しています。
このプロジェクトを試す価値があるのは、以下のような場合です:
- プロジェクトに複数の異なるスキルセットが必要な場合、ClaudeやCursorとの単一チャットに窮屈さを感じている。
- 混沌としたメッセージのやり取りではなく、実際のタスク管理とDAGを備えたマルチエージェントシステムを実験したい。
- 明確な視覚的制御を備えた日常的な調査やエンジニアリングプロセスの自動化のためのローカルフレームワークが必要。
始める最佳 방법은、uvでローカルUIを実行し、単一エージェントモードでシンプルなタスクから始めて、逐步的にCompany Modeで独自のチームを構築することです。マシン用の自動確認レベルを構成するには、.opc/config/フォルダを確認することも有用です。
関連プロジェクト