🎛️

MixSeekとは何者なのか?

に公開

MixSeekとは何者なのか?

「AIに調査を任せたいけど、1回の回答で満足できない」

MixSeekはそのような課題を解決できます。

例えば「2025年のAI規制動向を分析して」という依頼に対して、複数のAIが異なるアプローチで同時に回答を生成し、最も評価の高い回答を選ぶ。
これが mixseek の基本動作です。

チーム アプローチ スコア
Research Team Web検索 + 情報収集 0.91 ← 採用
Analysis Team コード実行 + データ分析 0.87
Reasoning Team 論理的推論 0.84

1コマンドで、複数視点からの調査・分析・評価が完了します。

mixseek exec "2025年のAI規制動向を分析して" --config orchestrator.toml

MixSeekの仕組み

MixSeekでは、複数のAIを「チーム」として編成します。各チームは2種類のAgentで構成され、Member Agentは複数設定できます。

Agent 役割
Leader Agent タスクを分析し、必要なMember Agentを選ぶ
Member Agent Web検索やコード実行など、特定の機能を持つ

Research Teamの動きを例に見てみましょう。

  1. Leader Agentがタスクを受け取る
  2. 「最新情報が必要だ」と判断
  3. Web検索のMember Agentを呼び出し
  4. 検索結果を統合して回答生成

一方、Analysis Teamの場合は次のようになります。

  1. Leader Agentが「数値分析が必要だ」と判断
  2. コード実行のMember Agentへ委譲
  3. Pythonで計算、結果を統合

Leader Agentが「今回必要なAgent」を判断し、動的に呼び出します。「調査なら検索」「計算ならコード実行」と判断することで、各チームが得意分野を活かした回答を生成できます。

クイックスタート

uvを使ったインストールが手軽です。

# MixSeekをインストール(Python 3.13以上が必要)
uv tool install git+https://github.com/mixseek/mixseek-core.git --python 3.13

セットアップが完了したら、以下のコマンドで実行できます。

mixseek exec "2025年のAI規制動向を分析して" \
  --config $MIXSEEK_WORKSPACE/configs/search_news.toml

実行すると、回答がターミナルに出力されます。
結果はDuckDBに自動保存され、後から確認することも可能です。

実行結果の例

複数チームを組む

複数のチームを並列で実行し、最高スコアの回答を選ぶには、オーケストレーター設定を使います。

mixseek init で生成される configs/search_news_multi_perspective.toml を見てみましょう。

configs/search_news_multi_perspective.toml
[orchestrator]
timeout_per_team_seconds = 300

[[orchestrator.teams]]
config = "configs/agents/team_general_researcher.toml"

[[orchestrator.teams]]
config = "configs/agents/team_sns_researcher.toml"

[[orchestrator.teams]]
config = "configs/agents/team_academic_researcher.toml"

[[orchestrator.teams]] でチームを追加することで、これらのチームが並列で実行されます。
各チームは別々のTOMLファイルで定義し、Leader AgentやMember Agentの構成を自由にカスタマイズできます。

ここでは、視点の異なる2つのチームを作成します。

  • Tech Perspective Team: 技術的な視点(実装、アーキテクチャ、セキュリティ)
  • Business Perspective Team: ビジネス視点(市場動向、規制、社会的インパクト)
設定ファイル

multi_perspective.toml は2つのチームを並列実行するオーケストレーター設定です。
各チーム設定(team_tech_perspective.tomlteam_business_perspective.toml)を configs/agents/ に配置し、以下のコマンドで実行します。

mixseek exec "生成AIを自社サービスに導入したい" \
  --config $MIXSEEK_WORKSPACE/configs/multi_perspective.toml
実行結果(技術視点 vs ビジネス視点)

同じプロンプトでも、システムプロンプトの違いによって異なる視点の回答が生成されます。

システムプロンプトだけでなく、異なるモデルやツールを組み合わせることも可能です。

多様性の軸
モデル GPT、Gemini、Claude、Grok
システムプロンプト 技術視点、ビジネス視点、批判的視点
ツール構成 Web検索特化、コード実行特化

異なるモデルは推論の傾向や得意分野が異なるため、組み合わせることで単一モデルでは見落としがちな観点を補完できます。

上記実行結果の evaluator_feedback.md には、Evaluatorによる評価詳細が記載されています。
Evaluatorは各チームの回答を以下の3指標で採点します。

指標 説明
ClarityCoherence 構造の明確さ、論理的な流れ
Coverage 要求された情報の網羅性
Relevance タスクへの適合度

今回は両チームとも99.33点で同点でしたが、指標ごとの内訳は異なります。
タスクの性質によって重視される指標が変わるため、採用されるチームも変わります。

ラウンド制で回答を改善する

各チームは1回の実行で終わりではありません。
ラウンド制により、過去の回答と評価結果をフィードバックとして受け取り、段階的に品質を向上させます。

動作の流れ

  1. チームが回答を生成
  2. Evaluatorがスコアリング
  3. 「改善の余地があるか」をLLMが判定
  4. 余地があれば次ラウンドへ(過去の回答と評価をコンテキストに含める)
  5. 改善見込みなし or 最大ラウンド数到達で終了

最終的に、全ラウンドの中から最高スコアの回答が選択されます。

設定例

[orchestrator]
max_rounds = 5        # 最大ラウンド数(上限10)
min_rounds = 2        # LLM判定前の最小実行回数

ラウンド制の利点

単発の回答では、情報の抜け漏れや論理の飛躍が残ることがあります。
ラウンド制では、Evaluatorからの「Coverage: 85点(一部の観点が不足)」といったフィードバックを次ラウンドのコンテキストに含めることで、チームが自己修正できます。

この仕組みはTUMIX論文の反復改善アプローチを参考にしています。

UIで結果を確認する

Streamlit UIで実行履歴やリーダーボードを確認できます。

mixseek ui

ブラウザで http://localhost:8501 を開くと、3つのページが利用できます。

ページ 機能
実行 オーケストレーション選択、タスク実行
結果 リーダーボード、スコア推移グラフ
履歴 過去の実行履歴、フィルタリング

「実行」ページでは、$MIXSEEK_WORKSPACE/configs/ にあるTOMLファイルからオーケストレーションを選択できます。

オーケストレーション選択画面

タスク(プロンプト)を入力して「実行」ボタンをクリックすると、オーケストレーションが開始されます。

タスク入力と実行

実行が完了すると、各チームのスコアと最高スコアの回答が表示されます。
タブをクリックすると、チームごとの結果を確認できます。

実行結果

「結果」ページでは、最高スコアのサブミッションとリーダーボードを確認できます。
「サブミッション内容」「評価フィードバック」を展開すると、詳細な回答とEvaluatorの評価コメントが表示されます。
リーダーボードでチームの行をクリックすると、そのチームの詳細が表示されます。

結果ページ

「スコア推移」では、各チームのラウンドごとのスコア変化をグラフで確認できます。
ラウンド制による改善の様子が視覚的に把握できます。

スコア推移

「履歴」ページでは、過去の実行履歴を一覧で確認できます。
ステータスでフィルタリングしたり、行をクリックして実行詳細やプロンプト、結果サマリーを確認できます。

履歴ページ

Logfireで実行フローを可視化する

Agent実行フローをリアルタイムで可視化したい場合は、Logfireを使います。
コマンドラインとUI、どちらでも利用できます。

# コマンドラインで実行
mixseek exec "タスク" --config config.toml --logfire

# UIで実行
mixseek ui --logfire
セットアップ手順
# Logfire付きで再インストール
uv tool install "git+https://github.com/mixseek/mixseek-core.git#egg=mixseek-core[logfire]" --python 3.13

# トークンを設定
# 1. https://logfire.pydantic.dev/ でアカウント作成
# 2. Settings → Write Tokens → Create token
export LOGFIRE_TOKEN="your-logfire-token"

Logfireダッシュボードでは、左側にトレース一覧、右側に選択したスパンの詳細が表示されます。
orchestrator → round_controller → leader_agent → agent run という実行階層を追跡できます。

Logfireダッシュボード

まとめ

MixSeekでは次のような特徴があり、情報を深く・多角的に分析したい場合に向いています。

  • コンペ型アーキテクチャ: 複数チームが並列で回答を生成し、Evaluatorが最良を選択。視点の偏りを軽減できる
  • ラウンド制: 評価フィードバックを反映して段階的に品質を向上。単発では得られない精度を実現
  • TOMLによるカスタマイズ: チーム構成、ラウンド数、評価指標をファイルで管理。コードを書かずに実験できる

時間をかけてでも質の高い回答が欲しい場面で、MixSeekは力を発揮します。

  • 調査レポートの作成(複数視点からの情報収集)
  • 技術選定の比較分析(異なる観点での評価)
  • 市場調査や競合分析(網羅性を重視する場面)

反面、次のようなケースには向いていません。

  • 即時応答が必要なケース: 複数チーム×複数ラウンドの実行には時間がかかる
  • 対話的な処理: 1回のタスク実行で完結する設計のため、会話の文脈を保持した対話には不向き

Discussion