抛砖引玉: 介绍命令行AI编程工具aider以及emacs集成aider.el

得分确实拉得挺开的,

我拿aider调用它写leetcode新出的中级难度算法题 需要DP 它一次搞定。这题我自己做得好一阵子。

这个题目deepseek 搞不定的

题目能share一下不,我看看

https://leetcode.com/problems/maximum-points-tourist-can-earn/description/

1 个赞

有没有试过让它把一个老的emacs packge(比如仅支持emacs 24的包), 转换成支持emacs最新版(29)的包?

这是很有趣的应用 AI也很有可能帮得上忙 不过在我看来这类工作重要的一点是需要充分的测试 而目前来看需要人工来做

刚刚完成的,完全用aider做的一个项目,一行代码都没有写,代码连看都没有看,连readme都是生成的。自己就改了改github workflow的配置。

2 个赞

用的哪个LLM?hs都能一行不改就成功也是很厉害了

2 个赞

claude

是的 大模型写程序实在让我吃惊 我尝试着用它来实现平时和我儿子一起玩的两个桌游 简单写了个design 让它实现就大差不差 计算机玩家的AI实现也很不错

我把它们放在aider.el的example文件夹下了

昨天我让Claude 和aider去把之前写的cli interface改成pygame的gui 分分钟改好了 以前我只是听说别人用cursor如何如何 这下亲眼所见 震撼 不得不思考 作为程序员 将来该怎么好好利用AI

3 个赞

给你发了个私信。

用来写sh和eww也不错

aider session语法高亮现在有了。用的是启动aider的时候打开的代码文件所用major mode里的语法高亮。确实不是完美的办法,但至少对repo对应的语言有高亮了,想来很多repo的主要语言应该是一种。

2 个赞

手动点赞,zsbd

Google的Gemini 2.0发布了,aider的大模型coding排行榜上仅次于claude,比o1-preview正确性更好,而且,他是完全免费的

使用方法: 设置GEMINI_API_KEY环境变量 aider启动参数是: --model gemini/gemini-exp-1206

1 个赞

aider更新以后支持 inline comment 以及file watcher 了,感觉非常不错的两个功能。

inline comment的意思就是你可以在你的代码里直接写注释来让AI干活,不需要切换到 terminal buffer 里去写 prompt 来让 ai 干活,类似这样

# refactor this function AI!
def xxx

File watcher 的意思是当检测到当前 project 文件里的注释里有更新的 ai prompt 以后会自动调用 llm 来进行输出。

感兴趣的可以看一下官网的介绍 Aider in your IDE | aider

1 个赞

aider 感觉发明了很多有意思的 AI 写代码的创意。比如利用 treesitter 来做一个整个 project 的大纲/概览来喂给 AI 应该是首创。然后今天的这个 inline comment 也很有意思。

就索引方面,我倒是觉得 auto-coder 的方案更加优雅,简单、适用范围广以及每几个月随模型能力一起提升。

就索引方面,我倒是觉得 auto-coder 的方案更加优雅,简单、适用范围广以及每几个月随模型能力一起提升。

他这个返回的东西很少啊。连函数的签名都没有。

每几个月随模型能力一起提升。

建索引这个任务太简单了,现在的 LLM 都能胜任的很好,模型能力提升不会提升索引的效果。还是得看怎么设计索引能够最高效的让 LLM 利用好。

想要啥在 prompt 定制就好了,让模型自己做,甚至可以让模型在生成repo map的内容中加入各个文件、各个类、各个函数的简要说明,而不是仅仅只有文件名、类名、函数名、参数名、类型。

并不这样觉得,我觉得检索方面现在还很糟糕(主要指的是aider和claude-3.5-sonnet),索引质量是一方面(从treesitter里捞出来的那点东西在我看来还远远不够),模型能力是另一方面。

主要说的是模型窗口大小、推理能力的提升和成本的下降。往理想的说窗口大了、推理速度快了、token费用继续指数下降,甚至不需要进行索引和检索,所有文件直接扔给模型就好了,不需要rag各种折腾。