343 lines
12 KiB
Markdown
343 lines
12 KiB
Markdown
---
|
||
title: "[Milky] 为您整理《一人公司案例:开发5个APP 用到的AI技能》笔记 | BV1qiE56SE4c"
|
||
source: "milky@4ueo.com"
|
||
date: 2026-06-10 12:28
|
||
tags: [milky, bilibili, notes]
|
||
email_id: 2636
|
||
---
|
||
|
||
Milky 为您整理了《一人公司案例:开发5个APP 用到的AI技能》 | BV1qiE56SE4c 笔记。
|
||
|
||
一人公司案例:开发 5 个 APP 用到的 AI 技能
|
||
|
||
访谈对象:Josh Pigford(Baremetrics 前创始人,曾以 400 万美元卖掉该公司)
|
||
访谈者:Peter(Easonlee)
|
||
时长:31 分钟
|
||
|
||
|
||
核心摘要
|
||
|
||
Josh Pigford 在卖掉 Baremetrics 后,选择以一人公司模式同时开发 5 款 AI 产品。他通过一套结构化的 AI 开发流程,实现了"对抗性审查"和"持续学习"机制,让 AI 能够像团队一样协作,同时保持了极低的运营成本和极高的迭代速度。他的核心理念是:快速发布真实可用的产品,而非用着陆页收集邮箱来验证需求。
|
||
|
||
|
||
一、Josh 的 5 款产品一览
|
||
|
||
| 产品名称 | 功能描述 | 状态 |
|
||
| ------------ | --------------------------------------------------- | ------- |
|
||
| Proxyuser | 合成用户测试工具,用真实浏览器自动 QA 应用,生成屏幕录制帮助快速定位 bug | 刚发布 |
|
||
| Rumored | LLM 幻觉检测器,监控 AI 是否错误引用品牌信息(网站文案、博客内容、schema 代码等) | 周五刚发布 |
|
||
| Reply Social | 社交媒体统一回复管理工具,内置 Bot Block 功能,支持 Facebook、Reddit 等平台 | 早期版本已发布 |
|
||
| Chops | 开源 Mac 应用,用于管理和编辑 AI 技能文件 | 已开源 |
|
||
| 医疗信息管理工具 | 为母亲(晚期胰腺癌)开发的家庭沟通和文档管理工具,支持与医疗文档对话 | 上个月开发 |
|
||
|
||
|
||
二、三阶段 AI 开发流
|
||
|
||
Josh 将开发任务拆解为研究(Research)→ 规划(Planning)→ 实施(Implementation)三个独立阶段,每个阶段都有特定的指令集。这种结构化方法避免了 AI 一次性处理大规模任务时的混乱。
|
||
|
||
2.1 研究阶段(Research)
|
||
|
||
输入:简单的功能需求(如"为 Reply Social 添加 Bot Block 功能")
|
||
|
||
输出:一份研究文档,包含:
|
||
技术调研:API 调用方式、竞品分析
|
||
历史代码整合:从已废弃项目中提取可复用的代码
|
||
高层技术方案:系统如何交互、哪些部分需要忽略、哪些需要移植
|
||
|
||
示例(Bot Block 集成到 Reply Social):
|
||
整合之前的 Chrome 扩展代码
|
||
分析需要哪些 API 调用
|
||
列出 pros/cons,决定保留什么、忽略什么
|
||
|
||
2.2 规划阶段(Planning)
|
||
|
||
输入:研究文档
|
||
|
||
输出:实施文档(Implementation Document),包含:
|
||
将任务分解为多个阶段(Phase)
|
||
每个阶段是一个独立的 Pull Request(PR)
|
||
每个阶段是用户可测试的(user testable)
|
||
|
||
关键原则:
|
||
不要试图一次性完成所有工作,而是分成小的、可管理的 chunks
|
||
有时候实施文档会有 30+ 个阶段,因为 Josh 要求每个步骤都必须能亲自测试
|
||
每个阶段完成后会生成一个 progress 文件,记录:
|
||
- 该阶段完成的工作
|
||
- 做出的决策
|
||
- 学到的经验
|
||
|
||
2.3 实施阶段(Implementation)
|
||
|
||
输入:具体阶段名称(如"build phase one bot block")
|
||
|
||
输出:
|
||
在独立的工作树(Worktree)中编写代码
|
||
执行深度研究:竞品调研、官方文档查阅(可能使用 Context7)、UI 设计调研
|
||
自动运行测试(打开浏览器进行自测)
|
||
生成 progress 文件更新
|
||
|
||
工作树(Worktree)的意义:
|
||
每次打开新工作树时是完全干净的上下文,避免上下文腐化(context rot)
|
||
作为"存档点"(checkpoint),便于回滚
|
||
显著减少 AI 幻觉
|
||
每个阶段对应一个 shippable 的 PR
|
||
|
||
|
||
三、对抗性审查:多模型协作
|
||
|
||
3.1 为什么需要对抗性审查
|
||
|
||
Josh 用 Opus 做规划和初稿,但他很清楚:
|
||
"每次启动产品都像是在问——如果没人在乎怎么办?"
|
||
|
||
即使是 25 年经验的老手,AI 也会有遗漏。对抗性审查就是模拟人类团队的代码评审机制。
|
||
|
||
3.2 具体流程
|
||
|
||
`
|
||
Opus(主要工作) → GPT-4.5(对抗性审查) → 合并 PR
|
||
`
|
||
|
||
Opus 负责:规划、第一版代码编写、整个流程的 bulk of everything
|
||
GPT-4.5 执行:审查工作树中的所有代码
|
||
结果:GPT-4.5 总会发现 3~5 个 Opus 遗漏的 bug
|
||
|
||
3.3 Conductor 中的配置
|
||
|
||
在 Conductor 中可以设置默认的 Review Model,Josh 发现 Opus + GPT-4.5 的组合对他最有效。
|
||
|
||
3.4 与人类代码评审的类比
|
||
|
||
"在典型团队中,你做 Pull Request,然后有另一个开发者来审查,他们总会发现点什么——比如'这不是我这么做的方式,我来演示另一种方法'。AI 只是在扮演那个角色,而不是另一个人。"
|
||
|
||
|
||
四、学习技能:防止 AI 重复犯错
|
||
|
||
4.1 问题的根源
|
||
|
||
AI 在每个新工作树中没有任何历史记忆,即使之前已经踩过坑、调试过很多次,它还是会犯同样的错误。
|
||
|
||
4.2 解决方案:Learnings Skill
|
||
|
||
Josh 开发了一个开源的 Learnings Skill:
|
||
|
||
输入:
|
||
当前工作树的全部内容
|
||
所有会话记录
|
||
开发者反复说"不,这不行"的反馈
|
||
|
||
输出:
|
||
提炼出有用的经验教训
|
||
更新项目的 CLAUDE.md 文件
|
||
|
||
CLAUDE.md 的作用:
|
||
作为 AI 的长期记忆
|
||
记录项目的特殊上下文、偏好、约束
|
||
每次新会话时 AI 会参考这个文件
|
||
|
||
4.3 项目 CLAUDE.md 的内容示例
|
||
|
||
Josh 的 CLAUDE.md 包含:
|
||
项目名称和基本描述
|
||
技术栈信息(Rails + Inertia + Postgres,单体 repo 包含 web app 和 iOS app)
|
||
常用命令列表
|
||
测试偏好(使用 Agent Browser 打开应用进行测试)
|
||
Conductor 特有变量(如 Conductor 端口)的使用说明
|
||
设计最佳实践
|
||
|
||
注意:CLAUDE.md 是 AI 自己生成的,Josh 只是告诉它"这是一个大致的模板框架,请为这个项目填充具体内容"。
|
||
|
||
|
||
五、"But Seriously" 技能:施压让 AI 承认错误
|
||
|
||
5.1 灵感来源
|
||
|
||
Josh 发现,当开发者对 AI 足够强硬时,AI 会更认真地重新审视自己的输出。
|
||
|
||
5.2 具体操作
|
||
|
||
在工作树完成构建后,运行一个名为 "But Seriously" 的技能:
|
||
|
||
技能内容本质上是:
|
||
"你几乎肯定搞砸了一些东西,回去重新检查一遍。"
|
||
|
||
5.3 效果
|
||
|
||
每次运行都会发现 3~5 个额外的 bug
|
||
与 GPT-4.5 的对抗性审查是独立的流程,两者叠加效果更好
|
||
|
||
5.4 如何迭代技能
|
||
|
||
Josh 使用自己的 Mac 应用 Chops(开源)来管理技能文件。Chops 内置了 AI 迭代功能,可以:
|
||
打开 Chops
|
||
给 AI 一些指导(如"再刻薄一点")
|
||
AI 会自动更新整个技能文件
|
||
|
||
5.5 Josh 的态度
|
||
|
||
"我平时对人很好,但如果 AI 一直出问题,我就会到达一个临界点,然后开始在输入框里打全大写字母。"
|
||
|
||
|
||
六、甩掉 Landing Page:直接发布 MVP
|
||
|
||
6.1 Josh 的反传统观点
|
||
|
||
Josh 反对用静态页面收集邮箱来验证需求的传统做法:
|
||
|
||
"先花几个月做东西再发布给别人用,我觉得这是非常糟糕的想法。"
|
||
|
||
他认为:
|
||
静态页面是"逃避发布的干扰项"
|
||
AI 时代构建成本已大幅降低
|
||
应该在 24 小时甚至同一天内发布可运行的产品
|
||
|
||
6.2 真实案例
|
||
|
||
Rumored:周五发布
|
||
Proxyuser:今天发布
|
||
医疗工具:一个月内完成
|
||
|
||
6.3 验证的唯一标准
|
||
|
||
"只有真实用户的反馈和付费意愿,才能定义产品是否值得继续投入。"
|
||
|
||
|
||
七、工具栈详解
|
||
|
||
7.1 Conductor(主要开发环境)
|
||
|
||
Josh 选择 Conductor 而非 Cursor 或 Copilot 的原因:
|
||
|
||
| 功能 | 说明 |
|
||
|------|------|
|
||
| 模型切换 | 可以随时切换不同 AI 模型 |
|
||
| 工作树管理 | 自动处理每个工作树的 setup 命令 |
|
||
| 自动化设置 | 创建唯一端口、复制环境变量、设置进程 |
|
||
| 并行能力 | 可以同时运行 10 个工作树,在不同浏览器中分别打开 |
|
||
|
||
Conductor 的 setup 命令自动执行的内容:
|
||
为每个工作树分配唯一端口
|
||
复制正确的环境变量
|
||
设置不同的进程
|
||
|
||
7.2 多模型协同
|
||
|
||
| 模型 | 用途 |
|
||
|------|------|
|
||
| Claude Opus | 主要工作:规划、初稿、bulk of everything |
|
||
| GPT-4.5 | 对抗性审查:发现 Opus 遗漏的 bug |
|
||
| Context7(可能) | 文档搜索,辅助实施阶段 |
|
||
|
||
7.3 Chops(技能管理)
|
||
|
||
开源 Mac 应用
|
||
用于管理 AI 技能文件(skills)
|
||
内置 AI 迭代功能,可以快速优化技能内容
|
||
|
||
|
||
八、设计的 AI 工作流
|
||
|
||
8.1 Logo 和品牌设计
|
||
|
||
工具:Adobe Illustrator
|
||
流程:Josh 亲自用钢笔工具、测试 100 种不同字体来设计
|
||
原因:目前还没有找到好的 AI 替代方案
|
||
|
||
8.2 配色和字体选择
|
||
|
||
这部分可以用 AI 辅助:
|
||
测试不同字体(特别关注引号样式,因为 Rumored 的概念是"LLM 错误引用")
|
||
尝试不同配色方案(浅色/深色/黑白)
|
||
生成不同场景的预览图(头像、按钮等)
|
||
|
||
8.3 设计系统
|
||
|
||
设计完成后,将颜色、字体等信息传给 AI,确保后续开发保持一致性。
|
||
|
||
|
||
九、GitHub 集成:接收功能请求
|
||
|
||
Josh 的开源项目(如 Clear)在 GitHub 上有很多功能请求。
|
||
|
||
工作流程:
|
||
Conductor 集成 GitHub
|
||
查看功能请求列表(如"给 Mermaid 图添加缩放功能")
|
||
附加请求到对应项目
|
||
AI 自动:
|
||
- 拉取 GitHub 信息
|
||
- 进行网络搜索
|
||
- 分析竞品实现
|
||
- 生成实施计划
|
||
Josh 审核并批准
|
||
|
||
|
||
十、ADHD 与一人多产品的平衡
|
||
|
||
10.1 Josh 的自我认知
|
||
|
||
"我就像教科书式的 ADHD患者,我的大脑本来就是在不同事物之间乒乓跳跃,已经持续了 25 年。"
|
||
|
||
10.2 正面影响
|
||
|
||
可以"喂养更多的 beast"
|
||
比以前更充实
|
||
能够同时追踪多个产品的进展
|
||
不会因为只做一个产品而感到无聊
|
||
|
||
10.3 负面影响
|
||
|
||
有些日子会因为大量上下文切换而非常疲惫
|
||
分散注意力风险
|
||
|
||
10.4 Josh 的选择
|
||
|
||
"从商业成功的角度,专注肯定更好。但我发现自己受到限制,因为我总是需要学习新东西。"
|
||
|
||
他认为:
|
||
长期只做一个产品(7 年的 Baremetrics)让他精疲力竭
|
||
多产品模式虽然不是最优商业策略,但让他更快乐
|
||
|
||
|
||
十一、关键经验总结
|
||
|
||
开发流程
|
||
|
||
研究阶段:生成技术调研文档
|
||
规划阶段:拆分为可测试的小阶段(每个阶段一个 PR)
|
||
实施阶段:在独立工作树中执行,配合深度研究和自动测试
|
||
|
||
质量保障
|
||
|
||
Opus 做初稿 → GPT-4.5 对抗性审查 → "But Seriously" 施压检查
|
||
每个阶段完成后运行 Learnings Skill:更新 CLAUDE.md,防止重复犯错
|
||
|
||
心态和原则
|
||
|
||
24 小时内发布真实产品:不要用 landing page 逃避
|
||
用真实用户反馈验证:付费意愿是唯一标准
|
||
工作树即存档点:便于回滚,减少上下文腐化
|
||
|
||
|
||
十二、开源资源
|
||
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| Learnings Skill | 自动分析错误、更新 CLAUDE.md |
|
||
| "But Seriously" Skill | 施压让 AI 重新检查 |
|
||
| Chops | Mac 应用,管理技能文件 |
|
||
| 各种 Build Skills | 研究、规划、实施阶段的指令集 |
|
||
|
||
Josh 表示他的所有个人技能都已开源,可以在他的 GitHub 上找到。
|
||
|
||
|
||
十三、观众补充(来自评论区反馈)
|
||
|
||
(如有有价值的补充会在这里列出)
|
||
|
||
|
||
附:视频中的赞助商信息
|
||
|
||
WhisperFlow:语音转文字 AI 应用,比打字快很多,可以去除填充词、自动格式化句子,适用于 Mac/Windows/iPhone/Android,地址:whisperflow.co,使用码 Peter 可获得 6 个月免费
|
||
|
||
──────────────────────────────
|
||
Generated by MilkyAi@Bilibili: https://space.bilibili.com/3461574540921489 |