Aider 早期编程助手:贪吃蛇与现有 Rails 项目

原标题Aider’s Early Coding Assistant: Snake and an Existing Rails Project

Matthew Berman 演示这款终端工具在 2023 年的工作流程:从生成并迭代游戏,到为现有仓库提出依赖变更。

MBMatthew Berman讲者 · Forward Future
频道
Matthew Berman
发布
2023年7月2日
视频
7:05
阅读
4 分钟
幻灯片
3
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

在这期 2023 年 7 月的教程中,Matthew Berman 配合 GPT-4 使用 Aider,先构建并修改 Python 贪吃蛇游戏,再让它更新 Ruby on Rails 项目中的依赖。他介绍早期基于 Universal Ctags 的仓库映射,并展示与 Git 配合的编辑。这些是非正式演示,暴露了一项未完成的游戏修改和一个实际上并非最新的依赖版本;视频简介还补充了录制时遗漏的安装步骤。

  1. 1终端编程助手Berman 介绍 Aider 及其迭代修改文件和现有项目的能力。
  2. 2历史设置他创建 Python 环境并使用 OpenAI 密钥;视频简介补充了一条遗漏的安装命令。
  3. 3仓库映射他解释早期的 Universal Ctags 映射,它压缩选定的代码信息,而不是向模型提供所有细节。
  4. 4贪吃蛇示例助手生成并修改一个小游戏,但其中一项请求的修改并未完成。
  5. 5编辑 Rails 项目Aider 建议修改 Sidekiq 并使用 Bundler,但提出的版本并非最新。

要点建议

  1. Aider 是一款终端编程助手,可以提出修改并在 Git 仓库中工作。
  2. 2023 年的演示使用托管的 OpenAI API 密钥;软件免费并不意味着 API 使用免费。
  3. 早期仓库映射是一份简洁摘要,并非每个文件的完整内容。
  4. 一次贪吃蛇修改保留了第一个食物的原始符号,说明生成的修改需要测试。
  5. 演示中建议的 Sidekiq 6.3.1 即使在 2023 年 7 月也不是最新版本。
  6. 视频简介补充了遗漏的 Aider 安装步骤;现代设置和仓库映射方式已经改变。
全文

按章节阅读整理后的全文

只看原始文稿
01

介绍 Aider 与环境设置

Berman 介绍 Aider、创建环境并讨论 API 访问。视频简介补充了演示中遗漏的安装步骤。

Matthew Berman 在 2023 年 7 月介绍 Aider,一款由 Paul Gauthier 创建的终端编程助手。他感兴趣的是它提出并迭代修改代码、展示变更以及在现有 Git 仓库中工作的能力。视频展示的是小型示例,并非对大型项目可靠性的广泛评估。

他介绍自己使用的版本支持 GPT-4 和 GPT-3.5,并希望未来支持开放模型。这反映的是 2023 年的版本;此后可用模型和集成选项已经改变。助手软件本身可能无需付费,但调用托管模型 API 可能产生费用。

Berman 在 Mac 上创建并激活使用 Python 3.11.3 的 Conda 环境,然后导出 OpenAI API 密钥,并表示会撤销演示用密钥。视频简介补充了一个遗漏步骤:使用 pip install aider-chat 或仓库依赖安装 Aider。这些是历史说明,并非经过验证的当前安装指南。

02

映射仓库

他解释早期 Universal Ctags 集成及其压缩仓库上下文的作用。映射必然有所取舍。

Berman 介绍 Universal Ctags,称其可作为处理大型代码库的可选辅助工具。在他演示的早期版本中,它帮助生成紧凑的仓库符号和结构映射。受 token 限制的映射只是选取或摘要,并非整个代码库,也不能保证模型理解所有相关上下文。

他展示如何使用 Homebrew 安装 Universal Ctags 并检查版本。这是视频录制时的工作流程;Aider 后来说明,它用基于 tree-sitter 的方法取代了原先基于 Ctags 的仓库映射,因此不应假设当前版本仍需要这一旧依赖。

03

创建并完善贪吃蛇

Berman 生成 Python 游戏、添加得分并更改食物符号。最后一项修改只部分成功。

Berman 创建新文件夹,并用 snake.py 启动 Aider。屏幕显示当前没有 Git 仓库,仓库映射也被禁用。他请求制作 Python 贪吃蛇游戏;助手提出使用 curses 的代码,在这次演示中,他成功运行了生成的游戏。

使用 Python 文件启动 Aider
幻灯片 1 / 3使用 Python 文件启动 Aider终端显示使用 GPT-4、没有 Git 仓库,以及贪吃蛇请求。

他让助手添加一个得分,显示蛇吃掉了多少食物。Aider 展示并应用修改,Berman 再次运行游戏,展示得分。这是一次迭代编辑和人工检查的例子,并非全面的游戏测试。

接着他要求将食物符号改成数字 8。测试时,他发现第一个食物仍使用原始符号,后面的食物才使用 8。他指出可以再迭代一次来解决;初次修改没有完全满足请求。

Berman 展示聊天内命令,包括添加或移除文件、查看差异和提交,然后退出并打开现有的 Ruby on Rails 项目。这次终端识别到 Git 仓库,并显示预算为 1,024 个 token 的 Universal Ctags 仓库映射。

04

现有 Rails 项目

他让 Aider 更新 Sidekiq,并检查它提出的 Gemfile 和 Bundler 步骤。所建议的版本不能证明已成功升级到最新版本。

早期仓库映射
幻灯片 2 / 3早期仓库映射现有项目被识别为 Git 仓库,屏幕显示使用 1,024 个 token 的 Universal Ctags 映射。

他让 Aider 将 Sidekiq 升级到最新版本。助手请求访问 Gemfile,提出版本约束,并讨论使用 Bundler 更新 Gemfile.lock。屏幕显示版本 6.3.1;RubyGems 已于 2023 年 5 月发布 Sidekiq 7.1.0,因此这一建议不能证明是当时最新的版本。

建议的 Sidekiq 修改
幻灯片 3 / 3建议的 Sidekiq 修改所示 Gemfile 修改指定与 6.3.1 兼容的版本约束,不能证明选择了最新版本。

Berman 欣赏助手认识到锁文件由 Bundler 生成,而不是直接手动编辑它。演示展示的是建议的工作流程,并非已经完成并验证的依赖升级或兼容性测试。他认为 Aider 可以帮助自己继续迭代现有项目。

同频道的其他文章

12 张幻灯片34:21EN → 简体中文
Matthew Berman· 2026年10月27日Matthew Berman 解读 Anthropic 的上市文件、AI 增长与治理Matthew Berman, Sam Altman · Forward Future主持人审视 S-1 中的财务指标、算力战略和投票结构,并质疑 AI 快速发展与安全之间的张力。AnthropicAI Safety企业 AI+2
0:26EN → 简体中文
Matthew Berman· 2026年10月25日Sam Altman 谈 AI 世界中的人类价值与问题解决Sam Altman · OpenAI在一段简短的访谈摘录中,Altman 思考解决难题的乐趣,以及人在解读结果时的作用。Human-AI CollaborationFuture of WorkAI Strategy
2 张幻灯片0:36EN → 简体中文
Matthew Berman· 2026年10月25日Kimi K3.1 与魔方求解演示Matthew Berman · Forward FutureMatthew Berman 展示一个被打乱的虚拟魔方如何复原,并对 Kimi K3.1 的测试给予积极评价。评估编程智能体Open-weight models
2 张幻灯片0:21EN → 简体中文
Matthew Berman· 2026年10月24日AI 生成的 Kimi 基准图表使用了虚构分数Matthew Berman · Forward FutureMatthew Berman 要求生成一张 Kimi K3.1 Pro 基准图表,随后发现图中的数字只是示意性占位值。Benchmarks评估Generative media
6 张幻灯片25:50EN → 简体中文
Matthew Berman· 2026年10月24日Kimi K3.1 Pro 实测:3D 演示出色,表现不一,价格有竞争力Matthew Berman · Forward FutureMatthew Berman 测试这款开放权重模型的编程、3D 渲染和视觉讲解能力,并比较基准成绩与价格。Open-weight modelsBenchmarksAI cost & performance+1
2 张幻灯片32:20EN → 简体中文
Matthew Berman· 2026年10月23日本地 AI 究竟适合谁?成本、取舍与混合模式的未来Matthew Berman · Forward FutureMatthew Berman 权衡数据控制和自主权,与硬件成本、设置复杂度及推理速度之间的关系。Local inferenceOpen-weight modelsAI cost & performance+1