Conversation
dkolas
left a comment
There was a problem hiding this comment.
Looks good, though I wonder about the repl model thing below.
|
|
||
| # Use either "gpt-3.5-turbo-0613" or "gpt-4-0613" here. | ||
| # Other versions of GPT tend not to work well with the ReAct prompt. | ||
| MODEL_NAME = "gpt-4-0613" |
There was a problem hiding this comment.
Why does this have to be defined in the REPL? Is there a way to refactor around this? It feels really strange that the REPL would be selecting a default model.
There was a problem hiding this comment.
This is only there because:
- I've moved the
promptmethod into the REPL so that every single AgentService doesn't have to define it's own testing harness, and - it makes which model we're using explicit
Should we just do it as an inline string down where the LLM is created? That would accomplish the same thing, but without calling it out with a constant like that
There was a problem hiding this comment.
What's the motivation for removing this one? did it go somewhere else? This seems like a very relevant example;
I've pointed people at it a couple times in the last few days
There was a problem hiding this comment.
Yeah I agree -- I added it back just now
douglas-reid
left a comment
There was a problem hiding this comment.
This looks reasonable to me. The only thing I think we need to do is to add some discussion of AgentContext and how to create one, etc., somewhere. The prompt() testing bits covered that (and also introduced a bunch of confusion), but it would be great if we had a way to provide the same documentation somewhere convenient.
|
@douglas-reid yeah, I agree that once of the side benefits to having it in the agents was that it acted as a kind of documentation. I'll do another pass to see if I can find a way to work that documentation in there -- or at least clear links to it -- before going for a merge. The REPL is also printing |
|
All the tests passed; the one that failed was a ghost in the system of an unrelated test, so going to merge. |
This PR attempts to simplify the complexity of developing & creating an Agent in two ways:
It standardizes the handling of Tool/Agent output within the Repl (previously Tool output was handled by the REPL, but Agent output was handled by the Agent).
It provides a default
promptmethod if none is provided during REPL instantiation. This permits the 90% case of agent development to be nothing more than the agent definition itself, without thepromptmethod which sets up the debugging harness.