Aidermacs:Emacs 里的 AI 代码助手,真正适配 Emacs 的 Aider 体验

是的,这就是我说的增加用户学习成本,很多人根本不会点开官方配置网页,开箱即用得顺利不顺利就直接导致他弃坑

我觉得这个避免不了,做这些包装我怀疑既增加代码复杂度和维护成本,也没有降低用户使用成本,毕竟配置api key 不也得看文档去么。

嗯,我同意现在的architect mode方式真的增加了不少维护成本和代码复杂度,主要aider上游是这个功能支持得还非常烂。

其他对于model的常规设置,应该还行吧?没几行字一个run函数解决的问题

你要担心这个,不如学学 gptel 多一些配置文档

我觉得没必要把这些都包装了,做了这些封装,其实对于我来说还得先检查一下命令行里多了啥 :rofl:

gptel的readme真的是极端丰富了哈哈哈

我挺喜欢你这个方案,你有空写PR吗?不然我明天来搞

这个也好,就是不适配目前dynamic model selection的函数,需要改一下

哈哈哈,所以对于intuitiveness和usability的理解真的太主观了,你对aider doc很了解,所以会好奇心驱使你去研究一下有了什么改动;我从完全不了解aider的新用户角度去推测,我想他们应该更关心能不能开箱即用,用熟悉的emacs setq配置好就能直接跑了,所以我才觉得更省事

你们的feedback都很好,我目前的方案确实有over engineer或over abstraction的风险,我把我的观点想法已经说完了,得睡了,你们继续讨论,直接上PR就更好了 :face_holding_back_tears:

这还有个问题得考虑清楚,我现在的实现是可以toggle的,因为reason+edit双模型会比较贵,会有时候用一半想换。

还有就是,Aider目前好像不支持这种程度的runtime切换(或者我漏掉了什么doc)目前切换必须重启整个aider进程…

现在好像不行,只能切换单个

嗯,我关注一下这个issue,暂时只能这样dirty workaround了

我刚刚对 Architect/Editor 模式进行了优化,现在 aidermacs-editor-model 默认会使用 aidermacs-default-model 的值,而不是单独设置。这样配置更简洁直观:

(setq aidermacs-use-architect-mode t)
(setq aidermacs-architect-model "o1-mini") ; 只需要设置 Architect 模型
;; aidermacs-editor-model 默认使用 aidermacs-default-model

这个改动的好处是:

  1. 减少了需要配置的变量,更符合直觉
  2. 用户只需要关心要额外引入的 Architect 模型
  3. 保持与默认模型的兼容性
  4. 当用户切换回 solo 模式时,配置可以无缝衔接

Aidermacs 最新版本 已经支持自动检测 .aider.conf.yml 配置文件 ,搜索顺序如下:

  1. ~/.aider.conf.yml
  2. (aidermacs-project-root)
  3. default-directory

当 .aider.conf.yml 存在时,Aidermacs 会忽略所有其他配置变量 (不仅仅是 --model)。所有配置都由 .aider.conf.yml 直接接管,这意味着不需要再手动设置 aidermacs-default-model、aidermacs-architect-model,--model、--architect 之类的参数

可以通过配置文件注明config-file位置:

(setq aidermacs-config-file "/path/to/your/project/.aider.conf.yml")

或者:

(setq aidermacs-extra-args '("--config" "/path/to/your/project/.aider.conf.yml"))

@vinurs 建议更新后试试!

1 个赞

更新后试了一下,可以了,谢谢^_^

1 个赞

Aidermacs 默认支持最新的 anthropic/claude-3-7-sonnet-20250219 啦!

1 个赞

aider 目前的 sonnet-3.7 看起来应该是默认不启用 extended thinking mode 的。毕竟如果要启用 extended-thinking mode,应该会给用户开放一个新的 option 来选择 thinking tokens 的 budget。如果不开 extended-thinking-mode 能够和自带 thinking 的 o1-pro / R1 基本打平是真的牛。

具体参见这个榜单 Aider LLM Leaderboards | aider

对,最新版Aider 0.75.0写着

    • Thinking support coming soon.

榜单写了 32k thinking tokens 不知道是不是内部测试时开了,但还没有设置成用户可设置的 budget。

sonnet-3.7 加上 thinking 以后排第一我不意外。毕竟 sonnet-3.5 本来就很强,比拼基础模型的实力,sonnet-3.5 强于 gpt-4o 和 deepseek-v3,因此加上 thinking 以后干掉友商的 thinking model 我不奇怪。

我是说第四名这个 sonnet-3.7 没有 thinking 战胜了 deepseek-r1,和 o1-pro o3-mini 基本打平是真的太牛了。没开 thinking 的完成任务的速度通常要比开了 thinking 的快了一个数量级。也难怪 sonnet-3.7 敢不降价,继续卖这么贵。

我觉得目前 aider 的开发者应该就是 hard-code 了 request 的 payload 先加上了 thinking budget tokens 做了一个简单的评测。具体该怎么设计用户选项来调节这个参数应该还在继续做调整。

Model Name Score 1 Score 2 Configuration Type Cost
claude-3-7-sonnet-20250219 (32k thinking tokens) 64.9% 97.8% aider --model anthropic/claude-3-7-sonnet-20250219 diff $36.83
DeepSeek R1 + claude-3-5-sonnet-20241022 64.0% 100.0% aider --architect --model r1 --editor-model sonnet architect $13.29
o1-2024-12-17 (high) 61.7% 91.5% aider --model openrouter/openai/o1 diff $186.5
太牛了 claude-3-7-sonnet-20250219 (no thinking) 60.4% 93.3% aider --model sonnet diff $17.72
o3-mini (high) 60.4% 93.3% aider --model o3-mini --reasoning-effort high diff $18.16