今天给大家介绍一个超级酷炫的AI项目,叫做 Aider。
介绍
Aider 是一个让你在终端里与AI搭档编程的工具。想象一下,你和一个超级智能的编程小伙伴在一起,Aider 让大型语言模型(LLMs)成为你的编程搭档,帮助你编辑本地 git 仓库中的代码。无论是从零开始的全新项目,还是现有的git仓库,Aider都能驾驭。最棒的是,它与 GPT-4o 和 Claude 3 Opus 配合简直天作之合,但几乎任何大型语言模型都能和它搭配使用。
开始
想要和你的AI搭档来一次愉快的编程之旅吗?那就来吧!
$ pip install aider-chat
# 进入一个 git 仓库
$ cd /to/your/git/repo
# 使用 GPT-4o 在你的仓库上工作
$ export OPENAI_API_KEY=your-key-goes-here
$ aider
然后你就可以和大模型开始畅聊代码了,Aider 会帮你改代码、git 提交,一气呵成。
特点,Repository map
强烈推荐阅读这篇精彩的文章 Building a better repository map with tree sitter,文章详细阐述了如何构建更好的仓库地图。
在改代码的过程中,你需要解决三个问题:
- 找到需要更改的代码。
- 理解那段代码与整个代码库其他部分的关系。
- 做出正确的代码更改以完成任务。
对于第3个问题,GPT-4 简直是神器。而第2个问题,我们用 repo map 来解决。
repo map 可以传递给 LLM,让它了解代码的上下文。当 repo map 太大时,我们会用一个图排名算法来找到最相关的部分。
那么,如何得到 repo map 呢?起初我们用的是 ctags,但因为文章中1,2,3,4的关系,最后切换成了 tree-sitter。
至于第1个问题,目前还需要手工解决。
试用结果
Aider 支持很多 LLM。我试用了 DeepSeek 这个模型,他们最近发布了 DeepSeek Coder V2 模型,号称代码能力超过 GPT4-Turbo。Aider 也说它在 aider 的代码编辑 benchmark 上获得了最高分。
然而,我用后感觉效果并不理想。。。也许是我用的不对姿势吧。
结论
总结一下:继续努力工作,继续AI吧。生活需要一点点坚持,也许下一个代码大神就是你。