I used AI. It worked. I hated it
vibecodingAIexperience
核心洞察:一位AI安全专家使用Claude Code构建证书生成系统的亲身体验。代码确实能工作,但过程"极其痛苦"——人类成了不断点击"接受"的机器。
项目背景
- 作者需要为The Taggart Institute迁移构建课程完成证书系统
- 选择Rust + Svelte + Typst (PDF生成)
- 使用Claude Code (Sonnet 4.6)进行开发
关键方法论
- Plan Mode: 先写计划而非代码,作为半永久性上下文指导开发
- TDD: 每个功能先写测试,再实现
- 安全审计: 代码完成后,指示AI作为安全审计员寻找漏洞
- 逐行审查: 几乎总是接受AI建议,但必须仔细阅读每一行
结果
- 功能: 应用在生产环境运行良好,比自己写的功能更丰富(审计日志、GDPR删除、加密验证等)
- 过程: "极其痛苦"——"我基本上成了Homer的喝水鸟"(不断点头的机器)
- 问题: 人类很容易脱离循环,诱惑"让它跑起来"
- 幻觉: 很少,有自修正;Rust的编译器帮助纠正错误
重要警示
- "Human in the loop"是必要的,但当前流程本身使循环变得枯燥,鼓励人类脱离循环
- 了解代码变得困难——是从"作者"变成"观众"
- 大公司已经在处理AI工具导致的问题(亚马逊最近的严重事故)
- AI生成的SQL必须验证——推荐pGenie作为验证层
结论
快速代码创建不值得这个代价。代码质量可以接受,但过程令人窒息。"如果你不仔细审查AI的输出,一切都脱轨的概率接近1"。