英語版は IModelProvider.md を参照。
IModelProvider (インターフェース仕様)
1. 責務の境界 (Responsibility Boundary)
IModelProvider は、正規化メッセージ入力を受けて推論実行を行う知能実行エンジン境界です。
- 役割:
- 非役割:
一括生成、ストリーミング生成、単問応答を提供し、プロバイダー固有通信差異を吸収します。
モデル選定は IModelVectorRouter、Providerライフサイクル管理は IProvider 側責務です。
2. 契約シグネチャ (Signature)
namespace AIKernel.Abstractions.Providers;\n\npublic interface IModelProvider : IProvider\n{\n Task<string> GenerateAsync(IReadOnlyList<IModelMessage> messages, CancellationToken cancellationToken = default);\n Task StreamGenerateAsync(IReadOnlyList<IModelMessage> messages, Func<string, Task> onChunk, CancellationToken cancellationToken = default);\n Task<string> AnswerAsync(string question, string? context = null, CancellationToken cancellationToken = default);\n}
3. 関連ユースケース (Related UCs)
UC-02Structure フェーズ実行:UC-04生成と出力整形:
推論の実行主体として IThoughtProcess を下支えします。
生成結果を IOutputPolisher が最終化する前段として機能します。
4. 統治上の制約 (Governance & Determinism)
- 決定論寄与:
- Fail-Closed:
- 隔離遵守:
同一入力に対する再現性向上のため、可能な範囲で推論パラメータ固定を行います。
安全フィルタ違反・トークン超過・実行不能時は不完全出力を返さず失敗を返します。
供給された messages 以外の暗黙コンテキストを無断注入してはなりません。
5. 実装時の注意 (Notes)
- トランスポート隠蔽:
- 拡張性:
REST/gRPC/ローカル推論の差異は実装内で吸収してください。
マルチモーダル対応は IModelMessage 拡張と整合する形で段階導入してください。
変更履歴
- v0.0.0 / v0.0.0.0: 初期ドラフト
- v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source:
architecture/interfaces/provider/IModelProvider-jp.md