Omnigentで複数のコーディングエージェントを連携させて効率的に作業するためのガイド
Claude CodeやCodex、Cursorをターミナルで実行したことのある人なら、きっと一つの問題に気づいたことがあるでしょう。各CLIエージェントにはそれぞれ独自のインターフェース、フラグ、そしてプロジェクトファイルを変更する際の癖があります。あるものはリファクタリングを得意とし、別のものはテスト作成をより正確に行いますが、それらを単一のタスクで連携させるには、多くの手動切り替えが必要でした。
最近、Omnigentリポジトリを見つけました。これは異なるAIエージェントを一元管理するオープンソースのPythonメタフレームワークです。共有されたオーケストレーションレイヤー、统一されたインターフェース、セキュリティポリシー、そしてノートパソコンやスマートフォンからのセッション接続機能が提供されます。
メタフレームワークでできること
このプロジェクトの核となるアイデアは、開発者を特定のプロバイダーやインターフェースの詳細から分離することです。異なるSDKに対応するためにコード書き直す代わりに、エージェントを宣言的に定義し、グループ化することができます。
Omnigent的实际用途は以下の通りです:
- 単一セッションで複数の異なるエージェントを実行可能。例えば、一つが計画を立て、他のものが並行してgitブランチでコードを書く。
- 任意のモデルに接続可能。AnthropicやOpenAIのAPIキーだけでなく、通常のClaude ProやChatGPTのサブスクリプション、またはOpenRouter、Ollama、vLLMなどのサードパーティーゲートウェイも使用可能。
- デバイス間でセッションコンテキストを保持。ターミナルで作業を開始し、デスクトップアプリで継続し、Webインターフェースでスマートフォンからステータス確認が可能。
- 同僚とセッションを共有。リアルタイムの協調エージェント表示、コパイロットモード、またはダイアログを別ブランチにフォークする機能がすべて利用可能。
- サンドボックスでの実行を隔離。LinuxのbubblewrapやmacOSのseatbeltなどのローカル機構に加え、Modal、E2B、Daytona、Kubernetesなどのクラウド環境もサポート。
起動と設定の仕組み
インストールは、uvユーティリティを使った単一コマンド、またはインストーラースクリプトで行います:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh
インストール後、omnigentCLIユーティリティ(または短いエイリアスであるomni)がシステムで利用可能になります。
omnigentコマンドを実行すると、システムは環境で見つかったAPIキーや、以前のコンソールクライアントからの認証を引き継ぐかどうかを尋ねます。
次に、特定の環境を起動できます:
omnigent claude
omnigent codex
omnigent cursor
起動すると、コンソールプロセスだけでなく、ローカルWebサーバー(ポート6767)も開始されます。http://localhost:6767にアクセスすると、ターミナル出力をミラー表示するWebインターフェースが開きます。
YAMLによる宣言的エージェント
最も興味深い部分は、単一の設定ファイルで独自のエージェントとその相互作用を記述できることです。以下は基本的なエージェントファイルの例です:
name: my_agent
prompt: Вы помогаете анализировать данные и собирать отчеты.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
docs:
type: mcp
url: https://example.com/mcp
リポジトリにはいくつかの готовые 例が含まれています。Pollyの例(examples/polly/)は特に注目に値します。
Pollyはマルチエージェントのテックリードです。このエージェント自体はコードを書かず、タスクを分解して他のエージェント(Claude Code、Codex、またはPi)に隔離されたgit worktreeブランチでサブタスクを委任します。コードの準備が整うと、Pollyは異なるベンダーのエージェントに差分をレビュー用に送信します。追加の手間を省いて готовые pull requestとコードの相互レビューが得られます。
別の例としてDebbyがあります。彼女は同時に2つのモデル(ClaudeとGPT)にリクエストを送信し、レスポンスを並列表示します。/debateコマンドを使用すると、モデルが互いの決定を批判し合い、合意に達するまで続けます。
セキュリティと予算制限
エージェントにターミナルとファイルシステムへのフルアクセスを許可することは危険です。Omnigentはセキュリティポリシーでこの問題を解決します。
ポリシーはすべてのエージェントアクションをチェックし、ブロックしたり、コマンド実行前に確認を要求したりできます。さらに、ルールはサーバーレベル、個々のエージェントごと、または現在のセッションごとに設定できます:
policies:
approve_shell:
type: function
handler: omnigent.policies.builtins.safety.ask_on_os_tools
budget:
type: function
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]
この例では、エージェントはシェルコマンドを実行する前に確認を要求し、5ドルの制限に達すると停止します。
プロジェクトのターゲットユーザー
Omnigentは、日常的な開発でAIエージェントを активно 使用しているチームに最適です。費用的控制に課題がある場合、クラウドサンドボックスでエージェントを実行したい場合、または同僚とセッションを共有する便利な方法が必要な場合、このプロジェクトがこれらのニーズに応えます。
プロジェクトはまだアルファ段階ですが、GitHubで8.7kのスターを獲得しており、アクティブなコミュニティがあります。始めるには、CLIをインストールして готовые 例のいずれかを実行するだけです。
関連プロジェクト