长假休完,继续 vibe。
本月最大成就:vibe coding 企业培训
这是本月的最大成就。虽然主题是 vibe coding,但内容却并非 Claude Code 或 Codex 的手把手教学。而是以我之前曾展示过的 NotebookLM Clone为主体,贯穿始终的 vibe coding 实战类课程。内容涵盖了:
- vibe coding 的来龙去脉和祛魅。
- 面对当前不断被渲染的 ai 接替人类工作的恐慌情绪,我们人类开发者应该以一种怎样的思路去应对。
- 注:个人思路,请谨慎参考和对待。既不要放大也不要缩小,就当是听听行业老人的个人经验 ;)。
- 梳理 claude code 这类工具的使用和实践。
- 核心观点:务实第一,你并不需要用到全部特性。
- 以 Clone NoteboolLM 为目标展示:
- 典型 AI 应用的技术选型。
- 工程化的 vibe coding 实践过程。
- 典型 AI 应用场景的实现思路
- 涌现式设计和讨论,让学员自身体会,自我总结。
- 效法禅宗:教外别传,不立文字。直指人心,见性成佛。
开课前,我曾担心是否学员是否真能如我所愿有个 notebooklm 的小样,但最终结果证明我的担心有点多余。用一句话来讲:虽不中,亦不远矣。
关于课程情况,或许未来可以写一篇详细说说。
关于 notebooklm clone,我曾在 1 月的月报中有提到。
技术尝试 1:游戏开发
为何尝试游戏开发,原因也很简单,那是因为我隐约感受到游戏相关的技术和场景有可能会如同当年 blog 一般普遍。同时,关于 three.js 等一些关联工具框架的出镜率也想较之前在我的信息流中显著变得多了起来。
于是乎,很自然就决定试着 vibe 一下。况且之前就曾经接触过一些关于工业场景的机器设计选型和 3D 展示相关的需求。
由于我 vibe 的前提一般式首先满足自己的实际需求,因此就构思了两个基于 phaser 的日语学习小游戏,并且也在课程上显摆了一下,收获了若干好评,;)。
完成游戏的过程中,完整地体验了一次游戏制作的全过程:
- 图片、音效和动画
- 官卡设计和奖励
当然,还离不开数据的收集和清洗。虽然是 vibe coding,但功夫还是在 coding 之外。
技术尝试 2:视频剪辑 pipeline
这个尝试依然来自于我们的实际需求:在线培训直播完毕后,我们还需交付一个直播视频的剪辑。
既然我们本身就在教人如何 vibe,那当然也应在此过程中融入 vibe 之魂,这才是“知行合一”。于是乎,有了此文:用 Claude Code 与 Skill 组合打造 AI 自动剪辑视频工作流,并且也适时在课程上进行了展示。
现在,你应该知道我上面写的关于课程的涌现式设计和讨论了吧 😄。
技术尝试 3:CC 状态栏
一路跟帖的小伙伴应该知道,我一直用的是 CC pro plan,自然它会受到 5 小时时限的影响。同时,Context Window 也是我关心的另一个指标。因此,vibe 了一个 cc 的自定义状态栏把它们当前的状况显示出来:
~/projects/... (main) │ Sonnet 4.6 │ ctx █░░░░░░░░░░░░░░░░░░░ 9% │ 5h 0%
技术尝试 4:CC / Codex 连 Gemma 4
本月 Gemma 4 发布,同时 ollama 也能直接下载了,而且最关键的是我无意间发现它居然已经跟 CC 和 Codex 打通了,于是乎在我的 M3 + 36 GB 配置上试了一下。
主要是两个模型: 31b 和 e4b。结果如下:
- CC
- 31b,无响应
- e4b,极慢
- Codex
- 31b 和 e4b 均有响应,虽然一个字一个字蹦,但还能接受,假如你性子不急话。
- rust 牛逼。
- 同样的 prompt,解释我上面写的那个游戏应用:
- e4b,丢三落四,估计就看了一点内容就急急下结论。
- 31b,内容全面,质量尚可。
- 31b 和 e4b 均有响应,虽然一个字一个字蹦,但还能接受,假如你性子不急话。
但是,不论哪种方式,机器都烫了。于是乎,也就作罢。
本月看到的技术更新:claude design、gpt-image-2 和 flue
先说 claude design。看到它重新设计了我的游戏 ui 之后,我大为震撼。虽然哥是一个设计外行,但也能感受到它设计的逼格。只是额度似乎太少了,😄。
再说 gpt-image-2。用它尝试生成了一张未来课程的 slide 之后,明显感觉到了 nanobanana 和它的差异:最起码,图上没有错别字。而同期的 nanobanana,我生成的 jinja 卡片上依旧有一些不明就里的神秘文字。
至于 flue,由于它的 repo 目前在 astro github org 之下,自然我瞅了瞅到底有何独到之处。老实讲,我个人感觉它是和 langchain 的 deepagent 类似的东西,差别不大,故而也就没有深入尝试。因为我已经在用 deepagent 做一些东西了。
就到这里吧。