aider
aider copied to clipboard
Custom instructions
I have noticed a few issues (such as #248 #243 ) where people want specific behavior that might not be general enough to warrant a new feature and it's made me think about giving folks the ability to append instructions to the system prompt - similar to custom instructions in ChatGPT.
This could be a new flag in the config so set on a global, per project, or per run basis and would greatly increase the ability for people to customise aider. It might also help the folks interested in #172 get better performance out of different models without having to create and maintain lots of different system prompts.
It would be pretty easy to add in but my main concerns are
- messing with the system prompt could degrade aider's performance for people, so it would be possible for people to do thing
- it would make support harder - we'd now need version, model, and custom instructions as well as the description of the behaviour to understand what is going on.
What do folks think, worthwhile feature?
You could add an option that would dump that info out and make it easier for the submitter to copy-n-paste.
See https://github.com/paul-gauthier/aider/issues/398#issuecomment-1975392230 for a basic PR allowing custom prompts to be defined in a yaml file
There's a FAQ entry that might contain helpful information:
https://aider.chat/docs/faq.html#can-i-change-the-system-prompts-that-aider-uses
There's a FAQ entry that might contain helpful information:
https://aider.chat/docs/faq.html#can-i-change-the-system-prompts-that-aider-uses
Is there a way to use modified versions of these without rebuilding aider?
Aider is written in python, so there's no need to "rebuild" it. But you do need to know a bit about how to install a development version with pip install -e
and then edit the python source.
https://aider.chat/docs/install.html#install-development-versions-of-aider-optional
Aider is written in python, so there's no need to "rebuild" it. But you do need to know a bit about how to install a development version with
pip install -e
and then edit the python source.https://aider.chat/docs/install.html#install-development-versions-of-aider-optional
The setup of the development instance is what I meant, 'rebuilding' is a misnomer indeed. If there's no perceived value in allowing users modification of system prompts without touching aider source files, e.g. by employing a centralized collection in a serialized data format (or allowing the specification of one for optional overrides), this issue can probably considered for closure given the above link to the system prompt FAQ entry.
A large portion of the prompt text in coders/xxx_prompts.py
is very closely tied to the specifics of the python coder implementation in the matched file coders/xxx_coder.py
. It would probably set a wrong expectation to break those prompts apart into a yaml file that is up for ad-hoc editing by users.
If someone wants to change the prompts, they probably need to commit to understanding what it means to modify an aider Coder
first.
There's a FAQ entry that might contain helpful information:
https://aider.chat/docs/faq.html#can-i-specify-guidelines-or-conventions
I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.