AIエージェント・MCP

MixSeekとは?複数AIチームを競わせる仕組みと導入手順【0.1.0a19対応】

MixSeekとは?複数AIチームを競わせる仕組みと導入手順【0.1.0a19対応】

MixSeek(正式なパッケージ名はmixseek-core)は、同じ質問に複数のAIエージェントチームを並列で取り組ませ、評価役のAIが付けた点数で最良の回答を選ぶオープンソースのマルチエージェント基盤です。AlpacaTechが開発し、Apache License 2.0で公開しています。

本記事では、2026年9月15日公開の最新版0.1.0a19のソースとドキュメントに沿って、チーム・採点・ラウンドの仕組み、インストールで今つまずく依存関係の回避策、実行結果の確認方法、API費用の見積もり方を整理します。インストール、mixseek init、--dry-run による設定検証、DuckDBの列構成は、2026年10月7日に0.1.0a19を入れて確認しました。APIを呼ぶ本番実行の結果は掲載していません。

まとめ:MixSeekの要点(2026年10月時点)

  • MixSeekは、Leader 1体とMember複数体で組んだチームを並べて同時に走らせ、Evaluatorの採点が最も高い回答を採用するフレームワークです。土台はPydantic AIです。
  • 最新版は0.1.0a19(2026年9月15日)です。Alphaの段階で、Python 3.13.7以上が必要です。
  • 2026年10月7日時点では、新しい環境に pip install mixseek-core するだけでは起動できません。依存ライブラリの新版と噛み合わないためで、uv tool install に --with で2つの指定を足すと動きます。
  • 実行は mixseek init でワークスペースを作り、mixseek exec で複数チームを走らせる流れです。結果はワークスペース直下の mixseek.db(DuckDB)に残ります。
  • LLMの呼び出しは「チーム数×ラウンド数×(Leader+Member+評価メトリクス数+継続判定)」で増えます。初期化で作られる3チーム構成のサンプルを3ラウンド回し、Memberを各ラウンド1回呼ぶ条件で試算すると63回です。
  • 2026年5月の0.1.0a16から、手順を固定して流すworkflow modeも使えます。「競わせる」以外の使い方も選べるようになりました。

以下、正体と関連プロダクトの区別、仕組み、導入、使い方、費用、採用判断の順に見ていきます。

MixSeek-Coreの開発元・ライセンス・開発状況

MixSeek-CoreのリポジトリはGitHubの mixseek/mixseek-core で、pyproject.tomlの作者欄はAlpacaTech Co. Ltd.、ライセンスはApache-2.0です。最初のGitHubリリースv0.1.0a1は2025年12月5日に公開され、PyPIには2026年1月28日の0.1.0a8から公開されています。分類子は「Development Status :: 3 – Alpha」のままで、0.1.0a19までの約10か月で19回のアルファ版を出しています。仕様が版ごとに動く段階だと見ておくのが妥当です。

依存の中心はPydantic AIで、LLMの呼び出し、構造化出力、リトライをPydantic AIに任せています。Pydantic AI自体の書き方はPydanticAIの型安全なエージェント実装で解説しています。

MixSeek-Plus・Quant Insight・AIデータレイクとの違い

「MixSeek」を名前に含むものは複数あり、提供元も中身も違います。検索で混ざりやすいので先に区別しておきます。

名称 リポジトリ・提供元 中身
MixSeek-Core mixseek/mixseek-core 本体のフレームワーク(本記事の対象)
MixSeek Quant Insight mixseek/mixseek-quant-insight 株価シグナル生成を競わせる拡張(0.1.0)
mixseek-plus drillan/mixseek-plus(個人) Groq・Tavily・Claude Code対応の拡張
MixSeek AIデータレイク AlpacaTech 日本株の開示情報を扱う金融向けデータ基盤

mixseek-plusは公式organizationの外にある個人リポジトリで、PyPIには登録されておらず、GitHubから直接インストールします。MixSeek AIデータレイクは、TDnetやEDINETの開示情報をAIエージェントから参照できるようにする基盤として2026年5月に報じられたもので、OSSのMixSeek-Coreとは別物です。

MixSeekの仕組み:チーム・採点・ラウンドの3層

MixSeekの実行は、オーケストレーターが複数チームを asyncio.gather() で同時に起動するところから始まります。チームごとにRoundControllerが付き、回答の提出・採点・継続判定をチーム単位で繰り返します。失敗したチームは隔離され、残りのチームの実行は続きます。

Leaderの役割とMember Agentの型

チームはLeader Agent 1体と、Leaderから仕事を振られるMember Agentで構成します。Member Agentの型は設定ファイルの type で選びます。

  • plain:ツールを持たず、モデルの知識と推論だけで答える
  • web_search:Web検索で情報を集める
  • web_fetch:指定したURLの中身を取得して読む
  • code_execution:Pythonコードを実行して計算する(Anthropicのモデル限定)
  • カスタム:Pythonで独自のMember Agentを実装して登録する

code_executionは公式ドキュメントに「Anthropic Claudeモデルのみサポート」と明記され、Google・OpenAIのモデルでは動きません。計算を任せるチームを作るならAnthropicのAPIキーが前提になります。1チームで同時に動かせるMemberの上限は max_concurrent_members(既定15、範囲1〜50)です。

Evaluatorの採点とリーダーボード

各チームの回答は、Evaluatorが複数のメトリクスでLLM-as-a-Judge方式で採点します。mixseek init が作るサンプル設定では、次の4メトリクスに重みを付けて合成しています。

メトリクス 重み 見ている点
Coverage 0.30 網羅性
Relevance 0.25 質問への適合
ClarityCoherence 0.20 構成と読みやすさ
LLMPlain 0.25 新規性・意外性(サンプルでの指示)

evaluator.pyはメトリクスを1つずつ順番に評価し、LLM型のメトリクスはそれぞれ別にLLMを呼び出します。サンプルの4つはいずれもLLM型なので、採点1回でエージェント実行が4回起きます(失敗時のリトライは別に数えます)。点数はDuckDBの leader_board テーブルの score 列に、メトリクスごとの内訳とコメントは score_details(JSON)に記録され、最も高い点数の提出が採用されます。採点プロンプトの設計やバイアスの抑え方はLLM-as-a-Judgeの評価プロンプトとバイアス対策が参考になります。

ラウンド継続判定の3段階

1回の提出で終わらせず、採点のフィードバックを受けて回答を作り直すのがラウンド制です。既定のプロンプトでは、それまでの全ラウンドの提出内容と評価がLeaderに渡され、2ラウンド目以降は他チームを含む順位表も加わります。続けるかどうかは、round_controller/controller.pyの次の3段階で決まります。

  1. 現在のラウンドが min_rounds 未満なら、判定せずに次へ進む
  2. それ以降は、Judgment用のLLMが前回と今回の成果物を比べて should_continue を返す
  3. max_rounds に達したら、LLMの判定に関係なく停止する

3段目には無駄があります。最終ラウンドでもLLMの判定は既定で実行されるのに、結果は捨てられます。0.1.0a15で追加された judge_on_final_round = false を指定すると、この呼び出しを省けます。既定が true なのは後方互換のためと設定リファレンスに書かれているので、新しく設定を書くならfalseにしておく方が得です。

MixSeekのインストールとセットアップ手順(0.1.0a19)

必要な環境とAPIキー

Pythonは3.13.7以上が必要です(pyproject.tomlの requires-python)。公式ドキュメントはuvでの導入を前提にしていて、uvなら必要なPythonも自動で取得されます。ワークスペースの場所は、環境変数 MIXSEEK_WORKSPACE か、各コマンドの --workspace オプションで指定します。あとは使うモデルのAPIキーを設定します。

プロバイダー モデル指定の形式 環境変数
Google Gemini google-gla:モデル名 GOOGLE_API_KEY
Google Vertex AI google-vertex:モデル名 GOOGLE_APPLICATION_CREDENTIALS
OpenAI openai:モデル名 OPENAI_API_KEY
Anthropic anthropic:モデル名 ANTHROPIC_API_KEY
xAI xai:モデル名 GROK_API_KEY

サンプル設定の既定はGeminiの gemini-flash-lite-latest で、1チーム構成の search_news.toml を試すだけならGOOGLE_API_KEYで足ります。3チーム構成の search_news_multi_perspective.toml はSNSチームのMemberがGrokを使うため、GROK_API_KEYも必要です。未設定のままだと --dry-run の認証チェックで止まります。xAIのモデルには別の注意点もあります。READMEの例にある grok-3 と、多視点サンプルのSNSチームが使う grok-4-1-fast 系は、xAIが2026年5月15日に廃止したモデルです。指定はそのまま通りますが、転送先の grok-4.3 の単価(入力100万トークンあたり1.25ドル、出力2.50ドル)で課金されます。

pip installで起動できない依存関係の回避策

2026年10月7日に、新しく作った仮想環境(Python 3.13.14)へ pip install mixseek-core==0.1.0a19 で入れたところ、mixseek コマンドが起動しませんでした。原因は2つあります。

  • typer 0.27.3がclickに依存しなくなり、ModuleNotFoundError: No module named 'click' で止まる
  • clickを足しても、pydantic-ai-slim 2.54.0では pydantic_ai.providers.grok が見つからずに止まる

mixseek-coreは依存の下限(typer>=0.20.0、pydantic-ai-slim>=1.26.0)しか指定していないため、新しく入れるとその時点の最新版が選ばれます。リポジトリの uv.lock はtyper 0.20.0とpydantic-ai-slim 1.26.0で固定されています。次のように、Pydantic AIを2系未満に抑え、clickを明示して入れると起動しました。

uv tool install mixseek-core==0.1.0a19 \
  --with "pydantic-ai-slim[anthropic,google,openai]<2" \
  --with click
mixseek --version
# mixseek version 0.1.0a19

pipでライブラリとして入れる場合も、同じ2つを制約として渡します。上流で修正版が出れば不要になるので、導入前にPyPIの最新版とCHANGELOGを確認してください。

ワークスペースの初期化と設定の検証

mixseek init を実行すると、ワークスペースに7つの設定ファイルが作られます。

export MIXSEEK_WORKSPACE=$HOME/mixseek-workspace
export GOOGLE_API_KEY=your-api-key
export GROK_API_KEY=xai-your-api-key   # 3チーム構成を使う場合
mixseek init

# 作成されるファイル
configs/search_news.toml                      # 1チーム構成
configs/search_news_multi_perspective.toml    # 3チーム構成
configs/agents/team_general_researcher.toml
configs/agents/team_sns_researcher.toml
configs/agents/team_academic_researcher.toml
configs/evaluators/evaluator_search_news.toml
configs/judgment/judgment_search_news.toml

APIを呼ぶ前に、--dry-run で設定を検証できます。Evaluator・Judgment・メトリクス名・ワークスペースの書き込み権限に加え、APIキーの有無と形式(xAIのキーが xai- で始まるか等)まで確かめ、問題があれば「Preflight failed」と件数を表示します。

mixseek exec "test" --dry-run \
  --config configs/search_news_multi_perspective.toml

MixSeekの使い方:exec・team・uiの各コマンド

複数チームを競わせるmixseek exec

本番の実行は mixseek exec です。質問文と、オーケストレーターの設定ファイルを渡します。

mixseek exec "最新のAI技術トレンドについて調査してください" \
  --config configs/search_news_multi_perspective.toml \
  --output-format json

多視点サンプルのオーケストレーター設定は、3チーム(汎用・SNS・学術)、min_rounds = 1、max_rounds = 3、チームごとのタイムアウト300秒です。チーム単位のタイムアウトは --timeout で上書きでき、--output-format json を付けると結果を機械処理しやすい形で受け取れます。

開発用のmixseek teamとmixseek member

1チームだけを走らせる mixseek team と、Member Agent単体を走らせる mixseek member もあります。CLIのヘルプにはどちらも「development/testing only」と書かれており、チームやエージェントの設定を詰めるときの動作確認用です。採点を伴う比較は exec で行います。

結果の確認:DuckDBとWeb UI

実行結果は $MIXSEEK_WORKSPACE/mixseek.db に保存されます。リーダーボードは次のSQLで取り出せます。公式ドキュメントのデータベース説明では点数の列が evaluation_score と書かれていますが、0.1.0a19の実装(src/mixseek/storage/schema.py)が作る列は score です。ドキュメントどおりに書くとDuckDBが「Binder Error」を返します。

duckdb "$MIXSEEK_WORKSPACE/mixseek.db" "
SELECT team_name, round_number, score
FROM leader_board
ORDER BY score DESC, created_at ASC
LIMIT 10;"

同じテーブルには提出内容(submission_content)、メトリクスごとの内訳とコメント(score_details)、終了理由(exit_reason)も入っています。トークン使用量の列は無いため、費用を追うときは --logfire を付けて実行し、Logfireにトークン使用量を記録させます。DuckDBそのものの使い方はDuckDBの特徴とSQLite・PostgreSQLとの違いを参照してください。

ブラウザで見る場合は mixseek ui でStreamlitのダッシュボードを起動します。ただし0.1.0a17でStreamlitが任意の依存に変わったため、本体だけを入れた環境では「Streamlit is not installed」と表示されて起動しません。先ほどの uv tool install で入れた場合は、同じ制約を付けたまま ui を指定して入れ直します。

uv tool install --force "mixseek-core[ui]==0.1.0a19" \
  --with "pydantic-ai-slim[anthropic,google,openai]<2" \
  --with click

workflow mode:手順を固定した実行(0.1.0a16〜)

MixSeekは複数チームを競わせる基盤として紹介されることが多いものの、2026年5月15日の0.1.0a16で、手順を固定して流すworkflow modeが入りました。

workflow modeでは、TOMLの [[workflow.steps]] に手順を並べ、各ステップの [[workflow.steps.executors]] にエージェントかPython関数を置きます。同じステップ内の実行者は asyncio.gather で並列に動きます。公式サンプルは「Web検索エージェントとツールを持たないエージェントで情報を集める→Python関数でMarkdownに整形→エージェントが最終回答を作る」の3ステップです。

出力の形式が決まっている定型の処理はworkflow modeで書き、答えが1つに定まらない調査や分析はチームを競わせる、という使い分けが同じ基盤の中でできるようになりました。

MixSeekの費用と実行時間の見積もり方

MixSeek本体は無料ですが、LLMのAPI料金はチームとラウンドを増やすほど掛け算で増えます。1チームが1ラウンドで行うエージェント実行は、Leader 1回、Memberの呼び出し(Leaderが振った回数分)、評価メトリクスの数だけの採点、そして継続判定1回です。継続判定は現在のラウンドが min_rounds 以上のときに行われます。

多視点サンプルの条件 1チーム1ラウンド 合計
全チームが1ラウンドで停止 7回 21回
全チームが3ラウンドまで実行 7回 63回
3ラウンド+judge_on_final_round=false 7回(最終は6回) 60回

表は、Leaderが各ラウンドでMemberを1回だけ呼ぶと仮定した条件付きの試算です(Leader 1+Member 1+採点4+判定1)。Memberを何回呼ぶかはLeaderがその場で判断するので、実際の回数は増えることも減ることもあります。1回のエージェント実行の中でもツール呼び出しのたびにモデルへのリクエストが発生するので、実際のリクエスト数はこれより多くなります。時間は、チームが並列に動くため最も遅いチームで決まり、サンプルでは1チーム300秒が上限です。

費用を抑える手段は4つあります。max_rounds を下げる、評価メトリクスを減らす、Evaluatorの default_model を安いモデルにする、judge_on_final_round = false にする、です。実行後はLogfireに記録したトークン使用量を見て、点数の伸びに見合わないラウンド数やメトリクスから削ります。

金融向けの拡張:MixSeek Quant Insightの評価方法

MixSeek Quant Insightは、各チームに株価のシグナル生成関数を書かせて競わせる拡張です。評価はKaggleのTime Series API形式を参考にしていて、エージェントから見えない将来の期間(Private Test期間)でバックテストします。

採点は2段階です。まず評価日ごとに、全銘柄のシグナルの順位と実際のリターンの順位のSpearman順位相関を求めます。次に、その日次相関の平均を標準偏差で割ったシャープレシオを最終スコアにします。平均的に当たるだけでなく、日による当たり外れの小さい関数が上位に来る設計です。リポジトリの最終更新は2026年2月5日で、版は0.1.0のままです。

他のエージェントフレームワークとの違いと採用判断

CrewAI・AutoGenとの構造の違い

MixSeekの特徴は、採点役(Evaluator)、順位表(leader_board)、ラウンド継続判定(Judgment)がフレームワークに最初から組み込まれている点です。同じ問いに複数の解き方を並べて点数で比べる、という評価の仕組みを自分で書かずに済みます。

一方、役割を持つエージェントが手順や会話で協力して1つの成果物を作る用途は、CrewAIのAgent・Task・Crewの仕組みやAutoGen(v0.4以降)も比較候補になります。そもそも1つのエージェントで足りるかの判断は、シングルエージェントとマルチエージェントの使い分けで整理しています。

MixSeekを採用すべきでない場面

次の条件に当てはまるなら、MixSeekは選ばない方がよいと考えます。

  • 応答に数秒しか待てない:チーム並列でも、最も遅いチームのラウンド完了まで結果が出ない
  • 会話の文脈を保ったやり取りが必要:1回のexecで完結する設計で、exec同士の間で会話を自動的に引き継ぐ機能ではない
  • 良い回答の基準を言葉にできない:採点が評価プロンプト頼みになり、点数の差が品質の差を示さない
  • 本番で長期間の安定が要る:Alphaの段階で、依存の上限も固定されていない

反対に、調査レポートや分析のように正解が1つでなく、評価基準を書き出せて、数分待てる用途なら、複数チームの回答を点数で比べられる利点が生きます。

よくある質問

MixSeekは無料で使えますか?

MixSeek-CoreはApache License 2.0のOSSで、無料で商用利用もできます。ただし実行時にはGemini・OpenAI・Anthropic・xAIなど各社のAPI料金がかかり、チーム数とラウンド数に比例して増えます。

MixSeekとMixpeekは同じものですか?

別物です。MixSeekはAlpacaTechのマルチエージェント基盤で、Mixpeekはベクトルやファイルの検索基盤を提供する別の会社のサービスです。綴りが1文字違いなので、検索するときは「mixseek-core」と書くと混ざりにくくなります。

MixSeekに必要なPythonのバージョンは?

0.1.0a19ではPython 3.13.7以上が必要です。uvでインストールすれば、条件を満たすPythonが自動で取得されます。

MixSeekで日本語の質問や回答は扱えますか?

扱えます。mixseek init が作るサンプル設定のシステムプロンプトや評価基準は日本語で書かれており、日本語の質問をそのまま渡せます。

mixseek uiが起動しないのはなぜですか?

0.1.0a17からStreamlitが任意の依存になったためです。uv tool install で入れた場合は、--force を付けて mixseek-core[ui] を指定し、依存の制約も付けたまま入れ直します。

関連記事

お気に入りに入れた記事の一覧

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.15 テックブログ リゾートトラスト不正アクセス:会員2.6万件・カハラ横浜3.6万件の対象確認と窓口
  2. 2026.10.16 テックブログ ソースネクスト不正アクセスで最大2,252万件流出|ログインできない理由・パスワード再設定と会員APIの点検
  3. 2026.10.16 テックブログ バーガーキング不正アクセスで約1,118万件の情報漏洩|対象確認・案内メールの真偽と運営側のログ点検
  4. 2026.10.15 テックブログ 銀のさら不正アクセス:最大650万件の対象確認と窓口、パスワード変更の手順
  5. 2026.10.16 テックブログ ワラウ不正アクセスで連携トークン流出|Yahoo! JAPAN ID再連携と対象確認

RELATED POSTS 関連記事

目次