AI 时代,知识与工程师价值如何定义
背景
最近因为 上一篇博客 被同事发现接触到了一些新的技术领域,同时这周也发生了一些有趣的事情,包括:
- 老朋友和我讨论上一篇博客的 AI 味(没错,也是第一篇基本靠 AI 写的博客)
- 跳脱出了技术圈子,跨界 meet 了一次数学出身的 startup 老板
- 龙芯杯比赛让往届选手录制一份十周年采访视频
这些事情突然让我重新思考,AI 时代我们的价值如何体现。
关于知识
自学
最近发现,通过 LLM 自学知识的速度比以前快得多。我是习惯于先建立知识框架,再深入学习的知识体系。比如说学 LLM 推理,我就想先搞清楚它的计算到底在算什么,每个部分的计算用了什么硬件资源,访存需要多少,有什么特征。
好在,我们已经有一堆开源推理框架,只要在自己机器上把它跑起来(甚至是几 B 大小 CPU 都能胜任的小模型),加点小 log,就可以快速得到我们想要的答案。这些问题放在今天,AI 都可以快速地回答,而且结果都很容易验证。
这对于自学来说,以前如果没有好的学习材料,也许我需要去阅读很多很多的论文,看很多很多的碎片化知识文章。但其实,看文章的时候容易得到很多抽象符号化的东西,例如我们看论文可能知道了一个 Attention 的公式,告诉我们各个矩阵、向量的输入输出关系,做什么运算。但比如我是一个想学习推理框架的人,这样的信息并没有直接告诉我,像 DeepSeek V4 Flash 的模型,hidden state 多大,MoE 的访存占比多少,加上推理需要多少带宽这样的信息,它并没有给我增加直接的 insight。
好在,这一切可以让 Agent 修改代码,去加中间 Log,阅读代码学习到的信息,在今天终于不是问题。
这里我很想引用一段我朋友年糕在2025年4月在一个群聊里讲的段子:
> cyy小时候对电脑一见钟情
> 然而电脑只会冰冷地运转,并不回应
> 于是cyy暗下决心
> 一定要在未来看透电脑的心❤️
< 所以我好喜欢开源的一切
< 可以一层一层剥开电脑的心
人味
于是,我用 AI 把和 AI 的学习对话,在上一篇博客整理成了文档,并且人工 harness 了一些过少解释,过度解释,以及不准确,还有逻辑顺序不流畅的问题。我个人认为,文章本身的质量已经达到了自己发博客文章的要求。
然后我把这篇文章的链接发在了自己的 Channel 和朋友圈,然后在朋友圈观察到一个很有意思的现象:AI Native 时代的学生(大概是2021年以后的本科生)的点赞率出奇的高,老朋友点赞数量非常少。而许多先前技术圈子的老朋友,通常年龄与我相近或者更大,则对这样的文章的用词,句式的 AI 味非常不屑。尽管它在技术、知识传播等层面满足了我写博客的目的,但是一旦有了奇怪的比喻、用词,这样的群体不爱看。
我喜欢活出自己,但这选择不是一个 bool 量而是一个浮点数。因为文章本身的目的是传播知识(哪怕是给 AI Agent 学习的知识)。如果有很多它的受众并不喜欢这样的风格,那是不是也意味着我要进行调整?我认为是,但已有的文章,leave it as is。
跨界
许多时候,跨出了自己熟悉圈子的社交圈才会意识到,原来自己的知识也可以很值钱。
之前和朋友讨论过一个 idea ,发现现在的 AI 很难做真正实时的资料检索。试想你正在进行某个某个答辩,你在其中很多内容都是 Vibe Coding 出来的而不懂技术细节,台下的评委对你提问,而你的 AI 往往难以立刻根据你的上下文思考得到一个准确的答案,如果 RAG / Agent 查询迭代几轮,已经超出了正常可以容忍的思考时间。同样,这就可以类比你去参加面试,别人就可以根据你的谈话快速反映出你的水平,而这至少是目前的 AI 难以解决的问题。
于是,在一位本科同学的介绍下,这周接触了一个 startup 老板进行聊天。我突然意识到我的价值并不是我的研究、我的知识,而是我在企业里见过的真正的工业界痛点。它与大部分学术论文的要求不同,学术论文往往大家拿着一个 toy project ,对着一个很多人涉足的方向看看能否更进一步,提一个新的问题和解决思路。而真正需要解决的工业界痛点往往并不在学术论文中,甚至这些痛点可能因为已有人做过失去了 novelty ,但也许并没有人真正做到一个工业级可用的水准。
因此,我开始意识到,也许人类的价值都比工作中的他们想象的高,特别是当处在一个舒适的长期圈子内时,也许自己所拥有的价值很难被自己看到。
关于工程能力
Know How > OKR (Observable Key Results)
用过 Claude Code 的应该都知道,对于一个复杂的任务,如果给了一个 /goal 完全不管,AI 会把任务做成什么样子。
最近恰逢龙芯杯比赛10周年,让往届选手录制了一份十周年采访视频,让我回忆了很多当时比赛的细节,其中就包含一个:我选择了花一周时间去造 基于 Verilator 的仿真框架。
在那个纯古法编程的时代,我发现了我们在开发 CPU 的巨大痛点。当时的比赛只提供一套 Vivado 的性能测试框架,而且该框架的仿真运行是小时级别的。如果综合上板,大概也许需要 20 分钟的编译时间+ 几分钟的手动 IO 计分时间时间。而到了 Linux 的调试更是恐怖,我们可能有抓取大量 RTL 波形的需求,而 FPGA 的 ILA 每次只能在设置了 Trigger 后,在 4096 cycles 的 Window 内抓 4096 bits 左右的信号,且当时并没有在线差分测试功能,CPU 跑错了只能猜我可以利用什么 Trigger (例如触发 Exception 的 CSR,或者是程序 PC),然后再对着波形去对比,而每次重新改需要抓波形的信号,需要等待半小时的编译,去对着现场分析用什么 Trigger 在下次继续抓波形,也是一个非常困难的事情。
因此,这个巨大的痛点让我觉得,我们必须要有一个软件仿真平台,能快速完成我们的仿真需求,能抓全量波形,同时还能差分测试精确定位出问题的指令提交现场。而我当时就用 Verilator 跑过 Rocket-Chip,大概单线程能仿真 100K Cycles/s,如果我们 FPGA 上跑 50 MHz 5秒的 Workload,按这个速度算仿真也就 2500s。而且我们的小核大概比 Rocket-Chip 仿真快得多。因此,我就花了一周写了仿真框架。事实证明我是对的,最后 Verilator 仿真我们的核,即使开着全量 fst 波形 dump,也能跑到1M Cycles/s 左右,把 Linux 跑进 busybox 也就 10 分钟时间。而性能测试更是从改 RTL 到编译到出 IPC 分只要 10 秒左右的时间,大幅加快了我们的架构探索效率和性能迭代。如果在有 Agent 的今天,这个探索效率又可以被一群尝试不同方向的 Subagent 大幅提升,而如果不造这个框架,这些 Agent 只能排队挤 FPGA,每次尝试的 Latency 甚至还会达到半个小时的量级。嗯,我在公司干的一个缓存 Bug 的修复,就是让 Fable 5 这样高延迟转了一个月,才跑出来,但多核+随机触发的 Bug 真的太难了。
这个框架最后让我们 2 天就跑通了 Linux + Busybox。如果没有当时的“磨刀不误砍柴工”,我觉得我们当时仅有的时间根本不可能用原始调试方法实现。
也许最终的结果不仅是我们获了奖,完成了本科阶段的一个巨大愿望。也同时,这个项目也承载着我们面对时间压力,如何快速完成 goal 的经验。也许停下来几天,去投入一个让自己能在未来提升5-10x效率的事情,非常值得。我依然相信,AI 也许能想到这个 option,但它要烧更多的 token 来换更低的任务 latency,没有人工介入的时候不一定会作为首选选择。
同时,我最后把整个框架开源出来,收获了很多很多好评。在后来的几年里,我去到 RISC-V 中国峰会,或是 ISCA / MICRO 这样的体系结构顶会,都有人因为当年用过我写的框架认识过我,感觉十分荣幸。
