Abstraction-Layer Redesign Driven By Vendor Api Feature Drift
Sources: 1 • Confidence: High • Updated: 2026-04-12 10:01
Key takeaways
- A major change is being developed for the LLM Python library and CLI tool.
- To inform a new abstraction design, Claude Code was used to review Python client libraries for Anthropic, OpenAI, Gemini, and Mistral and to craft curl commands that capture raw JSON in streaming and non-streaming modes.
- A new repository has been published containing scripts and captured outputs from the author’s cross-vendor API research.
- Some vendor features introduced in the past year, including server-side tool execution, are not handled by the current LLM abstraction layer.
- LLM provides an abstraction across many LLM vendors via a plugin system.
Sections
Abstraction-Layer Redesign Driven By Vendor Api Feature Drift
- A major change is being developed for the LLM Python library and CLI tool.
- Some vendor features introduced in the past year, including server-side tool execution, are not handled by the current LLM abstraction layer.
- LLM provides an abstraction across many LLM vendors via a plugin system.
Cross-Vendor Api Behavior Capture As Design Input
- To inform a new abstraction design, Claude Code was used to review Python client libraries for Anthropic, OpenAI, Gemini, and Mistral and to craft curl commands that capture raw JSON in streaming and non-streaming modes.
- A new repository has been published containing scripts and captured outputs from the author’s cross-vendor API research.
Unknowns
- What specific breaking changes (API surface, CLI commands, plugin interfaces) are included in the “major change,” and what migration path will be provided?
- Which concrete vendor features beyond server-side tool execution are currently not representable by the LLM abstraction, and how will the new abstraction model them?
- Which providers currently expose server-side tool execution in a way relevant to LLM’s plugin abstraction, and what are the semantics differences across providers (inputs, outputs, streaming behavior)?
- How will the new abstraction represent and normalize streaming across vendors (event schemas, partial tool calls, incremental JSON structures), and what will be considered “portable” behavior?
- What is the scope and update cadence of the published API research repository (provider coverage, automation/CI, version pinning, drift detection)?