AIKernel.NET
version: 0.0.2 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-05-16

Japanese version: IModelVectorRouter (インターフェース仕様)

IModelVectorRouter (Interface Specification)

1. Responsibility Boundary

IModelVectorRouter is the routing boundary interface that selects an optimal model/provider based on required capability vectors and execution constraints.

  • Role:
  • Perform multi-dimensional capability matching, apply rule/constraint-based filtering, and produce deterministic final routing decisions.

  • Non-role:
  • Actual inference execution belongs to the selected implementation. Capability registration and lifecycle management belong to ICapabilityRegistry.

2. Contract Signature

namespace AIKernel.Abstractions.Routing;\n\nusing AIKernel.Abstractions.Models;\n\npublic interface IModelVectorRouter\n{\n    Task<ModelRoutingDecision> RouteAsync(\n        ModelCapacityVector requiredCapacity,\n        RuleEvaluationContext ruleEvaluationContext,\n        IExecutionConstraints executionConstraints,\n        CancellationToken cancellationToken = default);\n\n    ModelType SelectOptimalModel(ModelCapacityVector requirement, IEnumerable<ModelType> candidates);\n\n    IEnumerable<(ModelType Model, float Score)> RankModels(\n        ModelCapacityVector requirement,\n        IEnumerable<ModelType> candidates);\n\n    bool VerifyDeterministicRouting(ModelRoutingDecision decision1, ModelRoutingDecision decision2);\n}
  • UC-03 Model vector routing:
  • Core path for selecting execution units from requirement vectors.

  • UC-22 Dynamic capacity control and model routing:
  • Optimizes routing under changing budget, load, and capability conditions.

  • UC-30 Token/vector estimation:
  • Evaluates executability against estimated task vectors.

4. Governance & Determinism

  • Deterministic routing:
  • Identical capability requirements, rule context, and execution constraints must yield identical ModelRoutingDecision outputs.

  • Fail-Closed:
  • If no candidate satisfies mandatory capabilities, the implementation must terminate as deny/failure rather than silently degrading to a weaker route.

5. Exception Contract

This interface does not hard-code specific exception types. Implementations should explicitly handle:

  • No viable route:
  • No candidates exist, or all candidates are excluded by constraints.

  • Constraint violations:
  • IExecutionConstraints (budget, region, latency, etc.) makes execution impossible.

6. Implementation Notes

  • Multi-axis evaluation:
  • Evaluate multiple ModelCapacityVector axes in an explainable way instead of collapsing everything into a single opaque metric.

  • Auditability:
  • Keep routing rationale (scores, exclusion reasons, tie-break basis) traceable in ModelRoutingDecision.


Changelog

  • v0.0.0 / v0.0.0.0: Initial draft
  • v0.0.1 (2026-05-06): Version upgrade aligned with documentation guidelines
Source: architecture/interfaces/routing/IModelVectorRouter.md