在启动一个需要 vibe coding 的项目前,进入目录的第一件事,不是输入一句话需求,而是先给项目“立规矩”,或者说是,编写“LLM 宪法”,让 LLM 做事时有理可依、有据可循。
LLM 会在一个解空间里反复探索,直到达成目标,有约束但又不失开放性的宪法,可以让 LLM 少走弯路,并且在整个项目周期都能记住项目目标。
例如我在一个 vibe learning 的目录下,会给 Claude 提出这样的初始化要求:
"""
本仓库是用来做 vibe learning 的,所有的 MCP、Skills 等尽量安装在本目录下的合适子目录里,控制好结构,避免上下文爆炸。整体设计要尽量克制,不要复杂,目录要清晰、干净。
你需要把主流媒体平台的 CLI 工具尽量接进来,我是要从这里获取大量资讯的。我现在推荐了一个 opencli,其他的你可以自己去互联网找一找,选那些真正有用的工具。抓回来的内容可以考虑存到本地,但一定要克制,不要把一堆垃圾数据搬进来,尽量只留下高质量的信息。
我本身也在做自媒体,会在 微博、即刻和 X 上发内容,所以你需要在这个仓库里沉淀我的风格、规则、偏好,甚至可以主动去分析我各个平台的内容表现。所有要发布的内容,也需要在这里有一个沉淀和演化的过程。
有一类资讯是适合做 daily 或 weekly 学习的,这类内容需要重点处理。你要记录数据源,并设计一个定时拉取策略,把这些高质量内容持续沉淀到本地。本地存储尽量用 MD 格式,同时把关键附件也管理好。
如果涉及脚本处理,技术栈优先用 bun,可以直接跑 typescript。如果要做应用,尽量用 Next 或 Nuxt,保持简单。数据库本地用 sqlite,同时要预留 mysql 的 adapter。能用 CLI 的地方优先用 CLI,不要一上来就用 MCP。同时要定期 review 我的规则文件,看哪些需要合并、归档,做好短期记忆和长期记忆的分层,在使用的时候也要有召回机制。
还有一件事,我每次写的 prompt,你要帮我做定期整理,可以按天输出一份,把里面值得沉淀的表达、模式抽出来,慢慢变成长期资产。整个仓库用 git 管理,所有内容都是可演进、可回溯的。
将以上内容,拆解后,根据 Claude 官网的最佳实践,初始化写入到本仓库的 CLAUDE.md 和 AGENTS.md。
"""