# ADR-0003: Provider-abstracted LLM **Status**: accepted · 2026-09 **Context**: Production mandates 光明电力大模型 (on-prem, spec unknown at design time); development can't wait for access. **Decision**: All LLM calls go through a capability-oriented abstraction with a model router: commercial API in dev, local open model in preprod, GuangMing adapter in prod. Conservative assumptions until spec arrives: OpenAI-compatible, 8K context, no native tool calling (degrade to prompt+JSON+retry). Backend swap is gated by the L1 eval suite plus L4 shadow comparison (docs/12 §3), not judgment. **Consequences**: No vendor-specific features in agent code; prompts and tool definitions maintained provider-portable; phase-1 acceptance must not depend on GuangMing access (docs/13 §7).