实习 4 个月,我对 AI 的新感受
实习这几个月大量地使用 AI,用得越多,反而攒了一些零碎又真实的感受,想在这里一起写下来。总的来说,AI 提效依然长路漫漫。
用 AI 写转正文档的构史体验
前段时间一直在忙着实习转正,像之前设想的那样,我尝试用 AI 帮我梳理实习中的各种资料,并总结成一份产出文档。结果最后发现,其实我自己承担了大多数的梳理工作。不管是多好的 SOTA 模型,写出来的文字可以说是一坨狗屎,不堪卒读。
展开来说,一方面,我让它读取了我各种重要的飞书文档、MR 和聊天记录,试图让它帮我梳理,结果它整理出来的只是看上去头头是道,但实际上对业务的理解非常浅,根本无法很好地囊括出我在实习期间关键的核心产出是什么。最后我写转正文档的方式是,在某个周日的下午,用豆包输入法语音输入了两个小时,洋洋洒洒说了有一两万字,才把实习期间的各种历程和关键节点讲清楚。然后再让 AI 根据我口述的草稿去生成一份文稿,这个时候它才勉强具有可读性。
但这个时候,另一方面的问题又来了,就是它的文字实在太难看了。正常的一句话,它非要用被动句来讲,或者莫名其妙地分行,或者是一些乱七八糟的短句。点名 GPT 和 Claude,全都是干活还可以,但产出的文档都是一坨狗屎,根本不适合人类阅读。能力确实是进化了,可是我再也没有那种可以跟它像人类一样沟通的感觉。我前前后后在飞书文档里输了将近 200 条评论,让它改了四五轮,每次都跟它说,这个地方不应该这么说,应该这样子来表述。我稍微语速慢一点就能把它讲出来,结果它硬是要把这件事讲得晦涩难懂,真的很不理解。
不过也是因为这件事,我突然有点感激之前被导师迫使写各种国自然本子。虽然说也没写出来什么结果,但确实锤炼了我精炼和讲故事的能力。
AI 写作的两个毛病
第一个毛病,是抓不住重点。我觉得现在 AI 的写作能力还是很有限的。它很难找出人真正需要看到的重点,只是一味地罗列、堆叠,写出一些看上去很重要、但实际上没有什么中心论点的话。
第二个毛病,是防御性写作。为了避免犯错,它会写很多防御性的内容,而实际上忽略了很多真正需要表达的东西(例如,实验的口径是xxx,具体yyy仍需要核定)。前段时间我在腾讯技术工程上看到一篇文章,作者写了一个很长的 AGENTS.md 文档,专门用来约束 Agent 不要防御性写作,读起来又好笑又扎心,因为确实都是我经历过的情况。
1 | |
AI 短期内还取代不了程序员
最近总有人在讨论 AI 会不会取代程序员。我自己的判断是,短期内一到两年还很难做到。要取代程序员,AI 至少需要满足三件事。
第一件是足够强的智力。这方面它的智力已经比人类超出很多很多了,但它的上下文是有限的。我在实习的时候,看到的这些复杂的广告召回系统,里面每个模块都是一个动辄几百 MB、甚至几 GB 的大型项目代码库,逻辑实在过于复杂,AI 很难正确地梳理出来。
第二件是上下文。AI 的能力范围,局限于它能获得的范围。哪怕飞书底座的能力已经打通得非常好,也有很多相关的 skill 可以去访问公司内部其他的 Infra 平台,但仍然有很多信息它没有很好地获取到,这个时候只能靠人去补充上下文。它所能触及的知识域,终究是有限的。
第三件,也是我觉得最关键的一件:AI 只是一个工具,它没有自己的意图。意图要怎么提出来?得有人给它指出对应的需求,梳理完需求之后,再让 AI 去开发。这恰恰是目前很难被取代的地方。
也是因为这个,我觉得现在写程序越来越讲究通才。对技术来说,除了开发的基本素养,其实也需要有凝练需求的能力,而这可能是过去 PM 看重的品质;而对 PM 来说,除了对项目、对需求的掌控力,他也需要理解一些基础的代码知识,这样才能对项目的整个生命周期、开发周期有更好的掌控,也才更知道怎么合理地运用 AI,在它不断进化的能力边界上去提升效率。
复杂需求,用文档来沉淀
那在复杂需求里,到底该怎么用 AI 开发?我的答案是用文档来沉淀。
这也是我实习摸爬滚打出来的一个心得。如果你一句话一句话地去跟 AI 说,东打一榔头、西打一锤子,它其实很容易迷失重点,也会遗忘上下文,到最后根本不知道你想要的是什么样子。本质上,还是人对需求的描述不够清晰。
所以我逐渐摸索出了自己的一个方法论:先跟 AI 聊需求,让它去做调研,然后我要去 verify 它调研的真实性和有效性,再一起形成一份飞书文档。这份文档里会包含我需要做的事情、它的背景、要怎么做、怎么验收,总之是一个完整的项目流程。
有了这样一份文档以后:我可以自己去里面 review、挑刺,跟 AI 做进一步迭代;它在后面的执行里,也会更明确地知道要去干什么;同事接手的时候,也能更好地理解我在做什么,然后给我一些有启发的 idea 和建议;而对我来说,它也是我工作流程的一个证明。所以我觉得,文档沉淀还是一个很重要的过程。
也是在这个过程里,我发现 AI 的防御性写作和抓重点的能力,还有很多有待提升的地方。哪怕它的代码编写能力已经比我强了太多太多,但它实际上就像一个 ACM 金牌的算法选手,有能力却不知道自己需要干什么。我需要给它讲很多说明,就好像我在带一个实习生一样,而不是我自己才是那个实习生。
成本控制:harness 要和模型匹配
最后一个大点,是 AI 的成本控制。
最近我在尝试用不同的 harness,去配不同的模型,来开发我的各种需求。我的感受是,对于简单的任务来说,其实用便宜的 Flash 模型就可以解决很多需求。比如我现在的写作,其实是直接让 DeepSeek Flash 配合 Hermes 来帮我做文本润色的,我会更喜欢它的语言风格,而且它做事情也更快。
要考虑的因素有很多。
- 模型的响应速度,Flash 模型确实会比 GPT 5.6 快很多
- 成本,Flash 的成本确实也会比 GPT 低很多
- harness。我的看法是,harness 一定要和对应的模型匹配。比如 DeepSeek,我就配 DeepSeek harness;GPT,我就用 Codex,我不会想把它接到别的 harness 上面去。因为我觉得,模型的能力本来就是针对特定的 harness 训练和验证出来的,那我在它已经验证好的组合里面去做测试,才是最好的结果。就好像让一个做日料的厨师去做西餐,倒也不是不能做,他肯定也懂一些,但做出来效果可能就没那么好,甚至有些偏颇。那我还不如用最合适的方法,就让做日料的厨师去做寿喜锅。
- 语言风格。我确实会更喜欢用国产的模型去写中文,因为中文的语言会更符合我的 taste。
综合这几个因素,我在做任务之前,会先想清楚自己到底要什么,再去挑合适的 harness 和模型。
目前我大概是这样的组合:聊天、个人助理用 Claude;用 Codex 来做复杂一些的编程开发需求,比如组内的原型系统,还有我自己的毕业论文;用 DeepSeek harness 配 DeepSeek Flash,来帮我解决一些日常的 daily task,比如日常的提醒,还有博客写作。
写到这里,其实都是很零碎的体感。但归结起来大概就是一句话:AI 的能力边界在飞快地扩张,可它始终是一个需要被人驱动的工具。真正稀缺的,还是那个能提出意图、定义问题、把需求讲清楚的人。
文本使用 DeepSeek Flash 润色