Agents API
エージェント関連のAPIリファレンスです。
概要
MixSeek-Coreのエージェントシステムは、Leader AgentとMember Agentの2層構造で構成されます:
Leader Agent: タスク分解、Member Agent調整、結果統合を担当
Member Agent: 特定ドメインに特化したタスク実行を担当
Member Agents
Member Agentは特定の機能やドメインに特化したエージェントです。
実装済みのMember Agent
現在、以下の3種類のMember Agentが実装されています:
Plain Agent
基本的な推論と分析を行うエージェントです。
用途: 一般的な質問応答、テキスト分析、論理的推論
ツール: なし(モデルの推論能力のみ)
実装:
src/mixseek/agents/plain.py
Web Search Agent
Web検索機能を持つエージェントです。
用途: 最新情報の調査、事実確認、情報収集
ツール: Pydantic AI WebSearchTool
実装:
src/mixseek/agents/web_search.py
Code Execution Agent
Pythonコードを実行できるエージェントです。
用途: 数値計算、データ分析、統計処理
ツール: Pydantic AI CodeExecutionTool
制限: Anthropic Claudeモデルのみサポート
実装:
src/mixseek/agents/code_execution.py
Member Agent 共通インターフェース
すべてのMember Agentは BaseMemberAgent を継承し、共通のインターフェースを実装します:
from mixseek.agents.base import BaseMemberAgent
from mixseek.models.member_agent import MemberAgentConfig, MemberAgentResult
class CustomMemberAgent(BaseMemberAgent):
async def execute(
self,
task: str,
context: dict[str, Any] | None = None,
**kwargs
) -> MemberAgentResult:
# タスク実行の実装
pass
主要なメソッド:
execute(task, context, **kwargs)- タスク実行(必須実装)initialize()- エージェント初期化(オプション)cleanup()- リソースクリーンアップ(オプション)
Member Agent Factory
エージェントインスタンスを作成するファクトリクラスです:
from mixseek.agents.factory import MemberAgentFactory
from mixseek.models.member_agent import MemberAgentConfig
config = MemberAgentConfig.from_toml("agent.toml")
agent = MemberAgentFactory.create_agent(config)
主要なメソッド:
create_agent(config)- エージェント作成register_agent(agent_type, agent_class)- カスタムエージェント登録get_supported_types()- サポートされているエージェントタイプ一覧
詳細なAPIリファレンスは Member Agent API を参照してください。
Leader Agents(将来実装予定)
Leader Agentは複数のMember Agentを調整し、タスクを分解して割り当て、結果を統合します。
計画されている機能
タスク分解とサブタスク生成
Member Agentへの作業割当
進捗管理とモニタリング
結果の統合とSubmission生成
エラーハンドリングとリトライ
Leader Agent インターフェース(計画)
class LeaderAgent:
async def plan_task(self, user_prompt: str) -> TaskPlan:
"""タスクをサブタスクに分解"""
pass
async def delegate_to_members(
self,
subtasks: list[SubTask]
) -> list[MemberAgentResult]:
"""Member Agentにサブタスクを割り当て"""
pass
async def synthesize_results(
self,
results: list[MemberAgentResult]
) -> Submission:
"""結果を統合してSubmissionを生成"""
pass
設定
エージェントの設定はTOMLファイルで管理されます:
[agent]
name = "my-agent"
type = "plain"
model = "google-gla:gemini-2.5-flash"
temperature = 0.2
max_tokens = 2048
[agent.instructions]
text = "You are a helpful assistant."
timeout_seconds = 30
max_retries = 1
設定の詳細は Member Agent ガイド を参照してください。
使用例
基本的な使用
import asyncio
from mixseek.config.member_agent_loader import MemberAgentLoader
from mixseek.agents.factory import MemberAgentFactory
async def main():
# 設定を読み込み
loader = MemberAgentLoader()
config = loader.load_from_toml("plain_agent.toml")
# エージェントを作成
agent = MemberAgentFactory.create_agent(config)
# タスクを実行
result = await agent.execute("Explain Python decorators")
if result.is_success():
print(result.content)
else:
print(f"Error: {result.error_message}")
asyncio.run(main())
カスタムMember Agentの作成
from mixseek.agents.base import BaseMemberAgent
from mixseek.models.member_agent import AgentType, MemberAgentResult
from mixseek.agents.factory import MemberAgentFactory
class DatabaseMemberAgent(BaseMemberAgent):
"""データベースクエリを実行するカスタムエージェント"""
async def execute(self, task: str, context=None, **kwargs):
# データベースクエリ実行ロジック
query_result = await self._execute_query(task)
return MemberAgentResult.success(
content=query_result,
agent_name=self.agent_name,
agent_type=self.agent_type.value
)
async def _execute_query(self, query: str) -> str:
# 実際のクエリ実行
pass
# カスタムタイプを登録
custom_type = AgentType("database")
MemberAgentFactory.register_agent(custom_type, DatabaseMemberAgent)
関連リソース
Member Agent API詳細 - 詳細なAPIリファレンス
Member Agent ガイド - 使用方法とチュートリアル
開発者ガイド - 開発環境のセットアップ