Skip to content
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

Dependency Agent Tracking Issue #672

Open
shawn-hurley opened this issue Feb 19, 2025 · 1 comment
Open

Dependency Agent Tracking Issue #672

shawn-hurley opened this issue Feb 19, 2025 · 1 comment
Labels
agent enhancement New feature or request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. prompt-engineering Issues related to changes for prompts or tweaks for specific models rpc-server

Comments

@shawn-hurley
Copy link
Contributor

Dependency Agent's Tracking

Today, we have three agents that I would consider to make up the dependency maven flow:

  1. The dependency agent: today, has a list of functions and asks the LLM to try and use these functions to update the dependency
  2. The FQDN agent: used by the dependency agent when one of the functions calls to get the fully qualified name of a dependency form maven is unsuccessful; this attempts to re-try names until one is found.
  3. The Maven compiler agent attempts to fix Maven compiler errors. One of the more common causes is SymbolNotFound, which usually occurs because of a dependency change (Javax -> Jakarta).

Reason for This Issue

I want to use this issue to keep track of the current problems and to discuss and track long-term changes to this agent's flow. This is going to be a great deal of work.

Current Issues

Many issues exist today with these agents, from insufficient context to find the proper dependency to trying to revert a valid change because a dependency was not found. Sometimes, the update (javax.sql -> jakarta.sql) will be re-tried indefinitely because the LLM was incorrect, which should not have been changed.

First thoughts for new implementation

We need a planning agent, and related tasks are collapsed into a single task for the planner. We need the planner to use sub-agents to do specific tasks; the more specific, the better. The biggest hurdle we will have here is context windows. We will need to be able to have stop points or summarize where we are to the planner agent. We should consider tool use if and only if necessary to complete the task. We also need to bake in some assumptions about the specifics of adding BOM files, for instance, or if one does exist, what that means when searching and adding dependencies.

Making Some plans

I think the planner agents needs to know a couple of things to help it make the right choice:

  1. What was the context of the change, and what is the context of the overall goal.
  2. It needs to understand if there is both a package not found and multiple symbols not found for the same package and classes it provides, or is there just a missing package, or just missing symbols.
  3. It Needs to know if there is a BOM/dependnecy management.
  4. I believe that it should also have the previous change, understanding what caused these issues to happen

The planner should then devise a plan for how to solve this. More specifics should be written out, and I think we will need to iterate on this.

With the Plan in Hand, We Control the Flow

The code should now be responsible for executing the plan, only returning to the planner when things go wrong.

@shawn-hurley shawn-hurley added agent enhancement New feature or request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. prompt-engineering Issues related to changes for prompts or tweaks for specific models rpc-server labels Feb 19, 2025
@shawn-hurley
Copy link
Contributor Author

I would like to, after we are done with the current high-priority things, come back to this one as something to talk about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent enhancement New feature or request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. prompt-engineering Issues related to changes for prompts or tweaks for specific models rpc-server
Projects
None yet
Development

No branches or pull requests

1 participant