ROIpad ← Back to Search
github.com › AI insight

Insight for: ADR-005: Multi-Model, Multi-Provider, and Tool Strategy

Architectural decision (ADR-005) for a multi-model, multi-provider, and tool strategy, addressing compatibility and routing complexities.
Analyzed: Mar 30, 2026
ADR-005 outlines a critical architectural evolution for GSD2, moving beyond capability-aware routing to address fundamental multi-model, multi-provider, and tool compatibility challenges. The current system assumes tool compatibility, leading to potential failures with provider-specific schema limitations, differing tool call ID formats, and varied content handling. The proposed 4-step routing pipeline (Tier Eligibility → Technical Filtering → Capability Ranking → Tool Set Adjustment) and a declarative registry for provider "quirks" are essential for robust, intelligent model selection. Market implication: as AI agent systems increasingly rely on diverse LLM providers and specialized tools, managing this heterogeneity is paramount. A system that intelligently handles provider-specific nuances and ensures tool compatibility will gain a significant competitive advantage, enabling more reliable and scalable autonomous agent deployments. Inconsistencies noted in the discussion, however, indicate implementation complexities requiring careful resolution.
ADR-005 Multi-Model, Multi-Provider, and Tool Strategy capability-aware model routing (ADR-004) one-dimensional complexity-tier system two-dimensional system 7 capability dimensions heterogeneous pool Tool compatibility is assumed, not verified pi-ai layer normalize tool schemas Anthropic tool_use OpenAI function Google functionDeclarations Bedrock toolSpec Mistral FunctionTool patternProperties sanitizeSchemaForGoogle() image content Tool call ID formats ProviderSwitchReport before_model_select Cross-Provider Conversation Continuity models.json override path providers.openai-responses.capabilities Tier Eligibility → Technical Filtering → Capability Ranking → Tool Set Adjustment declarative registry context loss thinking blocks signatures
GitHub Issue