edgedb-cli
edgedb-cli copied to clipboard
Implement an agent-friendly migration flow
Currently LLM agents run shell commands as tool calls. Meaning they treat them the same way as API calls:
- The LLM generates a tool call, which is a json blob with args, and exits.
- The agent application (which is more or less a while loop) parses the args and executes the tool.
- The application then captures the output / response, stuffs it into the message history and sends that into the LLM again.
Which is to say, there's nobody to interact with the interactive migration flow when the agent is trying to run it.
Proposal: let's implement an LLM mode similar to interactive rebase or merge in Git.
- The migration is running non-interactively for as long as it can.
- If the user input is necessary, it puts everything into a suspended state, prints out instructions and quits.
- The user has to call
gel migration --continuewith answers. - The migration resumes.