从gifcapture:纯前端实现的gif录制程序,即用即走继续讨论:
也算是从零开始用ai写完了一个小项目,分享一下用ai编程的过程,脑子比较乱,就当水贴了。
ai 能作为生产力工具,这应该是共识了吧?如何实践?那就写一个小项目吧。
项目选型不能太复杂,也不能太简单,因为毕竟要实践怎么能让 ai 融入日常的写代码任务中,所以项目的技术栈选型要符合以下几点:
- 整个项目的基础要是我熟悉的领域,否则就变成纯学习了。
- 技术栈不能完全小众,不能是 ai 完全不知道的东西。毕竟大模型上下文长度在那放着呢。
- 技术选型要有我完全不了解的组件,因为我需要一个 ai 知道但是我不知道场景,实践一下在这个场景下 ai 如何辅助人
- 所用的技术最近要有更新,以便测试如何让ai处理他的训练数据没有的内容
所以最后就选择做一个录制 gif 的小工具,技术栈是:vite ,react, shadcn, tailwindcss v4 ,konva,gif.js
我不熟悉的领域是 canvas,视频流,gif,其中完全不了解的技术组件是 konva 。
最近有更新的是 tailwindcss v4,配置方式完全不一样了,附带着 shadcn 的配置也不一样了
工具选择
从去年底就一直在折腾这些东西,cursor, cline,aider。
先说cursor,好东西,贵。这玩意从他一开始放出来就下载体验了,当时还没 c3.5 ,我嫌弃他是单独的 ide,我原本折腾了好久的vscode又得换掉,有点抵触,最后 c3.5 出来以后它彻底出圈。最大的缺点是白嫖太折腾,生产力工具不稳定,比吃屎还难受,而且订阅了以后限制还是很大,500次一月根本不够用,所以pass
再说cline,这玩意和 roo code 其实差不多,合并一起唠。
我真是无力吐槽,用量图 ,这个帖子是我用cline配置mcp时候的 token 用量图,输入 150w token,输出 3w token,这是人干事?我甚至都还没开始写代码!它的实现思路就是把 prompt 和 用户提问,还有项目源码一股脑往 llm 那里塞,直到把 LLM 上下文塞爆,然后再重新对话,垃圾玩意滚粗。
再说 aider,这是我目前用下来体验最好,强推。
- 命令行工具,你可以在vscode单独开一个终端,挂在那里就行,无缝集成
- 所以用 jb 写 java 应该也可以挂一个aider在终端,但我没试过
- 使用repo map做项目结构给 LLM,这点完爆 cline,可以看这里
- architect 模式,推理模型专注规划,非推理模型专注修改,LLM 本身也是越具体的小任务就做的越好
- 指哪改哪,也就是说,除非你明确的添加文件为可修改,否则不瞎改
- 深度集成 git ,
我从来没写过这么规范的 commit message - 它把它自己的文档做了arg,不会的直接 /help 问就好了
- 跟 copliot 无冲突,偶尔一眼能看到的错误就用 copilot 的补全改一下,不用去 aider 里面对话了。
LLm选择
c3.7 毋庸置疑,次一级选择是r1+v3, aider 的 architect 模式中 r1+v3 也可用,我大概10%的代码是用 r1+v3 写的,剩下的都是 c3.7。现在回想,如果非前端, r1+v3的组合应该也可以满足,但是可能需要自己小修小改
过程体验
c3.7 真是牛逼,在aider 的 architect 模式下,80%的任务一次过。剩下那20%的任务,现在回想起来,是我自己犯懒,完全不想思考了。当人犯懒,丢给LLM一个模糊任务,不能指望它把任务做的完全符合你心意,对吧?特别是在一个稍微有点规模的项目里面。除非你对任务没有什么要求,就想看模型自由发挥。
当人完全没思路的时候,就用 /ask 模式聊,聊各种解决方案,聊完了就用 /code 让他实现。因为是深度集成了 git ,所以随便改,不合适回滚就是了。当清晰的知道解决思路,就用 /architect 直接写。
整个项目写了大概两个多星期,每天一两小时。konva 还是不会,但我知道了它的概念,大致的用法,你要让我手写,那没辙,我不了解具体的函数,就只知道它有那个功能函数,连函数名都不知道。
总结
- 有 ai 了以后,学习是更加必要的,但变了,广度比深度重要,除非你是搞前沿研究的。
- 实践变得更简单了,不需要扣每一个技术细节。
- 技术基础比技术框架更重要,前端娱乐圈那一堆狗屎了解下就好,脏活让LLM干
以及最后,真的会有 AGI 吗?
rules.zip (2.7 KB)