[GEAK] DOC/ISSUE — orchestrator requires native Anthropic tool-calling; OpenAI-translation gateways silently break the loop
- Type: ISSUE (doc + guard)
- Target repo: AMD-AGI/GEAK
- Status: PREPARED ON DISK — not filed (gh not authenticated;
origin is a local clone with no writable upstream).
Problem
The GEAK orchestrator depends on native Anthropic tool-calling (tool_use / tool_result round-tripping). When the model is routed through an OpenAI-translation gateway (Anthropic-shaped tool calls translated to/from the OpenAI function-calling schema), the tool calls do not round-trip: the agent emits a tool call, the translated response loses or malforms the tool_use block, and the agent never receives a usable tool_result. The loop makes no progress and runs to its call budget producing 0 artifacts.
Evidence
- Via an OpenAI-translation gateway: observed ~79 LLM calls, 0 artifacts — the agent looped to budget without a single successful tool round-trip.
- Via native Anthropic (
model_class = amd_llm): tool_use round-trips correctly and the agent produces artifacts / reaches optimization rounds.
Recommendation
- Docs: state explicitly that GEAK's orchestrator requires a model endpoint with native Anthropic tool-calling. Route the model via your normal SAFE / AMD-LLM gateway (
model_class = amd_llm), not via an OpenAI-function-calling translation shim.
- Guard: at startup, probe the configured endpoint with a trivial
tool_use round-trip; if the tool_result does not come back well-formed, fail fast with a clear error ("endpoint does not support native Anthropic tool-calling; use an Anthropic-native / amd_llm route") instead of silently looping to budget.
- Optionally surface a per-run counter "tool calls issued vs tool results received"; a large gap is the signature of a broken translation layer.
Note: routing is described generically here (use your normal SAFE/AMD-LLM gateway). No node-specific proxy/workaround is involved.
[GEAK] DOC/ISSUE — orchestrator requires native Anthropic tool-calling; OpenAI-translation gateways silently break the loop
originis a local clone with no writable upstream).Problem
The GEAK orchestrator depends on native Anthropic tool-calling (
tool_use/tool_resultround-tripping). When the model is routed through an OpenAI-translation gateway (Anthropic-shaped tool calls translated to/from the OpenAI function-calling schema), the tool calls do not round-trip: the agent emits a tool call, the translated response loses or malforms thetool_useblock, and the agent never receives a usabletool_result. The loop makes no progress and runs to its call budget producing 0 artifacts.Evidence
model_class = amd_llm):tool_useround-trips correctly and the agent produces artifacts / reaches optimization rounds.Recommendation
model_class = amd_llm), not via an OpenAI-function-calling translation shim.tool_useround-trip; if thetool_resultdoes not come back well-formed, fail fast with a clear error ("endpoint does not support native Anthropic tool-calling; use an Anthropic-native / amd_llm route") instead of silently looping to budget.