专栏名称: 待字闺中
深度分析大数据、深度学习、人工智能等技术,切中实际应用场景,为大家授业解惑。间或,也会介绍国内外相关领域有趣的面试题。
目录
51好读  ›  专栏  ›  待字闺中

AI 编程-工具篇

待字闺中  · 公众号  · 程序员  · 2024-10-30 12:00

正文

by Claude 3.5 sonnet, Prompt from 李继刚

TL;DR:

  1. 主力工具组合: Cursor(新功能开发) + Zed(代码review/文档),AI代码占比90%

  2. 关键启示:实践比理论更重要,需要具备表达、提问、抽象和想象能力才能更好地利用AI编程工具




聊聊 cursor,cline,continue,以及 zed

1. Cursor

   - fork vscode,支持 VSCode 插件,但最好不用,兼容会拖垮 cursor 的速度

   - 模型: Claude/GPT-4,可以自定义 openai 兼容的 API,但 claude 3.5 sonnet 是最好的

   - 交互细节: tab 支持,高效的 diff,git 支持,terminal 支持

   - 付费: 首月免费,可以换邮箱继续白嫖;cursor pro 每月 20 美元,500 次 claude 3.5 sonnet 的快速访问,gpt-4o-mini 不限量

   - 闭源

2. Cline

   - 本身是 vscode 插件

   - 模型: Claude 系列模型,通过 openrouter 支持,但 deekseek 因为 api 兼容不支持。

   - 交互细节: 没有 tab 支持,都是一站式的修改,支持 diff 效率比 cursor 低。

   - 开源,费用就是模型的 token 消耗

3. Continue

   - 插件: 本身是 vscode 插件

   - 自定义: 模型和embedding,tab 模型都可以自定义,比较灵活

   - 交互细节:  tab,git,terminal,都支持,diff 效率最低

   - 开源,费用就是模型的 token 消耗

4. Zed

   - 使用 rust 重新开发,要颠覆vscode 。确实快。

   - 模型: Claude 3.5 Sonnet,不支持自定义模型

   - 交互细节: 不直观,甚至抽象

   - 开源,注册账号的时候,claude 3.5 sonnet 免费使用。



使用历程
最初用的是 cursor,惊艳它的综合表现,一站式有 composer,细节可以直接 chat,tab,高效的 diff。没继续用下去的原因是,我的 cursor 很卡,请求基本要几十 秒才能返回,几经折腾无果,只能寻找代替方案。
第二个用的是 cline,之前叫做 claude dev,是一个 ai 编程的 agent,一站式解决方案,类似 v0,bolt.news,更强大。prompt with more context in app out,每次都是如此,所以 cline 是最耗费 token。
第二个用 cline 的原因是当时要开发的应用很简单。当应用复杂之后,要进行局部细节的处理,cline 面临了两个问题:
  1. 成本剧增,经常一个功能的开发调试 10 美元。
  2. 细节处理能力弱,经常反复覆盖。有点像抽卡,有时候会陷入地狱。
这时候我引入了 continue,配置的本地的 embedding 和 deepseek模型,局部能力比较强,部分和 cursor 是类似的。但问题出在 deepseek 模型能力还是差于 claude,同时 continue 本身也有一些 bug,比如频繁重建索引,容易卡住。
随着项目的复杂度增加,我又回到了 cursor。意思是,即使 cursor 卡顿的问题没有解决,它带来的好处,也足以让我继续使用。
cursor 和 cline 的不同,可以理解为 copilot 和 agent 的不同。
我坚持用卡顿的 cursor 开发应用,并且不断得找解决方法,似乎大家都没有遇到这个问题,那一定是我的哪里配置的问题。不断地尝试,我发现是 cursor 和移植过来的 vscode 扩展的冲突,禁用扩展之后,很多问题都解决了,各种慢,比如保存慢,比如新建文件慢,比如删除文件慢,比如 chat 慢,比如 diff apply 慢,全部解决了。
禁用扩展并没有什么影响,毕竟 cursor 本身相当于众多扩展的集合。
但这个时候,cursor 的一个问题出现了,每个月只有500 次高级模型的快速使用。怎么办?又要很慢了?
好在,我期间一直在使用 zed 做文档编辑器使用,我打算看看 zed 在编程方面的能力如何----结果是很强,只是不容易发现,交互没那么直接。比如应用结果的时候很绕。但 claude 3.5 sonnet 真的很强,而且,在 zed 中是免费的。
所以,我现在的用法是
  1. 针对框架,新项目,新功能,cursor composer,zed这个顺序也是优先级。使用频次 60% vs 40%
  2. 针对代码的 review,理解,全部是 zed
  3. 写文档,或者生成文档,全部是 zed
  4. 代码细节调整,错误修复 cursor 为主
我目前用 ai 做了六个项目,两个比较复杂的。ai 生成代码比例在 90%。
目前 cline 和 continue 暂时淘汰。
这期间,v0 和 bolt.news我也使用过,后者更强,但对于我来说,并没有需求。对于普通用户,尝鲜之后,是否可以稳定、持续的满足需求,Agent 之路任重道远。


知见障
在使用这些工具,愉悦的享受创造的时候,我时常和朋友们交流在用什么 ai 编程工具,我惊讶于他们竟然能说出一连串ai 编程的缺点,以及对已有工具的喜爱。我不再多说。
我想起余承东说过的一句话:看不到,看不起,看不懂,追不上。
对于工程师,当我们看到一个产品的时候,会想着是如何实现的,一些人就到此为止了,并没有实践。但认知是来自于实践,停留在脑海里的可能只是偏见。
当前的 AI 核心是赋能专家,特别需要四个能力:表达能力,提问能力,抽象能力,想象能力。这些在 AI编程-能力篇中展开。