Open
Conversation
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
…n plan Signed-off-by: vsoch <vsoch@users.noreply.github.com>
I need to stop before I REALLY bork something. Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
The tool responses are a bit different - there seem to be a label thing that needs better parsing. This is up to the point it will work with our mcp server and LivAI and we need to work on the details with the manager agent Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
bed1030 to
e6ebc33
Compare
We are adding the concept of a step agent, meaning an independent unit that can run under a state machine step. To support this, the abstraction of an agent needs to be separate from the state machine. I am also adding improvements so that the user can validate the plan before proceeding, and we ensure that all prompts and tool calls are valid before proceeding. Signed-off-by: vsoch <vsoch@users.noreply.github.com>
This is not final! TODO: - the transitions / rules need better validation before approval. - we should move the result parser into hpc-mcp Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Instead of trying to pass forward an async context and backend, let us assume that we will generate the backends once via some manager, and then import them as needed. Right now we just have one. I have this working through the results parser and just need to debug that now - getting closer, but need sleep. Signed-off-by: vsoch <vsoch@users.noreply.github.com>
I want the validation class to be cleanly separate from the manager agent. Done! Signed-off-by: vsoch <vsoch@users.noreply.github.com>
The re-organization of code and classes borked the current transform retry example. This fixes it. Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TODO:
For the last point, we can eventually have tool calls be to different algorithms or models that the optimization agent can use to make the decision. We can imagine then that the agent is given the task to optimize, sees the tools available, and then does queries to prepare whatever inputs are needed for the algorithns, calls, and gets the decision. I thought through different designs for this today, from a very uncontrolled "here is the entire state machine graph, what can we do better?" to this more controlled design, and I think to start the controlled design makes more sense. The reason is that we want to have the agent do what it is best at - taking different sources of information and tools to make a deicison about what to do next (which is retry/stop and a new thing to try) but we don't want to give it so much unbounded control that it goes off the rails and can try almost anything (and not be able to focus on a specific task).