mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Tweak prompts of ManagerAgent and CommitWriterAgent (#2609)
* Tweak prompts of ManagerAgent and CommitWriterAgent * Fix prompts
This commit is contained in:
parent
39d90c0b2a
commit
8bce806dce
@ -11,10 +11,12 @@ changes. The commit message should include:
|
||||
- A summary line that clearly states the purpose of the changes.
|
||||
- Optionally, a detailed description if the changes are complex or need further explanation.
|
||||
|
||||
You should find the diff using `git diff --cached`, compile a commit message,
|
||||
and call the `finish` action with `outputs.answer` set to the answer. If current
|
||||
repo is not a valid git repo, or there is no diff in the staging area, please call
|
||||
the `reject` action.
|
||||
You should first use `git status` to check whether it's a valid git repo and there
|
||||
is diff in the staging area. If not, please call the `reject` action.
|
||||
|
||||
If it is a valid git repo and there is diff in the staging area, you should find
|
||||
the diff using `git diff --cached`, compile a commit message, and call the `finish`
|
||||
action with `outputs.answer` set to the answer.
|
||||
|
||||
## History
|
||||
{{ instructions.history_truncated }}
|
||||
|
||||
@ -14,7 +14,8 @@ continue to delegate to one of the agents below to until the full task is finish
|
||||
task you send to. You should revisit the input you send to the delegate, and consider
|
||||
whether any other delegate would be able to solve the task. If you cannot find
|
||||
a proper delegate agent, or the delegate attempts keep failing, call the `reject`
|
||||
action.
|
||||
action. In `reason` attribute, make sure you include your attempts (e.g. what agent
|
||||
you have delegated to, and why they failed).
|
||||
|
||||
## Agents
|
||||
{% for name, details in delegates.items() %}
|
||||
|
||||
@ -18,7 +18,8 @@ continue to delegate to one of the agents below to until the full task is finish
|
||||
task you send to. You should revisit the input you send to the delegate, and consider
|
||||
whether any other delegate would be able to solve the task. If you cannot find
|
||||
a proper delegate agent, or the delegate attempts keep failing, call the `reject`
|
||||
action.
|
||||
action. In `reason` attribute, make sure you include your attempts (e.g. what agent
|
||||
you have delegated to, and why they failed).
|
||||
|
||||
## Agents
|
||||
|
||||
|
||||
@ -18,7 +18,8 @@ continue to delegate to one of the agents below to until the full task is finish
|
||||
task you send to. You should revisit the input you send to the delegate, and consider
|
||||
whether any other delegate would be able to solve the task. If you cannot find
|
||||
a proper delegate agent, or the delegate attempts keep failing, call the `reject`
|
||||
action.
|
||||
action. In `reason` attribute, make sure you include your attempts (e.g. what agent
|
||||
you have delegated to, and why they failed).
|
||||
|
||||
## Agents
|
||||
|
||||
|
||||
@ -18,7 +18,8 @@ continue to delegate to one of the agents below to until the full task is finish
|
||||
task you send to. You should revisit the input you send to the delegate, and consider
|
||||
whether any other delegate would be able to solve the task. If you cannot find
|
||||
a proper delegate agent, or the delegate attempts keep failing, call the `reject`
|
||||
action.
|
||||
action. In `reason` attribute, make sure you include your attempts (e.g. what agent
|
||||
you have delegated to, and why they failed).
|
||||
|
||||
## Agents
|
||||
|
||||
|
||||
@ -15,10 +15,12 @@ changes. The commit message should include:
|
||||
- A summary line that clearly states the purpose of the changes.
|
||||
- Optionally, a detailed description if the changes are complex or need further explanation.
|
||||
|
||||
You should find the diff using `git diff --cached`, compile a commit message,
|
||||
and call the `finish` action with `outputs.answer` set to the answer. If current
|
||||
repo is not a valid git repo, or there is no diff in the staging area, please call
|
||||
the `reject` action.
|
||||
You should first use `git status` to check whether it's a valid git repo and there
|
||||
is diff in the staging area. If not, please call the `reject` action.
|
||||
|
||||
If it is a valid git repo and there is diff in the staging area, you should find
|
||||
the diff using `git diff --cached`, compile a commit message, and call the `finish`
|
||||
action with `outputs.answer` set to the answer.
|
||||
|
||||
## History
|
||||
Here is a recent history of actions you've taken in service of this plan,
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,94 +0,0 @@
|
||||
|
||||
|
||||
----------
|
||||
|
||||
# Task
|
||||
You are in charge of accomplishing the following task:
|
||||
Write a git commit message for the current staging area. Do not ask me for confirmation at any point.
|
||||
|
||||
In order to accomplish this goal, you must delegate tasks to one or more agents, who
|
||||
can do the actual work. A description of each agent is provided below. You MUST
|
||||
select one of the delegates below to move towards accomplishing the task, and you MUST
|
||||
provide the correct inputs for the delegate you select.
|
||||
|
||||
Note: the delegated agent either returns "finish" or "reject".
|
||||
- If the action is "finish", but the full task is not done yet, you should
|
||||
continue to delegate to one of the agents below to until the full task is finished.
|
||||
- If the action is "reject", it means the delegated agent is not capable of the
|
||||
task you send to. You should revisit the input you send to the delegate, and consider
|
||||
whether any other delegate would be able to solve the task. If you cannot find
|
||||
a proper delegate agent, or the delegate attempts keep failing, call the `reject`
|
||||
action.
|
||||
|
||||
## Agents
|
||||
|
||||
### CoderAgent
|
||||
Given a particular task, and a detailed description of the codebase, accomplishes the task
|
||||
#### Inputs
|
||||
{"task": "string", "summary": "string"}
|
||||
|
||||
### CommitWriterAgent
|
||||
Write a git commit message for files in the git staging area
|
||||
#### Inputs
|
||||
{}
|
||||
|
||||
### MathAgent
|
||||
Solves simple and complex math problems using python
|
||||
#### Inputs
|
||||
{"task": "string"}
|
||||
|
||||
### PostgresAgent
|
||||
Writes and maintains PostgreSQL migrations
|
||||
#### Inputs
|
||||
{"task": "string"}
|
||||
|
||||
### RepoExplorerAgent
|
||||
Generates a detailed summary of an existing codebase
|
||||
#### Inputs
|
||||
{}
|
||||
|
||||
### StudyRepoForTaskAgent
|
||||
Given a particular task, finds and describes all relevant parts of the codebase
|
||||
#### Inputs
|
||||
{"task": "string"}
|
||||
|
||||
### TypoFixerAgent
|
||||
Fixes typos in files in the current working directory
|
||||
#### Inputs
|
||||
{"task": "string"}
|
||||
|
||||
### VerifierAgent
|
||||
Given a particular task, verifies that the task has been completed
|
||||
#### Inputs
|
||||
{"task": "string"}
|
||||
|
||||
|
||||
## History
|
||||
Here is a recent history of actions you've taken in service of this plan,
|
||||
as well as observations you've made. This only includes the MOST RECENT
|
||||
actions and observations--more may have happened before that.
|
||||
They are time-ordered, with your most recent action at the bottom.
|
||||
|
||||
[[{"source": "user", "action": "message", "args": {"content": "Write a git commit message for the current staging area. Do not ask me for confirmation at any point.", "wait_for_response": false}}, {"observation": "null", "content": "", "extras": {}}], [{"source": "agent", "action": "delegate", "args": {"agent": "CommitWriterAgent", "inputs": {}, "thought": ""}}, {"observation": "null", "content": "", "extras": {}}], [{"action": "null", "args": {}}, {"source": "agent", "observation": "delegate", "content": "", "extras": {"outputs": {"reason": "The current repository is not a valid git repository or there is no diff in the staging area."}}}]]
|
||||
|
||||
If the last item in the history is an error, you should try to fix it. If you
|
||||
cannot fix it, call the `reject` action.
|
||||
|
||||
## Available Actions
|
||||
* `delegate` - send a task to another agent from the list provided. Arguments:
|
||||
* `agent` - the agent to which the task is delegated. MUST match a name in the list of agents provided.
|
||||
* `inputs` - a dictionary of input parameters to the agent, as specified in the list
|
||||
|
||||
* `finish` - if you're absolutely certain that you've completed your task, use the finish action to stop working. Arguments:
|
||||
* `outputs` - a dictionary representing the outputs of your task, if any
|
||||
|
||||
* `reject` - reject the task. Arguments:
|
||||
* `outputs` - a dictionary with only a `reason` attribute
|
||||
|
||||
|
||||
## Format
|
||||
Your response MUST be in JSON format. It must be an object, and it must contain two fields:
|
||||
* `action`, which is one of the actions specified here
|
||||
* `args`, which is a map of key-value pairs, specifying the arguments for that action
|
||||
|
||||
You MUST NOT include any other text besides the JSON response
|
||||
@ -1,4 +1,3 @@
|
||||
```json
|
||||
{
|
||||
"action": "delegate",
|
||||
"args": {
|
||||
@ -6,4 +5,3 @@
|
||||
"inputs": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
```json
|
||||
{
|
||||
"action": "run",
|
||||
"args": {
|
||||
"command": "git diff --cached"
|
||||
"command": "git status"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
```json
|
||||
{
|
||||
"action": "run",
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"command": "git diff --cached",
|
||||
"background": false
|
||||
"reason": "Not a valid git repository."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
```json
|
||||
{
|
||||
"action": "run",
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"command": "git diff --staged",
|
||||
"background": false
|
||||
"reason": "Not a valid git repository."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
```json
|
||||
{
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"reason": "The current repository is not a valid git repository or there is no diff in the staging area."
|
||||
"reason": "Not a valid git repository."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
```json
|
||||
{
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"reason": "The current repository is not a valid git repository or there is no diff in the staging area."
|
||||
"outputs": {
|
||||
"reason": "Not a valid git repository."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,10 +1,8 @@
|
||||
```json
|
||||
{
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"outputs": {
|
||||
"reason": "The current repository is not a valid git repository or there is no diff in the staging area."
|
||||
"reason": "The CommitWriterAgent was unable to write a git commit message because the current directory is not a valid git repository. No other agents are suitable for resolving this issue."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
```json
|
||||
{
|
||||
"action": "reject",
|
||||
"args": {
|
||||
"outputs": {
|
||||
"reason": "The current repository is not a valid git repository or there is no diff in the staging area."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user