在利用 Claude 开发生产力工具的过程中,一个显著趋势正在浮现:用户关注的焦点已从单纯的功能请求,转向探索 AI 的正确使用范式及高阶技巧。

本文复盘了我重构个人主页的全过程。这一项目完全摒弃了传统编码流程:无需本地运行代码,未提交任何 PR,甚至未打开 GitHub。整个构建过程由约 60 个并行线程协同完成,涵盖了从 Blender CGI 制作到配乐合成的复杂任务。值得注意的是,大部分协调工作仅通过手机端即可完成,Claude 全程在云端执行运算。

截至 2026 年 9 月下旬,该项目已全部使用 Opus 5.5 模型完成。与年初相比,我的工作流已发生质变:不再受限于个人技术栈,转而专注于创造性表达与视觉呈现。鉴于技术迭代速度,我推测六个月后这一工作流还将迎来新的演变。

构思:从灵感拼贴到 VHS 美学

初期阶段,我像管理设计团队一样,向 Claude 投喂了包括 90 年代锐舞海报、电影剧照及概念摄影在内的大量素材。十个线程在极少干预下并行探索设计方向,从“国家公园露营风”到“80 年代《攻壳机动队》风格”,最终因缺乏新意被否决。

在确认复古科技(Game Boy、黑胶唱片等)与创意画廊的结合点后,Claude 提出了以 VHS 磁带为核心视觉元素的方案。结合我对 90 年代德国电影记者办公室场景的构想,我们确立了一个交互式 3D 房间的设计方向。

令人惊讶的是,在首次简报发出 39 分钟后,Claude 生成的第二版草稿已高度还原了最终房间的雏形。经过约 60 次迭代,项目正式上线。早期架构中,Claude 自主采用了模块化代码结构,允许各线程并行处理房间元素。例如,每个磁带均为独立文件,绘制于 2D 画布之上:

export default {
  id: "notion",
  title: "Notion",
  years: "2023–2025",
  mount({ canvas, ctx, width, height, audio }) {
    return {
      frame(t, dt) { /* draw one frame */ },
      input(event) { /* play, stop, next, prev, click */ },
      stop() { /* clean up */ },
    };
  },
};

每次迭代后,Claude 会生成私有网页工件(Artifact),支持在多端实时预览。这种移动端友好的反馈循环极大提升了效率,使我能在通勤间隙快速验证创意。

构建:Blender 即代码

房间构建是本项目最具野心的部分。由于我不具备 Blender 操作技能,LLM 成为连接创意与实现的桥梁。我只需描述需求,Claude 便将几何形状转化为 Python 代码,调用 Blender 库进行渲染。

最终房间由约 3,000 行 Python 代码控制,主要脚本包括:

  • tape_model.py(332 行):精确建模的 VHS 卡带,包含卷轴、导向器及防尘盖等细节。
  • gear90s.py(659 行):90 年代记者书桌,集成录音答录机、寻呼机、Walkman 等复古设备及其连线逻辑。
  • retro_pc.py(431 行):虚构品牌的 80 年代末 PC,配备绿色 CRT 显示器及 XT 键盘。
  • room_back.py(290 行):房间背部结构,仅在反射或自由视角中可见,包含门锁、电灯开关等细节。

Claude 自主决策何时调用 Poly Haven 等开源模型库,何时从零生成资产。绝大多数物品(如书桌、电视、整机电脑)及表面纹理(木材、金属的程序化噪声)均由代码生成。

为实现照片级真实感,Claude 放弃了浏览器实时光照,转而使用 Blender 的 Cycles 路径追踪器将光照烘焙至纹理。静态表面拥有独立的 UV 集,存储来自台灯、城市辉光、月光及电视的不同光照贴图。着色器根据磁带内容动态调整电视光色调,例如蓝色磁带会使环境光泛蓝:

vec3 lamps = pow(texture2D(irrA, uv).rgb, vec3(3.0)) * sA;  // desk lamp, city, moon
vec3 tv    = pow(texture2D(irrB, uv).rgb, vec3(3.0)) * sB;  // the TV alone, baked white
vec3 light = lamps + tv * tvColor;

移动物体(如磁带、旋钮)则保留实时照明。虽然云端计算足以支撑大部分任务,但高强度 3D 渲染仍受益于本地 GPU 加速,用户可通过“本地工作”模式接入自有算力。

视差:深度图赋能的窗外景色

为在保持照片级真实感的同时降低客户端 CPU/GPU 负载,我们放弃了纯 3D 重建天际线的方案。最终方案采用 Depth Anything V2 开源模型,将柏林天际线照片转换为 50 KB 的双通道深度图:柔和通道用于处理桅杆、建筑的视差滑动,锐利通道则确保火车能正确遮挡于建筑之后。所有动画效果均由 GPU 在照片上层绘制,资源消耗极低。

创作:赫尔佐格风格的企鹅恶搞

项目亮点之一是致敬沃纳·赫尔佐格纪录片《末日的邂逅》中“虚无主义企鹅”场景的 CGI 恶搞视频。Claude 扮演了特效艺术家角色:

  • 将场景拆解为八个镜头,严格匹配原片边界。
  • 逐帧跟踪摄像机运动,复刻手持拍摄的摇摄、缩放及抖动效果。
  • 通过 Python 调用 Blender 构建雪地、山脉及企鹅模型。

最终渲染生成了 2,787 帧独立图像(640×480,23.976 fps),合成为 116 秒视频。细节上加入了冰面电脑桌、代表过往雇主的公司旗帜等幽默元素。旁白部分初版由开源模型生成,后因质感平淡,切换至 ElevenLabs API 进行合成。

配乐:代码合成的音乐

Claude 还使用 Python 从头创作并合成了三首网站配乐。它先生成乐谱,再编写合成器引擎。尽管我对乐理一无所知,但能以制作人身份提供主观反馈(如“减少兴奋感”),Claude 据此调整和弦进程(如 C#m(add9)、Amaj7(#11) 等)及持续音频率。

质检:多 Agent 对抗与协作

面对数十个并行线程产生的代码,我采取了类似工程经理的管理策略:不审查每行代码,而是建立严格的流程与度量标准。

多个 QA 线程在无头浏览器中驱动网站进行自动化测试,生成约 3,000 行的发现报告。协调性 Agent 负责分发问题,对抗性 Agent 则专门寻找漏洞,如空白标签、残留德语、死链接及竞态条件。这种相互问责机制确保了最终交付物符合质量标准。

优化:像素级差异验证

在性能优化阶段,Claude 展现了出色的“爬山”能力。针对帧率、绘制调用等具体指标,它通过拍摄多角度对比截图并计算像素级差异,确保性能提升未以牺牲视觉质量为代价。

结语:机械过程与创意主权

对于传统工程师而言,这种“零代码”构建 3D 内容的方式可能引发身份焦虑。然而,正如 1859 年摄影术初入巴黎沙龙时被斥为“懒惰者的避难所”,如今 AI 辅助创作也面临类似质疑。

我并非天赋异禀,也未经历传统 3D 建模的痛苦训练。但在 2026 年,若无 AI 辅助,我不会考虑重构网站。关键在于,我并未将 Claude 视为单纯的编码工具,而是将其作为通用创意框架。最终成果虽与手工打磨数周的作品存在细微差异,但它精准还原了我脑海中的愿景。这不仅是技术的胜利,更是创意主权的延伸。