-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
- The way agents use algorithms: right now I'm going to design step "sub-agents" that are allowed to call tools to assist in their decision making. Those tools can be databases to get / query / summarize data (e.g., input for a model) or call to a model itself to make some decision.
- Tools / functions available: the MCP standard is a bit limited in how we discover tools. It seems reasonable to have a small scoped list of functions, but what happens when that set gets very big? For an "add on the fly" approach I've implemented these sub-agents that are added (and then discovered) by a specific runtime, but I think we need to do better in the sense that there will eventually be a search space of functions themselves. E.g., the planner (manager) agent might need to search across a space of possible tools in deciding how to deploy a server in the first place. The decision of the MCP tools / endpoints to deploy becomes a part of the scheduling process.
- Graph understanding I am going to be adding the "shape" of the state machine, and specifically counts of edges (transitions) between them so we can understand behavior. We eventually likely want to understand different distributions of, for example, edges that are traversed at different frequencies and speeds.
- Dispatch We are eventually going to have a "list clusters" or similar endpoint that an agent can use to make scheduling decisions. To add user algorithm to that, we will give the agent an ability to call different algorithms that we have designed.
- Agentic planning: There is going to be an agent that schedules work, and agents that work alongside it. This means we will need to say something like "decide not just the clusters and resources, but also the agents to deploy with this work."
- backends should have an organized create/get structure. Right now we assume one common backend and use across agents. In the future we likely want different backends, models, that can be retrieved by name or created fresh.
- sub-agents do not necessarily need to have access to the same set of tools/prompts on the running server, or even be hosted on the same server. A sub-agent call might go entirely elsewhere.
- prompt strategy: we need strategy that encourages discovery, then explicit prompts to subagents. I also need to do a better job at instructing how to define output passed into rules.
For the optimization agent, I'm going to start simply as "we will repeat this sequence we already did with tweaked parameters until you say to stop." However we can imagine a different paradigm where the optimization agent actually inserts a new step, whether it be new or repeated.
More to come! Using this as a thinking space for now.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels