mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 00:35:00 +00:00
adopt EDIT BLOCK as the nomenclature in the prompt
This commit is contained in:
parent
67148aab3e
commit
4d800b1e31
2 changed files with 12 additions and 24 deletions
|
@ -25,12 +25,12 @@ Once you understand the user's request and can see all the relevant code, your r
|
|||
|
||||
1. List which files you need to modify. If you need to modify a file that the user hasn't provided the full content of, stop and ask to see it!
|
||||
2. Think step-by-step and explain the needed changes in detailed pseudo-code.
|
||||
3. For each change to the code, describe it using the ORIGINAL/UPDATED format shown in the example below.
|
||||
3. For each change to the code, describe it using an *EDIT BLOCK* as shown in the example below.
|
||||
|
||||
"""
|
||||
|
||||
system_reminder = '''
|
||||
You must format every code change like this example:
|
||||
You must format every code change using an *EDIT BLOCK* like this example:
|
||||
|
||||
```python
|
||||
some/dir/example.py
|
||||
|
@ -48,40 +48,28 @@ some/dir/example.py
|
|||
>>>>>>> UPDATED
|
||||
|
||||
IF YOU WANT TO SUGGEST CODE THAT BELONGS IN A NEW FILE:
|
||||
- MAKE UP A FILENAME FOR THE FILE, INCLUDING THE CORRECT DIRECTORY NAME
|
||||
- REPLY WITH AN ORIGINAL/UPDATE BLOCK WITH THE NEW FILENAME INCLUDING DIRECTORIES
|
||||
- MAKE UP A GOOD FILE PATH FOR THE FILE, INCLUDING DIRECTORY NAME
|
||||
- REPLY USING AN *EDIT BLOCK* WITH THE NEW FILE PATH
|
||||
- INCLUDE AN EMPTY ORIGINAL BLOCK
|
||||
- PUT THE NEW FILE'S CONTENTS IN THE UPDATED BLOCK
|
||||
|
||||
*NEVER REPLY WITH AN ENTIRE FILE TRIPLE-QUOTED FORMAT LIKE THE USER MESSAGES!*
|
||||
*ANY CODE YOU INCLUDE IN A REPLY *MUST* BE IN THE ORIGINAL/UPDATED FORMAT!*
|
||||
*NEVER REPLY WITH AN ENTIRE FILE LIKE IN THE USER MESSAGES!*
|
||||
ANY CODE YOU INCLUDE IN A REPLY *MUST* BE AN *EDIT BLOCK*!
|
||||
|
||||
EVERY ORIGINAL/UPDATED BLOCK MUST START WITH THE FILENAME!
|
||||
EVERY ORIGINAL/UPDATED BLOCK MUST BE TRIPLE QUOTED!
|
||||
AFTER THE OPENING TRIPLE-QUOTE, INDICATE THE LANGUAGE OF THE CODE.
|
||||
EVERY *EDIT BLOCK* MUST BE FENCED WITH TRIPLE BACKTICKS WITH THE CORRECT CODE LANGUAGE INDICATOR.
|
||||
EVERY *EDIT BLOCK* MUST START WITH THE FILE PATH!
|
||||
|
||||
THE ORIGINAL BLOCK MUST BE AN EXACT SEQUENCE OF LINES FROM THE FILE:
|
||||
- NEVER OMIT LINES!
|
||||
- INCLUDE ALL THE ORIGINAL LEADING SPACES AND INDENTATION!
|
||||
|
||||
EDITS TO DIFFERENT PARTS OF A FILE EACH NEED THEIR OWN ORIGINAL/UPDATED BLOCKS.
|
||||
EVEN NEARBY PARTS NEED THEIR OWN ORIGINAL/UPDATED BLOCKS.
|
||||
|
||||
INCLUDE THE FILE PATH ALONE AS THE FIRST LINE OF THE BLOCK.
|
||||
Don't prefix it with "In" or follow it with ":".
|
||||
EDITS TO DIFFERENT PARTS OF A FILE EACH PART NEEDS THEIR OWN DISTINCT *EDIT BLOCK*.
|
||||
EVEN NEARBY PARTS EACH NEED THEIR OWN DISTINCT EDIT BLOCKS.
|
||||
|
||||
If the request requires many changes, stop to ask the user for confirmation and feedback often!
|
||||
'''
|
||||
|
||||
|
||||
returned_code = """
|
||||
It looks like you tried to return a code block. Don't do that!
|
||||
|
||||
Only return code using the specific ORIGINAL/UPDATED format.
|
||||
Be selective!
|
||||
Only return the parts of the code which need changes!
|
||||
"""
|
||||
|
||||
# FILES
|
||||
|
||||
files_content_gpt_edits = (
|
||||
|
|
|
@ -35,8 +35,8 @@ accomplishing both greenfield generation of new code as well as simple and more
|
|||
|
||||
#### > The user's chat messages are bold and shown on a prompt line like this. They contain they user's change requests, clarifications, etc.
|
||||
|
||||
Responses from GPT-4 are in a plain font like this, and often include colorized code blocks that specify edits to the code.
|
||||
Here's a sample edit that switches from printing a blank line to printing "hello world" in the file `hello.py`:
|
||||
Responses from GPT-4 are in a plain font like this, and often include colorized "edit blocks" that specify edits to the code.
|
||||
Here's a sample edit block that switches from printing a blank line to printing "hello world" in the file `hello.py`:
|
||||
|
||||
```python
|
||||
hello.py
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue