574 - 《Vibe Coding Tips》

发布于 2025年7月4日

关于 Vibe Coding 有个不错的比喻。传统编码想雕刻大理石。你从一块空白的石料开始,小心翼翼地一刀一刀雕琢,一行一行代码,一个一个函数。每一笔都经过深思熟虑,每个决定都由你做出。这很有成就感,但速度很慢。Vibe-coding 更像是指挥一个交响乐团。你不是在演奏每一种乐器,而是在指挥、塑造、引导。AI 提供了原始的音乐天赋,但没有你的愿景,它就只是一堆噪音。

1、选最好的工具和最好的模型。对于我来说,工具目前是 Claude Code > Cursor > 其他,模型是 Claude Opus 4 > Claude Sonnet 4 > Gemini 2.5 Pro > 其他。不要为了节省 Token 和成本而使用较差的模型。好模型的优势是会复利式增长的。同时,也不要为了节省 token 而吝啬于提供上下文,实际上会让你花费更多。这就像为了省油钱每次只加半箱油——结果只会让你更频繁地跑加油站。

2、AI 辅助在未来应该是常态了,如果 AI 辅助了你的代码,不需要藏。所以给每个包含了 AI 工作的 commit 加上 Flag,可以让工作更加透明化。同时也可以让 Review 你代码的人可以更加谨慎一些。

比如可以这样。

# [AI] - Significant AI assistance (>50% generated)
# [AI-minor] - Minor AI assistance (<50% generated)
# [AI-review] - AI used for code review only

这是我在 takumi 里仓库里的实践。

3、AI 是一个放大器。如果你这个系数本身很小,你不会看到多少增益。如果系数是负的,那么… 同时个人感觉是经验丰富的工程师往往能从 AI 工具中获得多得多的价值,因为他们更加会问问题(写出合理的 prompt)。

对比下下面两则 Prompt,效果好坏应该很好预期。

写一个 Python 的限流器,限制用户每分钟 10 次请求。

用 Python 实现一个 Token 桶限流器,要求如下:
- 每个用户(通过 `user_id` 字符串识别)每分钟 10 次请求
- 线程安全,支持并发访问
- 自动清理过期条目
- 返回一个元组 (allowed: bool, retry_after_seconds: int)

请考虑:
- Token 是应该逐渐补充还是一次性补满?
- 当系统时钟发生变化时会怎样?
- 如何防止因不活跃用户导致的内存泄漏?

优先选择简单、可读的实现,而不是过早优化。仅使用标准库(不要用 Redis 或其他外部依赖)。

这里分享两个技巧。一个是 metaprompting,先给模型一个简单的任务,然后让它帮我发现其中的权衡和边界情况;另一个是 Plan 模式,给简单任务,然后评估模型给的计划是否合理,不合理则接着调整,直到满意为止。

4、Rules 文件至关重要。这是 Code Agent 在被调用时会自动读取的自定义文档。他让你不用一遍遍地解释你项目的规范,让 Code Agent 的效率会变得出奇地高。

比如这个。

## Project: Analytics Dashboard

This is a Next.js dashboard for visualizing user analytic:

### Architecture Decisions
- Server Components by default, Client Components only when necessary
- tRPC for type-safe API calls
- Prisma for database access with explicit select statements
-

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。