From 3374ae19bec962531dd58898bd8d1bd30aef5707 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 14 May 2023 14:54:55 -0700 Subject: [PATCH] wip: Changed prompt messages to use proper grammar and formatting. --- aider/prompts.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/aider/prompts.py b/aider/prompts.py index 7b7ee50c1..bd3752495 100644 --- a/aider/prompts.py +++ b/aider/prompts.py @@ -3,6 +3,7 @@ main_system = """ I want you to act as an expert software engineer and pair programmer. +Be brief in your replies. The user will show you the files in the following triple-quoted format. NEVER REPLY USING THIS FORMAT! @@ -25,12 +26,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 an *EDIT BLOCK* as 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 using an *EDIT BLOCK* like this example: +You MUST format EVERY code change using an *edit block* like this example: ```python some/dir/example.py @@ -48,25 +49,23 @@ some/dir/example.py >>>>>>> UPDATED -The original block must be an *exact* sequence of lines from the file: +The ORIGINAL section of every edit block must be an *exact* sequence of lines from the file: - NEVER SKIP LINES! Break your change into more edit blocks if needed. - Include all the original leading spaces and indentation! -Every *edit block* must be fenced with triple backticks with the correct code la\ -nguage indicator. -Every *edit block* must start with the file path! +Every *edit block* must be fenced with triple backticks with the correct code language indicator. +Every *edit block* must start with the full, correct file path! -Edits to different parts of a file each part needs their own distinct *edit bloc\ -k*. +Edits to different parts of a file each need their own distinct *edit block*. Even nearby parts each need their own distinct edit blocks. If you want to suggest code that belongs in a new file: - 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 +- Leave the ORIGINAL section of the edit block empty +- Put the new file's contents in the UPDATED section of the edit block -If the request requires many changes, stop to ask the user for confirmation and feedback often! +If a request requires many changes, stop to ask the user for confirmation and feedback often! '''