William Easton

Results 96 issues of William Easton

Similar to #221 There are a number of places where AugmentedLLMs are first producing text responses and then translating to structured responses. e.x. in the Orchestrator ``` async def generate_structured(...

I think having structured responses start as text and then having an LLM map them is a flawed path. I continue to see issues where the first completion generates an...

Currently when planning steps the orchestrator is told to return: ``` FULL_PLAN_PROMPT_TEMPLATE = """You are tasked with orchestrating a plan to complete an objective. You can analyze results from the...

Augmented LLMs do not have server_names so using Augment LLMs with Orchestrator fails when formatting the info to provide the planner. Somewhat related to #211 ``` class Orchestrator(AugmentedLLM[MessageParamT, MessageT]): ......

When using Gemini we're currently using a second chat completion to produce structured responses. Gemini has a mode where you can require tool calls: ``` The Gemini API lets you...

Im using Gemini and there don't appear to be retries on failed calls: ``` [INFO] 2025-05-17T11:22:23 mcp_agent.mcp-agent-as-yaml - Configuration loaded successfully. Ready to execute starting agent: Question Answer Orchestrator [ERROR]...

The llm_factory on the orchestrator should be optional if you provide a planner and agents (like it is on evaluator optimizer) ``` def __init__( self, llm_factory: Callable[[Agent], AugmentedLLM[MessageParamT, MessageT]], planner:...

It looks like Router is not an AugmentedLLM and cannot route to AugmentedLLM which I think severely limits how useful it is?

It looks like the orchestrator just gets the agent name and its description to decide which agents to call. ``` def _format_agent_info(self, agent_name: str) -> str: """Format Agent information for...

The router workflow doesnt accept request params -- so you can't set the model being used, etc