乐于分享
好东西不私藏

如何从0到1用AI开发一个属于你自己的工具 | VibeCoding 经验分享

如何从0到1用AI开发一个属于你自己的工具 | VibeCoding 经验分享
这篇文章分享一下自己vibe coding工具的一些小心得。
到目前为止,我总计已经开发了三个小工具和一个正在开发的llm-wiki知识库桌面端。三个工具分别是一个剪贴板格式处理工具Neatcopy,专门用来处理pdf、ai复制过程中的格式问题,并加了翻译等实用ai功能;一个截图公式直接识别然后可以粘贴进word的工具Texpaste;还有一个是批量识别增值税发票的工具。
项目都在https://github.com/StoneLL1开源,感兴趣的可以去查看。
所有工具都是基于自己工作学习中的痛点来进行开发的,每个工具开发出来之后都是有自己一直在用,特别是Neatcopy,现在已经是我的开机自启动应用。
这不是这篇文章的重点,我想说的是,Vibe Coding是真的能开发出工具来帮每个人解决具体的某个场景的问题,并且最重要的是,不需要你有太多的代码基础。我开始做这些项目之前,也没有正经搞过开发,这些项目也都是用codex、claudecode聊出来的。
这篇文章想分享的就是一些小心得,怎么用好Agent,让你的token用对地方,真的能帮你做出一个真正能解决你的问题的,好用的,好看的工具。而不是只会一句话“帮我生成个记账工具”,然后ai给你交了个屎山,又丑又不好用。
写在前面
在开始之前你需要的前置准备:一个你用的顺手的agent(codex、claudecode等等)、一个好的大模型。
开始coding之前你需要知道的点:
你和AI的关系是,

- 你是产品经理和架构师,负责定义「做什么」和「做成什么样」

- AI是施工队,负责「怎么做」和「把代码写出来」

AI不会读心术,你全程需要做好决策,清晰描述意图,审查结果,你给的命令是模糊的,摇摆的,生成的结果一定会跑偏。
一般来说一个项目vibe coding的全流程如下:
想法 → 描述需求 → AI 规划方案 → AI 编码 → 你测试 → AI 修复 → 部署上线
中间有很多小的方法论,接下来开始简单讲讲整个流程。

一、先想明白到底需要做什么
在开始动手之前,你得先有一个idea,选择一个你平常经常遇到的问题,思考能不能开发相应工具来帮你解决。比如我neatcopy开发的初心就是帮我解决写论文的时候从pdf复制内容粘贴到word时会有换行、空格、全角半角的这个问题。
如果你有相应的场景,那么就可以问自己下面两个问题。
你想要的是什么?是个可以分发的完整产品,还是只需要一个脚本工具?
有没有已有的项目可以参考?最好不要重复造轮子,可以上github上搜一下有没有相关的开源项目,AI的学习能力很强。
如果你想清楚了这几个问题,先写下一份草稿,可以是口语化的,不成结构的表述,但是要尽量说清楚。
接下来,你需要安装一个非常实用的skill:superpowers
仓库地址:https://github.com/obra/superpowers
只要把仓库地址发给agent让它帮忙安装就好了,里面有一个非常实用的skill,brainstorming ,类似的还有另一个skill叫做grill-me,按需安装即可。
二、开始动手
在新建的项目文件夹里,调用brainstorming,先把你的模糊需求告诉ai,让他帮你完善,提示词举例如下。(不用照抄,类似意思就行)
然后AI就会对你进行一系列的追问,比追问你:这个工具给谁用?用户最核心的动作是什么?做完那个动作会发生什么?需要存什么数据?需不需要登录?手机上要不要能用?你根据追问进行思考,直到你的所有需求被厘清之后,让ai给你生成一个初步的提示词。
再根据这个初步的提示词进行下一步工作,最好新开个对话,刚才那一大坨对话留在老会话里就好,塞着太多无关上下文,反而会拖累后面干活的准确度。
三、文档优先原则
这是最核心的方法论,也是前段时间很火的harness-engineering最重要的约束原则。你把AI想成一个个在你手底下干活的员工,他们在干活的时候,肯定有不明白不确定的地方,那么是不是要对需求进行确认和查询?如果领导都不明白,那只能瞎糊弄了。所以,把约束用文档写下来非常重要。
接下来这部分内容毫无疑问是焚决来的。

为什么文档优先?

因为 AI 编程工具能力高但确定性低。它们在没有结构护栏的情况下执行任务,缺乏锁定约束和权威文档会导致:

  • AI 幻觉需求

  • 做出未经授权的架构决策

  • 产生解决你从未明确表述过的问题的代码

你需要写的六份规范文档

这六份文档定义你的整个项目,它们相互引用、互为约束:

1. PRD.md(产品需求文档)

  • 你在构建什么、为谁构建、有什么功能

  • 什么是范围内的、什么明确在范围外

  • 用户故事、成功标准、非目标

2. APP_FLOW.md(应用流程文档)

  • 每个页面和每个用户导航路径

  • 什么触发每个流程

  • 成功时发生什么、错误时发生什么

  • 屏幕清单与路由

3. TECH_STACK.md(技术栈文档)

  • 每个包、依赖、API 和工具都锁定到确切版本

  • 例如 Next.js 14.1.0, React 18.2.0, TypeScript 5.3.3

  • 这份文档消除幻觉依赖和随机技术选择

4. FRONTEND_GUIDELINES.md(前端设计规范)

  • 你的完整设计系统

  • 字体、带确切十六进制代码的调色板、间距刻度

  • 布局规则、组件样式、响应式断点

  • UI 库偏好

5. BACKEND_STRUCTURE.md(后端结构文档)

  • 数据库模式,每张表、每列、类型和关系

  • 认证逻辑、API 端点合约

  • 存储规则和边缘情况

6. IMPLEMENTATION_PLAN.md(实施计划文档)

  • 逐步构建序列

  • 不是「构建 App」,而是:

    • 步骤 1.1 初始化项目

    • 步骤 1.2 从 TECH_STACK.md 安装依赖

    • 步骤 1.3 创建文件夹结构

    • 步骤 2.1 构建导航栏组件

    • 步骤 2.2 构建产品卡片组件

    • ...

步骤越多,AI 猜测越少。AI 猜测越少,幻觉越少。

两份关键的会话文件

除了六份规范文档,你还需要:

CLAUDE.md(或 AGENTS.md) — AI 每次会话自动首先读取的文件。包含:

  • 技术栈摘要

  • 文件命名约定

  • 组件模式

  • 设计系统令牌

  • 允许的和禁止的操作

关键原则:CLAUDE.md 要精简,60 行够用了。前沿 LLM 能可靠跟随大约 150-200 条指令,而工具的系统提示已经占了 50 条左右。300 行是硬上限。

progress.txt —非常重要的文件。跟踪:

  • 已完成什么

  • 进行中什么

  • 接下来做什么

  • 已知 Bug

每次开始新会话、切换分支、或一周后回来时,AI 首先读取这个文件来获取上下文记忆。没有它,每个新会话都从零开始。

怎么写这些文档?

很简单,根据上面的步骤理清楚最初的提示词之后,继续调用brainstorming,问清楚每一个边界条件,然后让ai根据生成的SPEC文档逐个思考和生成这些文档,中间有模糊或者你认为走偏的地方一定要自行进行确认。

这一步最好也是在新窗口中进行,让ai进行深度思考和决策。上下文太长很可能会偷懒。


养成习惯,动手前宁花半天把这几个文档捋顺,也不直接开干。磨刀不误砍柴工这句话,放在 Vibe Coding 里是字面意义上成立。
四、编码阶段:从plan到ship

需求清楚了,文档立好了,接下来才是真正动手写。

这里最容易犯的错,是甩给AI一句“帮我做一个完整的记账App”,然后坐等收货。结果基本是灾难。

AI处理不了又大又虚的任务。你得把它拆碎,拆到每一步都是一个具体、独立、能马上验证的动作。

根据前面生成的implement plan.md

然后你每次只跟AI说:“做实施计划里的第3步。”做完验证一下,没问题,再开第4步。

这种拆法的好处是,每一步都小到能独立测试,AI也不会因为任务太大而跑偏。我之前做工具就是这么一步步堆上去的,看起来慢,返工少,整体反而最快。

告诉 AI

"构建 IMPLEMENTATION_PLAN.md 的步骤 5。"

不是"构建下一个东西"。精度要高。

跟 AI 说话的黄金法则

模糊提示:

"给我构建一个用户可以发帖的 App"

有文档支持的特定提示:

"首先读取 CLAUDE.md 和 progress.txt。然后构建 IMPLEMENTATION_PLAN.md 的步骤 4.2。登录流程在 APP_FLOW.md 第 3 节定义。使用来自 BACKEND_STRUCTURE.md 第 5 节的认证设置。按照 FRONTEND_GUIDELINES.md 样式化一切。匹配附加截图的 UI。"

同样的想法。完全不同的输出质量。

五、调试、修bug
代码写着写着必然出 bug。记住一个心法:别自己瞎猜,把错误信息整个贴给 AI,让它修。
直接把报错加相关代码加你期望的结果甩过去,AI基本能直接给你指出问题在哪。
另外,非常非常重要的一点:用git管理版本!!!
一定要用git来管理代码,不然如果某一步被AI修坏了,再让它改回去,只会越修越屎,完全没法用,很容易前功尽弃。
所以一定要在开始写代码前,就初始化好git仓库,万一修错了还能让ai回退.

https://github.com/affaan-m/ECC/tree/main/skills/git-workflow

不会git也没事,让ai安装相关的skill来正确使用git也可以。

此之外,设置止损线:同一个 bug 改了两轮还没好,就别死磕了,清掉上下文(/clear),换个角度重来。越死磕,AI 越会陷在错误的方向里出不来。

写在最后

Everything AI First. 不懂就问AI,干中学就好,在实践过程中,你就能学到很多开发和管理的知识,创造出更好的东西。

Vibe Coding本身没问题。

它让不会写代码的人能做产品,让会写代码的人效率翻十倍。

但前提是:你得理解自己在构建什么,并给AI一个真正全面的系统来工作。

下一篇我可能会讲讲怎么给工具开发出一个好看的前端界面,怎么把最近很火的loop engineer用在开发当中。

最后的最后,再给自己的Neatcopy做个宣传。

官网:https://stonell1.github.io/neatcopy-website/landing.html