Add Milky note: [Milky] 为您整理《一人公司案例:开发5个APP 用到的AI技能》笔记 | BV1qiE56SE4c
This commit is contained in:
343
InBox/milky_milky_2636.md
Normal file
343
InBox/milky_milky_2636.md
Normal file
@@ -0,0 +1,343 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user