| 1 | agent:
|
| 2 | system_template: |
|
| 3 | You are a helpful assistant that can interact with a computer.
|
| 4 | instance_template: |
|
| 5 | Please solve this issue: {{task}}
|
| 6 |
|
| 7 | You can execute bash commands and edit files to implement the necessary changes.
|
| 8 |
|
| 9 | ## Recommended Workflow
|
| 10 |
|
| 11 | This workflows should be done step-by-step so that you can iterate on your changes and any possible problems.
|
| 12 |
|
| 13 | 1. Analyze the codebase by finding and reading relevant files
|
| 14 | 2. Create a script to reproduce the issue
|
| 15 | 3. Edit the source code to resolve the issue
|
| 16 | 4. Verify your fix works by running your script again
|
| 17 | 5. Test edge cases to ensure your fix is robust
|
| 18 | 6. Submit your changes and finish your work by issuing the following command: `echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT`.
|
| 19 | Do not combine it with any other command. <important>After this command, you cannot continue working on this task.</important>
|
| 20 |
|
| 21 | ## Command Execution Rules
|
| 22 |
|
| 23 | You are operating in an environment where
|
| 24 |
|
| 25 | 1. You issue at least one command
|
| 26 | 2. The system executes the command(s) in a subshell
|
| 27 | 3. You see the result(s)
|
| 28 | 4. You write your next command(s)
|
| 29 |
|
| 30 | Each response should include:
|
| 31 |
|
| 32 | 1. **Reasoning text** where you explain your analysis and plan
|
| 33 | 2. At least one tool call with your command
|
| 34 |
|
| 35 | **CRITICAL REQUIREMENTS:**
|
| 36 |
|
| 37 | - Your response SHOULD include reasoning text explaining what you're doing
|
| 38 | - Your response MUST include AT LEAST ONE bash tool call
|
| 39 | - Directory or environment variable changes are not persistent. Every action is executed in a new subshell.
|
| 40 | - However, you can prefix any action with `MY_ENV_VAR=MY_VALUE cd /path/to/working/dir && ...` or write/load environment variables from files
|
| 41 | - Submit your changes and finish your work by issuing the following command: `echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT`.
|
| 42 | Do not combine it with any other command. <important>After this command, you cannot continue working on this task.</important>
|
| 43 |
|
| 44 | Example of a CORRECT response:
|
| 45 | <example_response>
|
| 46 | I need to understand the structure of the repository first. Let me check what files are in the current directory to get a better understanding of the codebase.
|
| 47 |
|
| 48 | [Makes bash tool call with {"command": "ls -la"} as arguments]
|
| 49 | </example_response>
|
| 50 |
|
| 51 | <system_information>
|
| 52 | {{system}} {{release}} {{version}} {{machine}}
|
| 53 | </system_information>
|
| 54 |
|
| 55 | ## Useful command examples
|
| 56 |
|
| 57 | ### Create a new file:
|
| 58 |
|
| 59 | ```bash
|
| 60 | cat <<'EOF' > newfile.py
|
| 61 | import numpy as np
|
| 62 | hello = "world"
|
| 63 | print(hello)
|
| 64 | EOF
|
| 65 | ```
|
| 66 |
|
| 67 | ### Edit files with sed:
|
| 68 |
|
| 69 | {%- if system == "Darwin" -%}
|
| 70 | <important>
|
| 71 | You are on MacOS. For all the below examples, you need to use `sed -i ''` instead of `sed -i`.
|
| 72 | </important>
|
| 73 | {%- endif -%}
|
| 74 |
|
| 75 | ```bash
|
| 76 | # Replace all occurrences
|
| 77 | sed -i 's/old_string/new_string/g' filename.py
|
| 78 |
|
| 79 | # Replace only first occurrence
|
| 80 | sed -i 's/old_string/new_string/' filename.py
|
| 81 |
|
| 82 | # Replace first occurrence on line 1
|
| 83 | sed -i '1s/old_string/new_string/' filename.py
|
| 84 |
|
| 85 | # Replace all occurrences in lines 1-10
|
| 86 | sed -i '1,10s/old_string/new_string/g' filename.py
|
| 87 | ```
|
| 88 |
|
| 89 | ### View file content:
|
| 90 |
|
| 91 | ```bash
|
| 92 | # View specific lines with numbers
|
| 93 | nl -ba filename.py | sed -n '10,20p'
|
| 94 | ```
|
| 95 |
|
| 96 | ### Any other command you want to run
|
| 97 |
|
| 98 | ```bash
|
| 99 | anything
|
| 100 | ```
|
| 101 | step_limit: 0
|
| 102 | cost_limit: 3.
|
| 103 | mode: confirm
|
| 104 | environment:
|
| 105 | env:
|
| 106 | PAGER: cat
|
| 107 | MANPAGER: cat
|
| 108 | LESS: -R
|
| 109 | PIP_PROGRESS_BAR: 'off'
|
| 110 | TQDM_DISABLE: '1'
|
| 111 | model:
|
| 112 | observation_template: |
|
| 113 | {%- if output.output | length < 10000 -%}
|
| 114 | {
|
| 115 | "returncode": {{ output.returncode }},
|
| 116 | "output": {{ output.output | tojson }}
|
| 117 | {%- if output.exception_info %}, "exception_info": {{ output.exception_info | tojson }}{% endif %}
|
| 118 | }
|
| 119 | {%- else -%}
|
| 120 | {
|
| 121 | "returncode": {{ output.returncode }},
|
| 122 | "output_head": {{ output.output[:5000] | tojson }},
|
| 123 | "output_tail": {{ output.output[-5000:] | tojson }},
|
| 124 | "elided_chars": {{ output.output | length - 10000 }},
|
| 125 | "warning": "Output too long."
|
| 126 | {%- if output.exception_info %}, "exception_info": {{ output.exception_info | tojson }}{% endif %}
|
| 127 | }
|
| 128 | {%- endif -%}
|
| 129 | format_error_template: |
|
| 130 | Tool call error. Every response needs to use the 'bash' tool at least once to execute commands.
|
| 131 |
|
| 132 | Call the bash tool with your command as the argument:
|
| 133 | - Tool: bash
|
| 134 | - Arguments: {"command": "your_command_here"}
|
| 135 |
|
| 136 | If you want to end the task, please issue the following command: `echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT`
|
| 137 | without any other command.
|
| 138 | model_kwargs:
|
| 139 | drop_params: true
|
| 140 |
|