Eigent が MiniMax M2.1 と出会う
CAMEL Workforce と MiniMax M2.1 によるエンタープライズ向けブラウザ自動化

実際のエンタープライズ環境では、多くの社内ツール、ダッシュボード、レガシーシステムが完全にブラウザ上で動作しています。こうしたシステムを自動化するために、私たちは Eigent を使用します。これはローカルで動作し、ソースから完全にセットアップできるオープンソースのマルチエージェント・ワークフォースアプリケーションで、ブラウザ自動化に強くフォーカスしています。実質的には、自社インフラ上で動作する Eigent のオープンソース共同作業者 のような存在です。
この記事では、Eigent が CAMEL Workforce とブラウザ自動化を活用して、複雑なマルチステップのエンタープライズタスクをどのように処理するかを解説します。また、MiniMax M2.1 を詳しく取り上げ、現実的なエンタープライズワークフローでの性能と、長期的な agentic ブラウザ自動化シナリオで効果的に動作するためのアーキテクチャ上の特徴を分析します。
背景: Eigent とは何か、そして MiniMax M2.1 をどう支えるのか
Eigent は、デスクトップ上で動作するオープンソースのマルチエージェント・ワークフォース製品です。ブラウザ自動化、ターミナル自動化、MCPs などの一般的な能力に支えられた、マルチエージェント・ワークフォースアーキテクチャで構築されています。この設計により、Eigent のエージェントは、人間の作業者のようにタスクを実行でき、深い API 統合や絶え間ないワークフロー再構成なしに、実際のデスクトップ環境で動作します。
基盤モデルが進化し続ける中、Eigent のオープンソース・マルチエージェントシステムと統合することで、開発者やエンタープライズユーザーは LLM の能力を現実のユースケースに直接、迅速かつ効果的に適用できます。Eigent の Model Settings ページに移動し、OpenAI Compatible セクションを見つけて、API キーと URL を入力してください。モデル名を MiniMax-M2.1 に設定したら、準備完了です。サポートが必要ですか?MiniMax API キーの設定ガイドをご覧ください: https://platform.minimaxi.com/docs/api-reference/text-openai-api.
GitHub リポジトリと Eigent のセットアップ方法
GitHub repository: https://github.com/eigent-ai/eigent
クイックスタート: すぐに使いたい場合は、事前コンパイル済みのデスクトップアプリを使用して Eigent を実行できます。または、コードを確認してエージェントをカスタマイズするために、開発環境をセットアップすることもできます。
Option A: ゼロ設定のデスクトップアプリ
- クライアントを https://www.eigent.ai/ からダウンロードします。
.dmg(macOS)または.exe(Windows)をインストールします。- アプリを起動すると、ローカルバックエンドが自動的に開始されます。
Option B: 開発者向けセットアップ
- 前提条件: Node.js (v18-22) と Python。
- クローンしてインストールします:
git clone https://github.com/eigent-ai/eigent.git
cd eigent
npm install
- アプリケーションを実行します:
npm run dev
起動後は、設定画面から LLM プロバイダー(MiniMax M2.1 など)を直接設定できます。設定、詳細機能、トラブルシューティングについてより詳しく知りたい場合は、公式ドキュメントをご覧ください: https://docs.eigent.ai/get_started/welcome.
内部構造: Eigent のフルスタックと CAMEL Workforce アーキテクチャ
Eigent のシステム概要
Eigent は、CAMEL Workforce を中核エンジンとして搭載した、マルチエージェントオーケストレーションを備える local-first のデスクトップアプリケーションです。システムは分離されたフルスタックアーキテクチャを実装しており、すべてユーザーのローカルインフラ上で動作します。この設計により、データ主権を確保し、クラウド上で動作するエージェント実行に伴うプライバシーリスクを回避します。
フロントエンド
ユーザーインターフェースは、エージェント設定とワークフロー監視のためのコントロールプレーンとして機能します。Electron フレームワーク内で React と TypeScript を使って構築されています。
主なコンポーネントは以下のとおりです:
- 状態管理: Zustand が効率的なリアクティビティで一時的な状態を処理します。
- ビジュアルオーケストレーション: React Flow がエージェントワークスペースとリアルタイム実行を可視化します。
- 通信: フロントエンドは安全なローカル HTTP リクエストを介してバックエンドと通信します。
バックエンド
中核ロジックは、FastAPI と Uvicorn を使用したローカル Python サーバーにあり、CAMEL のマルチエージェントフレームワークをホストします。
- 実行環境: バックエンドは Python 3.10+ 上で動作し、高性能な依存関係解決と環境分離のために uv で管理されます。
- 永続化レイヤー: PostgreSQL を SQLModel と SQLAlchemy ORM 経由で使用し、監査ログ、ワークフロー履歴、エージェント状態を保存します。
- マルチエージェントシステムフレームワーク: CAMEL はオーケストレーションロジック(たとえば workforce)を処理し、リモート(たとえば MiniMax)またはローカル(たとえば vLLM)の LLM と連携します。CAMEL は、ブラウザ、ターミナル、ドキュメント生成ツールなどのツールキットも提供します。
CAMEL Workforce: 組織構造に着想を得たマルチエージェントシステム
Eigent の中核には CAMEL Workforce があり、分散協調によって複雑な実世界タスクを解決するよう設計されたマルチエージェントシステムです。このシステムは厳密な producer-consumer パターンを採用し、非同期メッセージチャネルによって仲介されることで、依存関係グラフを効率的に管理します。
エージェントの役割
- Coordinator agent: 主ディスパッチャーとして機能し、グローバル状態を維持し、利用可能性と能力に基づいてサブタスクを割り当てます。
- Task agent: 高レベルの目標を実行可能な原子的単位へ意味的に分解する責任を持ちます。
- Worker agent: ドメイン固有のツールを使って原子的サブタスクを実行します。
非同期通信: TaskChannel
調整層と実行層の分離は TaskChannel によって実現されます。この非同期メッセージキューは、メイン実行スレッドをブロックすることなくタスクの配分を管理します。
実行フロー:
- Workforce がタスクを開始します。
- Worker ノードが割り当てをポーリングします。
- 完了すると、結果が返送されます。
動的 DAG 構築
エンタープライズワークフローは、直線的であることはほとんどありません。CAMEL Workforce は、動的な有向非巡回グラフ(DAG)構築メカニズムを実装しています。高レベルのプロンプト(たとえば、「旅行計画を作成して」)を受け取ると、Task agent はこの目標を個別のノードに分解します。
システムは依存関係をマッピングし、スケジューラが以下を可能にします:
- 独立したノードを並列実行する(たとえば、「航空券を検索」と「ホテルを検索」を同時に実行)。
- 依存するノードを、前段のノードが DONE 状態に達するまでブロックする。
フォールトトレラント機構
LLM の非決定論的な性質を踏まえ、Eigent は失敗を致命的例外ではなく、想定される状態遷移として扱います。アーキテクチャは以下を使った回復メカニズムを実装しています:
- Retry: 一時的なエラーに対処するため、同じ worker 上でサブタスクを再実行します。
- Replan: Task agent は、サブタスクを再キューイングする前に、失敗ログに基づいて元のサブタスクを修正します。
- Reassign: サブタスクを、互換性のあるスキルセットを持つ別の worker に移行します。
- Decompose: 複雑さが原因でタスクが失敗した場合、より小さなサブタスクに分割します。

Eigent におけるブラウザ自動化アーキテクチャ
マルチエージェント自動化が真のエンタープライズ価値を解き放つのは、ブラウザ自動化のような強力な汎用機能と組み合わさったときです。Eigent は、ブラウザ制御とエージェントオーケストレーションを分離する 2 層アーキテクチャを採用しています:
- TypeScript 層はブラウザ操作を担当します。ネイティブの Playwright API を活用して、DOM 操作、構造化スナップショットの取得、SoM スクリーンショットの生成、遮蔽の検出、そして高度なブラウザロジックを JavaScript ランタイム内で直接処理します。Playwright は TypeScript にネイティブであるため、この層は
_snapshotForAI()のような機能にアクセスでき、パフォーマンスと信頼性が向上します。 - Python 層は AI オーケストレーションを担当します。LLM 呼び出し、エージェントの意思決定、タスク計画を管理します。
- 2 つの層は WebSocket を介して非同期に通信し、ノンブロッキングな操作を可能にします。Python はブラウザ操作の要求を送り、TypeScript がそれを実行し、結果がエージェントループに返されます。
このアーキテクチャは、パフォーマンスを向上させ、要素操作の精度を高め、動的な DOM フィルタリング、viewport-aware スナップショット、ブラウザ内 SoM レンダリングのような高度な機能を可能にします。ブラウザタスクをネイティブな実行コンテキストに委譲することで、Eigent はエージェントベースのエンタープライズ自動化のための堅牢な基盤を確保します。

実世界のエンタープライズタスクで MiniMax M2.1 をテストする
私たちは、Eigent のブラウザ自動化機能を使って営業プロセスを自動化するために、MiniMax M2.1 で Eigent をテストしました。エージェントタスクは、リードの取得と作成、資格確認とパイプライン管理、見積、交渉、クロージング、製品管理を含む、実世界の営業サイクルの各段階をカバーしました。
実験実行全体を通じて、MiniMax M2.1 は一貫して 3 つの強みを示しました:
- iframe やネストされた要素を含む、複雑なページ構造をうまく処理します。
- 自分の操作を確認して精度を保ち、ステップを短く維持します。
- ツールを効率的かつ柔軟に使い、不要な手順を避けます。
Task:
"Global Media に新しい連絡先があります - Jennifer Martinez (jennifer.m@globalmedia.com) は同社の新しい Senior Marketing Manager です。彼女を Salesforce に追加し、正しい会社と関連付いていることを確認してください。"

このタスクでは、MiniMax M2.1 は複雑な Salesforce インターフェース内で動作し、Jennifer Martinez(Senior Marketing Manager)という新しい連絡先を Global Media に追加し、正しいアカウントに正しく紐付いていることを確認しました。これには、複数の UI レイヤーを移動し、適切な入力箇所を特定し、連絡先を作成し、主要フィールドを入力し、アカウントのリンクを検証することが必要でした。
結果は、MiniMax M2.1 が誤クリックやワークフローの破綻なしに、すべての手順を正確に実行したことを示しています。これは、複雑なエンタープライズ UI の理解、マルチステップ操作の計画、そしてエンドツーエンドタスクの信頼性ある実行におけるモデルの高い能力を示しています。
MiniMax M2.1 がタスクパフォーマンスを向上させる理由
MiniMax M2.1 は、自律型エンタープライズエージェントにとって強力な選択肢です。長期的でマルチステップなタスクを高い信頼性で処理し、性能、効率、汎用性のバランスを提供します。
推論の強化とワークフローの継続性
前世代と比べて、M2.1 はより簡潔で効率的な推論チェーン、応答性の向上、トークン消費の削減を実現します。複数ステップにわたるコンテキスト管理が改善されており、関数呼び出し中の論理的な連続性を維持しやすくなり、ワークフロー後半でのエラー発生率を下げます。
エージェントとツールの汎化能力
M2.1 は、さまざまなエージェントスキャフォールディングフレームワークやツール環境で優れた性能を発揮します。異なるツールに対して安定して汎化し、統合されたワークフローをサポートするため、エンタープライズ自動化に実用的です。
長期計画における堅牢性
エンタープライズ自動化では、動的な UI 状態、読み込み遅延、予期しない操作など、不確実性がしばしば伴います。推論と実行効率の改善により、M2.1 はより長いタスクシーケンスでも高い耐性を示します。
Eigent と MiniMax M2.1 を試す
Eigent は完全なオープンソースです。開発者、研究者、エンタープライズチームの皆さまに、ぜひ探索、拡張、貢献していただければと思います:
- GitHub: https://github.com/eigent-ai/eigent
- Hugging Face: https://huggingface.co/MiniMaxAI/MiniMax-M2.1
- Discord: https://discord.camel-ai.org/
Recent Posts

研究チーム向けの最適なオープンソース Claude Science 代替案
Claude Science の各層をカバーするオープンソースツールと、ローカル研究スタックの構築方法を比較します。

Claude Science:何ができ、どう動き、誰のためのものか
Claude Science は研究者向けの Anthropic ベータデスクトップアプリです。再現可能な成果物、R と Python カーネルの仕組み、適した利用者を解説します。

Claude Science vs Claude Code:研究スタックに入れるべきなのはどちらか
Claude Science と Claude Code は Anthropic の、異なる仕事向けのエージェント型ツールです。状態、計算、出力の違いと、両方を使うべき場面を解説します。