前言
我们目前提供了两款AI辅助编程工具:
1. auto-coder.chat 是一款基于 terminal 的 AI 辅助编程工具。可以搭配任意IDE使用。可以让任何开发工具瞬间就具备AI辅助编程能力,比如微信小程序开发工具。推荐搭配 cursor, cusor 的tab tab 可以有效的提升你偶尔可能会手动修改代码的需求。
2. auto-coder.web 是一款 web IDE。 你只需要web 浏览器,就可以对一个项目做变更或者修改。
两个项目都支持远程或者本地做代码开发。今天我们重点先来说说 auto-coder.chat 的使用方式。
和其他工具的对比三大差异
需要从三个角度做比较。
第一个角度是需求处理的级别。
我们来看下面这张图:
auto-coder.chat 是全球第一款面相 commit 级别的 AI 辅助编程工具。也就是你描述需求后,它会自动给你提交commit。
auto-coder.chat 也是全球第一款提出了“复现”概念的 AI 辅助编程工具,它会记录你每个commit 后面的“环境” 和 需求。 类似 docker。我们会记录某个commit 背后的上下文,环境配置(auto-coder.chat 的各种配置),需求以及最后得到的实际commit 代码等。
下面是我开发的的项目的 commit 列表,都由 auto-coder.chat 提交。我只负责提需求和review 代码。
第二个则是不同工具走的不同的处理思路
目前主流的 AI 辅助编程工具都达到了图片中展示的 write 级别。不同工具的做法不同:
1. windsurf 是采用 agentic 模式。
2. cline 是采用 COT 模式,以 tools 为核心。
3. cursor 则是兼具上下文和agent 模式,用户自己选择切换。
auto-coder.chat 则是以上下文模式为核心,辅以其他模式比如以tools为核心的COT ,也包括 mcp 支持等。
我们来说下 tools 模式和 上线文模式的区别, tools 模式是我给大模型一堆工具,比如查找文件,修改文件等等,你自己自由组合这些工具来完成用户的需求。通常而言,对工具的使用是线性的,系统会利用工具完成相关代码收集,代码修改,命令行执行等等。
context 模式则是通过索引,rag等各种策略,根据用户需求反推这次可能需要的源码文件,然后将源码文件和需求给到大模型,让大模型给出修改。这里也是充分利用大模型自由发挥。
agentic 模式我这里也写了一篇文章,大家可以感兴趣看看:AI辅助编程:Agentic 火,要跟进么?
第三个则是对模型的组合使用
相比同为开源的 cline, auto-coder.chat 的可玩性相当高, 比如cline一般是一个模型走到黑,auto-coder.chat 可以任意组合模型完成不同功能模块。比如索引,过滤可以分别配置模型,代码生成可以配置单独模型,结果筛选可以配置单独模型,rag服务也可以配置不同模型。
auto-coder.chat 的一般使用
大家都认为vscode插件是最易于使用的模式,但最好还是破除这种偏见。比如以这张图为例,红色框为 auto-coder.chat 运行在 cursor 里的区域,大家觉得和普通的插件有区别么?
在编码区,你直接描述需求:
/coding @src/williamtoolbox/server/rag_router.py 返回 rag 列表时或者单独获得某个 rag 时,需要再次验证下 pid 是否存在,如果状态发生变化,需要更新下状态再返回
然后等一会,就可以在右侧 commit 列表区看到一个新的 commit, 点击commit ,就可以看到这次代码的提交需求。
对这次commit 你进行review 可能会遇到几种情况:
1. 代码改的不太行,完全不可用,这个时候在编码区输入指令:
/revert
即可撤销此次 commit。 然后你根据刚才已经review 的代码,反过来重新修改需求的用语。比如你觉得这次有个地方有遗漏或者那个地方没改好,/revert 以后,就可以在新的prompt 提示词特意提醒下上一次 auto-coder.chat 没注意到的地方。
2. 代码改的还行,但有一点点还需要调整下。此时你有两个选择,通过下一次 commit 来优化。 第二种是你直接手动修改下,然后调用
/commit
这个时候auto-coder.chat 会根据你的修改,自动生成一个 commit。 然后这个commit 也可以通过 /revert 撤销。
你可能 review 过程中,发现部分auto-coder.chat 写的代码不太容易看的懂,或者你想检查下是不是有基本的语法错误,比如没有申明就使用,可以用如下指令来辅助自己做review:
/chat /review @src/williamtoolbox/server/rag_router.py
此时会做一些常规review:
你可以加上一些额外的需求。
配置
auto-coder.chat 可以通过 /conf 命令做非常非常多的配置。包括索引的开关,多生成模型和多次采样等高阶功能特性,都可以简单通过一个做配置。在 auto-coder.web 版就可以界面化配置:
你可以看我们的飞书专属文档来了解不同的功能配置:
https://uelng8wukz.feishu.cn/wiki/NhPNwSRcWimKFIkQINIckloBncI?fromScene=spaceOverview
聊天和编码组合
你可以通过 /chat 和 auto-coder.chat 先聊下需求,最后用如下指令来完成最后的实际编码:
/coding /apply 根据我们的聊天来修改代码
之后系统会给你提交一个commit,你按前面提到的流程继续往下走就好。
最后 human as model
auto-coder.chat 应该是少数可以让你使用 web 版大模型的 AI 辅助编程工具。当你开启了该模式后,你输入需求:
/coding 添加一个新的翻译API, 输入是文本以及目标语言,输出是翻译后的内容. 使用prompt 函数,并且prompt 函数单独一个文件,叫translate_service.py.
运行一段时间后,系统会停止在这个界面:
系统会自动拷贝一些东西到你的黏贴版(和你项目根目录下的output.txt文件一致)
打开 deepseek.com 网站,在输入框进行黏贴操作,然后回车:
打开 claude 官网(或者其他大模型的web网站),在输入框进行黏贴操作,然后回车:
等待他们生成完毕。
接着拷贝第一个结果:
注意,是拷贝整个回复,而不是只拷贝代码。然后黏贴到 auto-coder.chat 的界面中:
黏贴后,按回车,然后在最新一行输入 EOF ,再次按回车表示当前输入结束。接着系统会再次等待你输入第二个答案,你一葫芦画瓢就可以。
因为有两份答案,系统会对这两个答案自动做排序,并且选择了第二个答案(sonnet 3.5 的答案)。
这个特别适合你没有 API 可以使用的情况。更多可以看这里:
https://uelng8wukz.feishu.cn/wiki/OA6twT0hmigNMGkDsdpcqKWwnfh?fromScene=spaceOverview
结束语
当然,auto-coder.chat 还有非常多只有你深度使用,并且在开发真实项目时才能体会到的功能。比如 /ask 本质上就是类似cline 以工具为核心的COT模式来帮用户更好的了解自己的项目, /desigh 则是帮助工程师做一些logo ,界面设计,然后通过 /coding 将图片转化为实际代码。