Skip to content

Add agent manager #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Aug 14, 2025
Merged

Add agent manager #11

merged 8 commits into from
Aug 14, 2025

Conversation

vsoch
Copy link
Member

@vsoch vsoch commented Aug 11, 2025

This pull request adds an agent manager. This is how it works.

  1. The user defines a plan. The plan has an overall goal (used by the manager) along with some number of steps. Each step is owned by an agent.
  2. The manager loads and validates the plan, and creates a common context. The context is a modified dictionary object that is updated by each step, ensuring that we pass a common state between agents, and can return a consistent set of variables to the manager (typically a final result and return code).
  3. Each agent internally has a goal - e.g., a successful docker build, or generation of a Kubernetes Job and running the job. Each agent can take a maximum number of attempts to get to that state, with the default being unset (keep trying forever).
  4. If the max attempts is set for an agent, it will return early and give the state to the manager. The manager can look at it, and decide how to proceed. This means moving to give the context to a different agent. For example, if the build has a library issue discovered in the Kubernetes job run, we'd want to give that back to the build agent.
  5. The manager also can take a maximum number of attempts for trying each step, external to the step.
  6. In any case that the manager takes over, the manager first selects the agent to use, and then asks the agent for the prompt it would provide given the state. The manager is then given the entire context and asked to tweak or change the prompt to be more fitting to what needs to be done.

Right now I'm finishing up the basic orchestration, and I need to finish the implementation of the manager to ask for prompts. When I finish that, I'll work on an optimization agent, which will take the log from an application run, and work on primarily the entrypoint command (and manifest) to make it run better.

@vsoch vsoch force-pushed the add-agent-manager branch 8 times, most recently from 702f166 to 8e97062 Compare August 11, 2025 06:12
@vsoch vsoch force-pushed the add-agent-manager branch from 8e97062 to 1cb2b21 Compare August 11, 2025 06:21
@vsoch vsoch force-pushed the add-agent-manager branch 3 times, most recently from ac64b4a to adccf57 Compare August 11, 2025 13:30
@vsoch vsoch force-pushed the add-agent-manager branch 13 times, most recently from 3e8e2c9 to f9280d8 Compare August 11, 2025 16:39
@vsoch vsoch force-pushed the add-agent-manager branch 27 times, most recently from 4b4bcdd to 0addf53 Compare August 14, 2025 21:12
@vsoch vsoch force-pushed the add-agent-manager branch from 0addf53 to d597c2b Compare August 14, 2025 21:12
@vsoch vsoch merged commit b447d25 into main Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant