terraphim / terraphim/terraphim-ai
Evaluate: Cross-provider context serialisation for ADF multi-model routing
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 62
- Forks
- 5
- Ø Merge
- 2 Std. 27 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Parent Epic
#682 -- Evaluate Pi architectural patterns
Pattern
Pi's pi-ai layer supports cross-provider handoffs: switch models mid-session while serialising conversation context across different provider formats (Anthropic, OpenAI, Google, etc.). Context serialisation handles format differences transparently.
Current State
ADF (terraphim_orchestrator) routes different agents to different models via RoutingEngine:
fastest-> Cerebras llama-3.3-70b (~300ms)think-> z.ai GLM-5 (reasoning)general-> z.ai GLM-4.7default-> Claude viaclaude -p
However, each agent runs in isolation. There is no mechanism to:
- Hand off context from one model to another mid-task
- Serialise a conversation from Claude format to OpenAI format for a second opinion
- Use a cheaper model for initial analysis then escalate to a more capable model with the same context
Evaluation Questions
- Is cross-provider handoff valuable for ADF? Current agents are independent. Would "start with Cerebras, escalate to Claude" improve cost/quality?
- What does context serialisation look like in Rust? Pi does this in TypeScript. Rust implementation would need serde-based format converters for each provider's message schema.
- Does this conflict with the Agent SDK direction? If we migrate ADF to Agent SDK (#682 context), we're locked to Claude. Cross-provider would only apply to non-SDK agents.
- What's the minimal viable implementation? E.g., Anthropic <-> OpenAI message format converter as a standalone function.
Acceptance Criteria
- Identify 2-3 concrete ADF scenarios where cross-provider handoff would improve outcomes
- Prototype message format converter: Anthropic Messages API <-> OpenAI Chat Completions API
- Measure context loss (if any) during serialisation round-trip
- Decision: implement, defer, or reject with rationale
References
- Pi cross-provider handoffs: https://github.com/badlogic/pi-mono/tree/main/packages/ai (see "Cross-Provider Handoffs" section)
- ADF RoutingEngine: terraphim-ai/crates/terraphim_orchestrator/src/routing.rs
- terraphim_llm_proxy model routing: /etc/terraphim-llm-proxy/config.toml
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Start by reading terraphim-ai/crates/terraphim_orchestrator/src/routing.rs and the referenced Pi cross-provider handoff implementation. Review the listed ADF routing scenarios and provider formats, then prototype the Anthropic Messages API ↔ OpenAI Chat Completions API conversion and measure round-trip context loss. Done means documenting the scenarios and a rationale to implement, defer, or reject the approach.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- ai, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100