AI配对编程:我的Aider之旅

回顾与Aider共度的夜晚,引人注目的不仅仅是数据(每天$8,11个PR,我实际写的代码只有一行),而是它如何改变了我对编码的看法。

AI配对编程:我的Aider之旅
我写了一行代码,而Aider写了其他的一千行……

我发现自己在寻找一个更好的词来形容开发人员和他们的AI助手之间的关系。像“助手”或“副驾驶”这样的术语在你的AI伙伴承担繁重工作时显得不够充分,而你则专注于“愿景和方向”。在我最近使用Aider的经历后,我发现了一种新的编程合作关系……

1、什么是Aider?

Aider是一个基于终端的AI配对编程工具,通过Git直接集成到你的代码库中。与传统的AI编码助手不同,Aider在整个会话期间保持上下文,自动处理版本控制,并且可以同时跨多个文件操作。

主要功能:

  • 与几乎所有的LLM(大型语言模型)集成,包括ClaudeChatGPTDeepSeekLlama以及任何由Ollama托管的模型
  • 无缝的Git集成,自动提交更改
  • 基于上下文的多文件修改
  • 内置版本控制,轻松撤销功能
  • 清晰的命令界面,直观的操作

2、体验:现实世界的测试驾驶

我决定用我的业余游戏开发网站来测试Aider。我的目标很简单:更新样式并添加产品评论页面。接下来是一次关于AI如何处理实际开发任务的有趣实验。

3、从零开始创建评论页面

我的第一个请求很简单——创建一个评论页面。Aider的初始输出让我感到惊讶,它提供了一个专业结构化的页面,超出了基本要求。它包括了一些我没有指定的有用元素:

  • “关键主题涵盖”部分
  • “优点和缺点”分解
  • “谁应该阅读这些”指南

就像任何初稿一样,它需要改进。但这就是Aider的优势变得明显的地方:它能够在多次修订中保持上下文的能力。我们来回调整布局和内容,就像你与一个人类配对程序员合作一样。不同的是,每次迭代只需几秒钟而不是几分钟,而且Aider从未丢失我们之前的更改或项目的整体结构。

让我印象深刻的不仅是速度,而是这个工具如何利用其对现有资产和代码库的理解。每个建议都很好地与现有的代码库保持一致。虽然这种能力源于底层AI模型保留上下文和分析附加文件的能力,但Aider的实现使整个过程感觉自然且无缝。

当我注意到它需要一个详细的评论部分时,我提供了一些关于“游戏编码完全”的经验反馈。Aider在保持已建立风格和结构的同时,无缝地整合了我的反馈。

4、应对布局挑战

真正的考验是在重构登录页时到来的。现有的设计在空白区域、缩放和响应式方面存在问题。Aider系统地解决了这些问题,尽管我们遇到了一个小问题——布局文件引用错误。这突显了Aider最强的功能之一:Git集成。

5、集成版本控制的力量

Aider所做的每一次修改,无论多么微小,都会以AI生成的描述提交。当我们遇到布局错误时,回滚就像输入/undo一样简单。无需手动Git命令,无需搜索提交历史记录。添加正确的布局文件后,我们继续前进。

这种版本控制集成彻底改变了开发工作流程。需要重新开始?/clear命令可以重置会话,同时保持文件链接。想推送更改?简单的git push即可完成。

6、数据:生产力和成本

只需每天8美元,你也可以帮助那些急需关注的Git项目!😢

回顾我的会话统计数据:

  • 持续时间:大约1小时
  • 生成的提交次数:15次
  • 每个PR的成本:~$0.06
  • 总会话成本:$0.90

最令人惊讶的统计数据是?我只写了一行代码——甚至不是代码,只是一个HTML图像标签。Aider处理了其余的一切。

7、新的开发体验

这不是仅仅关于生产力指标的问题。与Aider一起工作的感觉从根本上不同于传统开发或其他AI编码工具。这种体验令人惊讶地平静和愉快——这是我多年来没有将这两个词与开发联系在一起的。

典型的AI编码工作流通常涉及复制粘贴代码块,在上下文丢失时开始新会话,并在多个聊天窗口之间切换。而使用Aider,我可以一直保持上下文,同时处理2–4个文件,没有任何认知负担。

8、结束语

回顾与Aider共度的夜晚,引人注目的不仅仅是数据(每天$8,11个PR,我实际写的代码只有一行),而是它如何改变了我对编码的看法。这次经历让我想起了职业生涯早期的配对编程会议——但没有安排冲突,并且我可以自由地按照自己的节奏探索想法。

它完美吗?没有工具是完美的。但对于我的特定用例——更新一个需要关注的业余项目——它证明了正是我所需要的。它让我好奇这类工具可能会如何重塑我们不仅编写代码的方式,还有我们对开发过程本身的看法。


原文链接:AI Pair Programming: My Journey with Aider

汇智网翻译整理,转载请标明出处