指定编码规范
有时您希望 GPT 能够遵循特定的编码指南, 比如是否提供类型提示、优先使用哪些库或包等。
在 aider 中最简单的实现方式是创建一个小的 markdown 文件 并将其包含在聊天中。
例如,假设我们希望 Python 代码:
- 进行 HTTP 请求时优先使用 httpx 而非 requests
- 尽可能使用类型注解
我们只需创建一个包含这些内容的 CONVENTIONS.md
文件,
然后就可以将其添加到 aider 聊天中,与要编辑的文件一起使用。
最好使用 /read CONVENTIONS.md
命令
或 aider --read CONVENTIONS.md
来加载规范文件。
这样文件会被标记为只读,并且如果启用了提示缓存,
它也会被缓存起来。
社区贡献的规范
您可以查看 aider 规范仓库 来寻找或贡献规范文件。
自动加载规范
您还可以在 .aider.conf.yml
配置文件
中配置 aider 始终加载您的规范文件:
# 单个文件
read: CONVENTIONS.md
# 多个文件
read: [CONVENTIONS.md, anotherfile.txt]
示例
以下示例展示了规范如何影响 aider 生成的代码。
$ aider –read CONVENTIONS.md useragent.py
Aider v0.24.2-dev
已将 CONVENTIONS.md 添加到聊天中
已将 useragent.py 添加到聊天中
编写一个使用 httpbin 检查请求中用户代理(User Agent)的函数,并返回 UA 信息
为了满足您的需求,我将:
- 添加
httpx
的导入 - 编写一个名为
check_user_agent
的函数,该函数向httpbin.org/user-agent
发送 GET 请求并返回用户代理字符串
以下是 useragent.py
文件的修改差异:
--- useragent.py
+++ useragent.py
@@ ... @@
+import httpx
+
+def check_user_agent() -> str:
+ response = httpx.get('https://httpbin.org/user-agent')
+ return response.json()['user-agent']
该函数使用 httpx
向 httpbin.org/user-agent
发送 GET 请求,该端点会返回包含 HTTP 客户端用户代理的 JSON 响应。函数随后从 JSON 响应中提取用户代理字符串并返回。
已应用对 useragent.py 的编辑
GPT 正确地使用了 httpx
并提供了类型提示。
下方展示了在没有使用 CONVENTIONS.md
的情况下
执行相同编码任务的对话记录。
在这种情况下,GPT 使用了 requests
且没有类型提示,
这在小型 Python 脚本中可能更为常见。
$ aider useragent.py
Aider v0.24.2-dev
已将 useragent.py 添加到对话中
编写一个使用 httpbin 检查请求中用户代理的函数,并返回 UA 信息
--- /dev/null
+++ useragent.py
@@ ... @@
+import requests
+
+def check_user_agent():
+ response = requests.get('https://httpbin.org/user-agent')
+ user_agent = response.json().get('user-agent')
+ return user_agent
已应用对 useragent.py 的编辑