专栏名称: 宝玉xp
前微软Asp.Net最有价值专家 互联网科技博主 我是宝玉。
目录
相关文章推荐
宝玉xp  ·  匿名投稿:《AI ... ·  昨天  
宝玉xp  ·  //@Minghua_Deng:提供 ... ·  4 天前  
爱可可-爱生活  ·  【Pipet:网络数据抓取神器,专为黑客设计 ... ·  4 天前  
爱可可-爱生活  ·  早! #早安# -20241002051019 ·  6 天前  
机器之心  ·  终于拿到内测!豆包-PixelDance真是 ... ·  1 周前  
51好读  ›  专栏  ›  宝玉xp

匿名投稿:《AI 的笨是可知的,小弟的笨是不可知的》来自一位大厂-20241007094330

宝玉xp  · 微博  · AI  · 2024-10-07 09:43

正文

2024-10-07 09:43

匿名投稿:《AI 的笨是可知的,小弟的笨是不可知的》

来自一位大厂朋友的经验分享,谈他在用 AI 辅助写代码的感受:

**我们的 AI 写码之旅**

我们的挑战:

1. **编程语言:Rust**,可以说是“专门为 AI 负优化”的语言。
2. **产品:特殊设计的操作系统**,几乎没有任何现成的参考。
3. **自研的第三方库**,包括 RPC、异步调用等,大部分库只有我们自己在用。

我们经历了几次迭代,目前还没有为 Rust 专门调优 LLM。

**初始阶段**

1. 使用通用的代码补全与生成模型做 tab 补全。
2. 使用通用的 Chat 模型进行跨文件代码生成、解释以及生成单元测试等。

这个阶段整体表现不佳。只有 tab 补全在一些简单情况下偶尔能有用。由于 LLM 对我们的系统一无所知,一旦遇到特定领域内容,LLM 就会开始“瞎猜”。

**第二阶段**

我们把项目代码放进去对 LLM 进行微调。

在这一阶段,LLM 勉强理解了一些系统相关的内容,能生成部分相关代码,但准确性依然不高,尤其在我们逐步废弃一些旧组件、引入新组件的过程中,LLM 容易混淆。毕竟当前文件里旧组件的使用频率可能比新组件更高。

简单的单元测试和基础的 setup 代码,LLM 能生成一些,但通常还是需要人工改动;复杂的部分几乎没戏,尤其是 setup,AI 往往“乱来”。

但好的一面是,代码解释的效果好了很多。总结下来就是:它能省下一部分工作量,但离省下全部还有很大差距。

一个明显的好处是,我减少了和初级开发沟通的次数。有些设计,只要我把分割做得足够清晰,给出合适的提示,AI 就能完成个七七八八。

之前的工作流是:我设计、分割,自己搞定难点,把简单的、重复的工作交给小弟,或者写好 demo 再分配任务。

现在的工作流是:我设计、分割,难的部分自己搞定,剩下的交给 AI。说实话,有时候感觉更累了 😂

但至少,AI 的“笨”是可以预见的,而小弟的“笨”却难以预料。

举个例子,有一次我把 demo 都写好了,调试通过,只需要小弟加两个测试就能交付。结果小弟愣是“搞”了一个月... [捂脸]

网页链接