ESC
↑↓ 选择↵ 打开esc 关闭⌘K 唤起
← 返回速读报告 回声编辑部 · NO.49 · 全文

The Exact AI Skills This Solo Founder Uses to Build 5 Apps at Once | Josh Pigford

频道: Peter Yang
视频: https://www.youtube.com/watch?v=GdxLaeyu33c
原文语言: en
统计: 共 141 轮 · Josh Pigford 71 · Peter Yang 70


[0:00] Josh Pigford

It's terrifying launching something. I've been doing it for 25 years, launched hundreds of different products, and like every single time it's just like, "God, like what if zero people care?" I'm like textbook ADHD. Now I can just sort of like feed the beast a little bit more. I use Opus for the bulk of everything. I'll then do a review pass using GPT 3.5, and it invariably finds three to five bugs that Opus overlooked. And then I'll run But for Real, and that But for Real skill is basically like kind of bullies the AI, the LLM into like, "You almost certainly screwed some stuff up."

发布一个东西真的挺吓人的。我干这行已经 25 年了,推出过几百款产品,可每一次都还是那种感觉——"天呐,万一根本没人在乎怎么办?"我就是教科书级别的 ADHD。现在我能往这台"野兽"里多喂点料了。大部分活儿我都用 Opus 来干。然后我会再用 GPT 3.5 过一遍审查,它每次都能揪出三到五个 Opus 漏掉的 bug。接着我会跑一个叫 But for Real 的东西,这个 But for Real 技能基本上就是"逼"着 AI、逼着 LLM 承认"你几乎可以肯定搞砸了一些地方"。


[0:33] Peter Yang

How long do you work on it before you put it out there?

你一般做多久才会把它放出去?


[0:35] Josh Pigford

There's been stuff where I've launched within 24 hours, or even like same day. The idea of like spending months working on something before you put it out for other people to use, I think that's a real bad idea.

有些东西我 24 小时之内就上线了,甚至当天就发出去。那种花上好几个月去打磨一个东西、然后才拿给别人用的做法,我觉得是个很糟糕的主意。


[0:47] Peter Yang

Hey everyone, I'm really excited today to chat with Josh who sold his last startup Baremetrics for 4 million, and is now building at least five AI products in parallel. Josh is going to show us exactly how he builds with AI as a solo founder. So, welcome, sir.

嘿,大家好,我今天特别期待跟 Josh 聊聊。他上一家创业公司 Baremetrics 以 400 万美元卖掉了,现在同时在做至少五款 AI 产品。Josh 今天会给我们完整演示,作为一名独立创业者,他是怎么用 AI 来做产品的。欢迎你,老兄。


[1:00] Josh Pigford

Hey, thanks for having me, Peter.

嘿,谢谢你请我来,Peter。


[1:02] Peter Yang

All right, Josh. So, maybe to start, can you give us a super quick tour of some of the products that you're working on right now?

好的,Josh。要不先从这个开始:你能不能超快地带我们逛一圈,看看你现在手头在做的几款产品?


[1:07] Josh Pigford

So, today, I actually launched this. It's called Proxy User. So, this is sort of like synthetic users that use actual browsers to QA your apps. So, gives you a screen recording of it functioning or breaking, so you can fix stuff pretty quick.

我今天刚上线了这个,叫 Proxy User。它有点像合成用户(synthetic users),会用真实的浏览器去给你的应用做 QA 测试。它会给你一段屏幕录像,记录应用是正常运转还是出了问题,这样你就能很快把问题修掉。


[1:23] Peter Yang

Nice.

不错。


[1:24] Josh Pigford

Last one, Friday, launched Rumored, which is, you know, everybody's sort of familiar with LLMs hallucinating. This catches them hallucinating about your brand, and so you can go and fix that. So, that that could mean updates to copy on your website. It could mean publishing certain blog posts. It could be adding like schema code to your site. So, it monitors this stuff constantly and gives you updates about when you need to fix stuff. Let's see, replies, social This was I launched this earlier in the year. So, you know, I I happen to get a decent amount of uh uh of replies and uh mentions of all the different products that I've mentioned that I build, but it's hard to stay on top of that stuff. Uh so this puts it all in one place. So this is like a health thing here. So I built this last month or so like so my mom was recently diagnosed with stage four pancreatic cancer, um which is pretty terrible, but there's just already like massive amounts of medical stuff to sift through. Every single day there's some new thing. So you know, I had initially thought like let me dump all this stuff in like Claude code, but then it's like well how do I give my parents access to that? And then like, you know, grandparents and who who want to keep up to date or like my mom's siblings like that kind of stuff. So built this uh tool to keep everybody up to date. You can um you know, chat with all the different medical documents.

上一个是周五上线的,叫 Rumored。大家应该都知道 LLM 会"幻觉"嘛,这个工具专门抓它们对你的品牌产生的幻觉,这样你就能去把它修正过来。修正的方式可能是更新你网站上的文案,可能是发布某些博客文章,也可能是给你的网站加上 schema 代码。它会持续监控这些东西,需要修的时候就提醒你。再看看,这个叫 replies、social——这是我今年早些时候上线的。我做的这些产品多多少少都会收到一些回复和提及,但要盯住这些信息挺难的,所以这个工具把它们全都汇总到一个地方。再看这个,是个跟健康相关的东西,大概上个月做的。我妈妈最近被诊断出胰腺癌四期,挺糟心的,但一下子就有海量的医疗信息要去消化,每天都有新东西冒出来。我一开始想的是,干脆把这些全都丢进 Claude Code 里。但接着问题来了——我怎么让我爸妈也能用上?还有想随时了解情况的爷爷奶奶、外公外婆,以及我妈的兄弟姐妹之类的人。所以我做了这个工具,让所有人都能及时同步进展。你可以跟所有这些医疗文档对话。


[2:45] Peter Yang

Yeah, there's a big big need for for sure. My parents have the same problem like I need to track all their doctor notes and stuff. Nice.

嗯,这个需求确实很大。我爸妈也有同样的问题,我得帮他们追踪所有的医嘱记录之类的东西。挺好的。


[2:51] Peter Yang

All right, dude. So so let me ask you the the question on people's heads then. How do you work on all these products at the same time? And I guess like do you feel like your attention's distracted from all these products or like it's just the way it is now with age? It's you just kind of work on all this stuff at the same time.

好嘞老兄。那我就替大家问出心里那个问题:你是怎么同时做这么多产品的?我猜你会不会觉得注意力被这么多产品分散了?还是说到了这个年纪就这样了,你就是会同时鼓捣这一堆东西。


[3:04] Josh Pigford

I'm like uh textbook ADHD. Like so my brain naturally already is just ping-ponging all over the place. Like just it all and and always has. Now I can just sort of like feed the beast a little bit more, which is pros and cons to that, but I think for me, you know, it depends on the day. Like some days I I can feel myself a lot of days like I'm more mentally exhausted because I'm context switching a lot, but at the same time I find myself also simultaneously maybe more fulfilled. Like so like you mentioned Baremetrics at the beginning here. So like that was a business analytics company I built over the course of seven years, I think. So I was essentially working on one thing for seven years. And I was just done. Like I was tired of working on one thing for seven years. And um and so it's like my I already I just have so many different interests and like I'm desperate to constantly learn new things and I find myself limited if I have to sort of like focus on one thing. Now, is that the best business move? I don't know. There's There's an argument that no, it's a terrible idea. Um you know, if you want to grow something to be as profitable as possible, okay, you know, you should focus. Whatever. From like a defining success perspective, I I find much more fulfillment in in sort of having my hand in a lot of different things.

我就是教科书级别的 ADHD。我的大脑天生就在到处乱蹦,一直都这样。现在我能多喂这台"野兽"一点料了,这有利也有弊。对我来说要看是哪一天吧,有些日子我能感觉到自己更累,因为切换上下文切得太频繁了,但与此同时我又觉得自己反而更有成就感。你开头提到了 Baremetrics——那是我花了大概七年时间做起来的一家商业分析公司,所以我基本上是连着七年都在搞同一件事。我就是受够了,厌倦了连续七年只做一件事。我的兴趣本来就特别多,我特别渴望不停地学新东西,如果非要我聚焦在一件事上,我就会觉得自己被束缚住了。这是不是最佳的商业决策?我不知道。也有种说法是不,这是个糟糕透顶的主意。如果你想把一个东西做到尽可能赚钱,那好,你确实应该聚焦,随你怎么说。但从我对成功的定义来看,手里同时握着很多不同的事情,反而让我更有满足感。


[4:20] Peter Yang

Yeah, we talked about uh we talked about how like a typical a great day for both of us is just like, you know, working in a garden and also working at the agency. It's kind of It's kind of similar, right? Like in the garden, you're trying to grow like multiple plants. And then here, you're trying to grow multiple products, you know.

对,我们之前聊过,对我俩来说,理想中的美好一天就是一边在花园里干活,一边在自己的事务所(agency)里忙活。这俩其实挺像的,对吧?在花园里你是在养一堆植物,而在这边,你是在养一堆产品。


[4:34] Josh Pigford

That's exactly it. Yep.

就是这么回事,没错。


[4:36] Peter Yang

Yeah. Yeah, so I would love for you to show us how you kind of build these features end to end using conductor or these other tools.

嗯,那我特别想请你给我们演示一下,你是怎么用 conductor 或者其他这些工具,把这些功能从头到尾做出来的。


[4:44] Peter Yang

This episode is brought to you by WhisperFlow. WhisperFlow saves me at least 3 hours a week and is one of my favorite AI apps by far. It's just so much faster to dictate to AI using your voice than to type. You just talk naturally and it outputs clean, ready to send text. WhisperFlow even removes filler words and formats your sentences for you. I use WhisperFlow for everything including drafting newsletter posts, writing product specs, replying on Slack, and more. It works on Mac, Windows, iPhone, and Android across all of your favorite apps. Try it free at whisperflow.com and use my code Peter WhisperFlow to get 6 months free. That's Peter WhisperFlow. Now, back to our episode.

本期节目由 WhisperFlow 赞助。WhisperFlow 每周至少帮我省下 3 个小时,是我目前最喜欢的 AI 应用之一。用语音对 AI 口述,比打字快太多了。你只要自然地说话,它就能输出干净、可以直接发送的文字。WhisperFlow 甚至会帮你删掉口头语、自动给句子排好版。我什么都用 WhisperFlow,包括起草新闻通讯、写产品需求文档、在 Slack 上回复消息等等。它支持 Mac、Windows、iPhone 和安卓,能在你所有常用的应用里使用。去 whisperflow.com 免费试用,用我的优惠码 Peter WhisperFlow 可以免费用 6 个月,记住是 Peter WhisperFlow。好,我们回到节目。


[5:22] Josh Pigford

Sure, absolutely. So, um we'll kind of go in reverse here. So, I have this build skill, which is an it's open source. It's like a GitHub um that has these that you can see kind of here. It's prob- probably pretty small on the screen, but um these like research phases, planning, implementation. And what what those do is um they've each got different sort of sets of instructions. So, when you first build like in this case I was like, "Okay, I want to build this Botblock implementation into Reply Social." Um and what the output of that initial thing was a research document. So, this went and took my previous code base that I'd already built out for the now defunct Botblock product. Uh used that and then kind of like also merged that in with the Reply Social code base and did a bunch of research over you know, sort of high-level technical stuff, different API calls you might need, pros and cons, what you could ignore from the original sort of Chrome extension, what needed to be brought over, how those systems would would interact, but it's high-level. So, that's what gets generated first is just a research document. From there, I run an implementation command from that build skill.

当然,没问题。我们倒着来讲吧。我有一个 build 技能(build skill),是开源的,放在 GitHub 上,大概就是你这里看到的这些东西。屏幕上可能显示得有点小,但它有这些阶段——研究、规划、实现。它们各自带着不同的指令集。比如你第一次开始构建时,拿这次来说,我当时是"好,我想把这个 Botblock 的功能集成进 Reply Social"。那一步最初产出的是一份研究文档。它会去翻我之前为现在已经停掉的 Botblock 产品写好的代码库,用上那部分,然后再把它跟 Reply Social 的代码库合并到一起,围绕一堆高层面的技术问题做研究——你可能需要的各种 API 调用、各自的利弊、原来那个 Chrome 扩展里哪些可以忽略、哪些需要迁移过来、这些系统之间会怎么交互——但都是高层面的。所以最先生成的就是这么一份研究文档。从这里开始,我就从那个 build 技能里跑一个实现(implementation)命令。


[6:33] Peter Yang

Mhm.

嗯。


[6:33] Josh Pigford

And that gets into like narrows into uh different phases. So, it creates in this case there's a there's four different phases that it's going to implement this in. These are going to be four different pull requests, four separate branches essentially in in Git, so that it's not trying to do all of this in one massive pass. It's doing them in these sort of contained chunks that I can um that I can verify.

然后它会逐步细化成不同的阶段。拿这次来说,它会分成四个不同的阶段来实现。这四个阶段会变成四个 pull request,本质上是 Git 里四条独立的分支,这样它就不会试图在一次大动作里把所有事情全做完,而是分成这些相对独立、我可以逐个验证的小块来做。


[6:56] Peter Yang

Yeah.

嗯。


[6:56] Josh Pigford

Yeah, so and and the way that I have that um that build skill set up is I've I've told it to make phases that are that are user testable. So, um sometimes like these these implementation docs will have 30-plus different phases because I want to at each step I need to I need to personally be able to test it out. So, you know, I have stuff in place here to like as part of its build process, it will open up a browser, it'll do some testing itself, but like I at the end of the day need to to be sort of like the final uh

对,我把那个 build 技能设置成这样:我告诉它,拆出来的每个阶段都必须是用户可测试的。所以有时候这些实现文档会有 30 多个不同的阶段,因为我希望在每一步、每个节点,我自己都能亲手测一测。我在这里也安排了一些机制,作为它构建流程的一部分,它会打开浏览器、自己做一些测试,但归根结底,最后那一关还得是我来——


[7:28] Peter Yang

To play with it. Yeah.

得你自己上手玩玩,对。


[7:29] Josh Pigford

Yeah, I need to just I need to feel right or like, "Oh, this is a really slow. Like this loads really slow. Like we're missing something here or this doesn't work the way that I pictured it." Whatever. Um

对,我得自己感受一下对不对劲,比如"哦,这个加载真的好慢,这里是不是漏了点什么",或者"这个跟我设想的不一样"之类的。


[7:38] Peter Yang

And as part of your process, do you review these do you you read through these documents or was saying?

那在你的流程里,你会去审查……你会把这些文档通读一遍吗,还是说?


[7:42] Peter Yang

You don't have to read through the whole thing.

倒也不用整篇都读完吧。


[7:43] Josh Pigford

Yeah, so I will I'll do like a quick scan.

对,我会快速扫一遍。


[7:46] Peter Yang

Um, okay.

嗯,好。


[7:47] Josh Pigford

Till I make sure that it's especially not so much these tasks that it generates, but like uh the objectives. And like it's there's another step here that actually doesn't get saved in a document, but so like if I want to work on phase one here, I would write like build phase one bot block. So that says build phase one from this implementation document uh from the bot block sort of project. So like I have these other ones which was like uh adding Facebook support, adding Reddit support, uh adding this like marketing tools thing. These are like self separate self-contained things. So what phase what saying to build the phases is to like okay, take this phase chunk from implementation and now do even deeper research. So this is like go do web searching. So this is, you know, to check like competitor stuff, like who else has this feature, how have they implemented it? Do searching for like uh latest [snorts] documentation. So this might be using context seven for that. Then um this also has uses that UI.sh skill. So this is like do a design pass, like what needs to be accounted for here as far as like colors and components and all that kind of stuff. So it's incredibly in-depth. Yeah. So then that's what that's what does the actual building is this like build phase. And um the byproduct of that is after each step is done, it updates the progress file that includes all the stuff that was done in that phase. It includes these decisions made. So you know, I'll go back and forth. These aren't like a one-shot thing. Like I'll have to iterate as I'm going and it will take these like oh, here's things that the system learned as it was going and it adds that to the progress file.

扫到我能确认——重点倒不是它生成的那些具体任务,而是那些目标(objectives)。这里还有另一步,它其实不会存成文档,但比如说我想做这里的第一阶段,我就会写"build phase one bot block",意思就是从 Botblock 这个项目的这份实现文档里,构建第一阶段。我还有另外几个,比如"加 Facebook 支持""加 Reddit 支持""加这个营销工具",这些都是各自独立、自成一体的东西。所以让它去构建某个阶段时,其实是让它"好,把实现文档里的这一阶段块拿出来,现在做更深一层的研究"。也就是去做网络搜索,比如查竞品的情况——还有谁有这个功能、他们是怎么实现的;去搜最新的文档,这时候可能会用到 Context7。它还会用到那个 UI.sh 技能,也就是做一遍设计上的梳理——配色、组件之类的东西这里都得考虑进去。所以它做得极其深入。然后,真正干构建活儿的就是这个"build phase"。它的一个附带产物是:每完成一步,它就会更新进度文件(progress file),把那一阶段做过的所有事情都记进去,也包括做过的这些决策。我会来来回回地折腾——这些可不是一次成型的,我得边做边迭代,它会把"哦,系统在过程中学到了这些东西"记下来,加进进度文件里。


[9:29] Peter Yang

And the reason for the progress file is so that it can have like not make the same mistakes and it can refer to this.

搞这个进度文件的原因,就是为了让它不要重复犯同样的错,还能随时回头参考它,对吧?


[9:32] Josh Pigford

So not make the same same mistakes, but also like each one of these so after I did phase one, I would need to do phase two, I'm opening up a new work tree that it doesn't have any other context. Like it doesn't know what was done. And so this lets it reference future phases reference the past phases to know where it's at in the whole implementation plan.

一方面是不要重复犯同样的错,但另一方面也是因为——比如我做完第一阶段后要做第二阶段,这时我会开一棵新的工作树(work tree),它手里没有任何别的上下文,根本不知道之前做过什么。所以这个进度文件能让它去参考——让后面的阶段去参考前面的阶段,从而搞清楚自己在整个实现计划里走到哪一步了。


[9:53] Peter Yang

Okay, got it. So basically okay, so just to summarize, research is kind of like yeah research and then and then implementation is basically kind of like a spec, like a product technical spec. And then you always have like three or four phases. What what's the reason to start a new work tree per phase? Like it's just to save the tokens or

好,明白了。那我大概总结一下:先是 research,也就是做调研,然后 implementation 基本上就是写一份 spec,类似产品技术规格说明书。接着你每次都会分成三到四个阶段。为什么每个阶段都要新开一个 work tree?是为了省 token,还是……


[10:08] Josh Pigford

What was the reason? No, it's So like I think of a work tree as a as a shippable thing. Like something I'm going to push to production or yeah, there's lots of different sort of use cases there. But like for me, it needs to be self-contained because yes, in part because of context, but a lot of this is also like rolling back. So like if I screw up a bunch of stuff, it gives me checkpoints that I can roll back to.

为什么这么做?不是的。我是把一个 work tree 当成一个可以直接交付的东西——比如我要推到生产环境的某个功能,当然这里面有很多不同的用法。但对我来说,它必须是自成一体的,一部分原因确实是 context,但更大一部分是为了能回滚。比如我要是把一堆东西搞砸了,它能给我一些 checkpoint,让我能回退到之前的状态。


[10:34] Peter Yang

Oh, I see.

哦,我懂了。


[10:35] Josh Pigford

Um so it's like save points essentially. But yeah, each time it's like fresh so that there's not yeah, context rot. It hallucinates a lot less. Um

嗯,本质上就像是存档点。而且每次都是全新的 context,这样就不会有 context rot(上下文腐化),它幻觉也会少很多。嗯。


[10:44] Peter Yang

Got it. So so each phase is kind of like a PR that then you you play test, I guess. Yeah?

明白了。所以每个阶段差不多就是一个 PR,然后你再去试用、跑一遍,对吧?


[10:50] Josh Pigford

Absolutely. Each one is is 100% a PR. Yeah, so like I'll I'll So my process here is I use I use Opus for the bulk of everything. It does all the planning. It does the first pass on everything. And then after it's built out the code in that work tree, I'll then do a review pass using GPT 5.5. So it does a sort of like adversarial review of everything in the work tree. And it invariably finds, you know, three to five bugs that Opus overlooked. And then after that, yeah, it gets merged in.

完全正确。每一个百分之百都是一个 PR。我的流程是这样的:大部分工作我都用 Opus,所有的规划它来做,每件事的第一版也是它先出。等它在那个 work tree 里把代码写完,我会再用 GPT 5.5 做一轮 review。它会对 work tree 里的所有东西做一种对抗式的审查,每次都能找出三到五个 Opus 漏掉的 bug。然后这一轮过完,就 merge 进去。


[11:22] Peter Yang

Also, you have a you have another scale or is that part of your build scale too? Like is that part of your build scale or yeah?

那个,你是另外有一套体系,还是它也是你那套 build 流程的一部分?我是说,这是属于你 build 流程的一环,还是……?


[11:28] Josh Pigford

inside Conductor, but it'll show like a little review button and you can set a review model. So, there's a default model. Yeah, so then you can pick however whatever you want. This is what I found works best for me.

这是在 Conductor 里面,它会显示一个小小的 review 按钮,你可以设定一个 review 用的模型。它有一个默认模型,然后你想用哪个都行,可以自己挑。这个组合是我试下来对我最好用的。


[11:45] Peter Yang

Okay.

好。


[11:46] Josh Pigford

And so, that's that's very much part of the process is like big first pass by Opus, have GPT basically find all the gaps that were missed, and then yeah, push it into a a pull request.

所以这一步很关键:先让 Opus 出一个大的第一版,再让 GPT 把所有漏掉的缺口找出来,然后才把它推成一个 pull request。


[11:58] Peter Yang

Yeah, I I was going to ask you why you're using conductor because, you know, Codex and Claude are both pretty good now, but but I guess like it has these features, right? You can switch between models.

对,我本来想问你为什么用 Conductor,因为你知道现在 Codex 和 Claude 都已经挺不错了,但我猜是因为它有这些功能吧?你可以在不同模型之间切换。


[12:06] Josh Pigford

I can switch a lot. Yeah, and the the like automated work tree management stuff. So, every one of these each time I open a work tree, it's running a set up command that goes creates like it's got a unique port, so I can be running 10 of these at the same time and open them all separately in different browsers. It's copying over environment variables, you know, depending on iOS stuff, it's setting up different processes. Like, there's just a bunch of setup stuff that happens automatically that's really convenient.

我可以切换很多东西。对,还有那个自动化的 work tree 管理。每次我打开一个 work tree,它都会跑一段 setup 命令,会分配一个独立的端口,所以我可以同时跑十个,分别在不同的浏览器里打开。它会帮你把环境变量复制过去,根据 iOS 那些情况,它还会起不同的进程。就是有一堆 setup 的活儿都自动做好了,非常省事。


[12:32] Peter Yang

And you pretty much use this build process the planning process for like every every feature that you build or

那你基本上每做一个功能,都会走这套 build 流程、这套规划流程吗?还是……


[12:38] Josh Pigford

Yes. So, the that's like anytime there's a new if it's just so like take clearly for instance, um we can I'll show you kind of how interesting thing there. So, clearly is open source, so there's tons of feature requests that people put into GitHub. So, there's a GitHub integration here, so I can see things that people have requested. So, then what I can what I'll do here is I have for sort of one-off things. So, here somebody wants a zoom feature on these like mermaid diagrams. So, what I'll do is I'll just attach it here, and then I have a research skill that basically kind of pulled out something from like my overall build skill, but like pulls in the GitHub stuff, goes and does a bunch of web search, UI stuff, document searching, and then I basically just have it Yeah, it starts researching this stuff and like decides how to integrate it and build it out. It'll give me a plan and then I'll approve it and

对。只要有新东西要做就走这套。我拿 Clearly 给你举个例子,里面有个挺有意思的点。Clearly 是开源的,所以有一大堆用户在 GitHub 上提的功能请求。这里接了 GitHub 集成,我能看到大家提的各种需求。对于那种零散的小需求,我的做法是这样:比如这里有人想要给这些 mermaid 图加一个缩放功能,我就把它附上来,然后我有一个 research skill——它其实是从我那套总的 build skill 里抽出来的一部分,但会把 GitHub 的信息拉进来,去做一堆网络搜索、看 UI、查文档,然后我基本上就让它开始研究这些东西,它自己决定怎么集成、怎么做出来。它会给我一个方案,我批准之后……


[13:31] Peter Yang

When you say it look at like sometimes look at how competitors do it, it would like go browse the website I guess.

你说它有时候会去看竞品是怎么做的——我猜它是会去浏览人家的网站吧。


[13:36] Josh Pigford

It's doing like actual web searching. Yeah, and then it'll browse, read it, sometimes take screenshots if like it just determines as necessary.

它是真的在做网络搜索。对,然后它会去浏览、阅读,如果它判断有必要,有时候还会截图。


[13:44] Peter Yang

I actually did something pretty similar like cuz Substack right now doesn't have a API. It's like pretty backwards. So to implement like off on my website, Substack off, I had to like go research how other people do it and then like Codex figured it out.

我其实做过特别类似的事。因为 Substack 现在没有 API,挺落后的。所以我要在自己网站上接入 Substack 登录的时候,只能去研究别人是怎么做的,然后 Codex 就把它给搞定了。


[13:59] Josh Pigford

[laughter]

[笑]


[13:59] Josh Pigford

Yeah. Yeah, it's pretty crazy.

对啊,确实挺夸张的。


[14:01] Peter Yang

Yeah. And your build skills are open source you said? So it's on GitHub?

对。你说你的 build skill 是开源的?所以放在 GitHub 上?


[14:04] Josh Pigford

Everything is. Yeah, all any skills that I've like personally put together are all bundled. There's there's probably a dozen of them.

全都开源。对,所有我自己攒的 skill 都打包在一起了,估计有十来个吧。


[14:11] Peter Yang

Do you have like some sort of a Well, I guess I'm not using you know cloud code, but like I was going to ask you like do you have some sort of a cloud.md or agents.md where it's like a list of best practices like you know, always write tests or like something like that?

你有没有那种……嗯,我虽然没在用 Claude Code,但我想问你,你有没有一个类似 CLAUDE.md 或者 AGENTS.md 的文件,里面列着一堆最佳实践,比如「永远要写测试」之类的东西?


[14:23] Josh Pigford

Yes, but like it's very I'm happy to show it. It's it's super rails focused cuz that tends my stack is like rails plus inertia and postgress.

有,不过它非常……我很乐意给你看。它是高度围绕 Rails 来写的,因为我的技术栈基本就是 Rails 加 Inertia 加 PostgreSQL。


[14:31] Peter Yang

Okay. Got it.

好,明白了。


[14:33] Josh Pigford

But it is very rails focused and it covers a lot of like best practices on rails, but also like how I like to do testing which is like I use agent browser to open things up and then like it specifically mentions conductor has some variables like conductor ports that are unique and so it needs to mention that kind of stuff. Like it's just like stuff I've picked up over the years.

它确实非常偏 Rails,涵盖了大量 Rails 上的最佳实践,但也包括我喜欢的测试方式——比如我会用 agent browser 把页面打开。它还特别提到 Conductor 有一些独有的变量,比如每个 work tree 独有的 Conductor 端口,所以得把这类东西写进去。基本上都是我这些年攒下来的经验。


[14:52] Peter Yang

Do you mind do you mind showing it for for just a just a second? Yeah.

你介不介意给我看一眼?就一小会儿。


[14:55] Josh Pigford

Every So as part of like my project setup process, I get it to create a unique cloud file, but like from the same general template. So it's give some context about what the product is so it just knows what it's talking about like what the actual product is.

每个项目……作为我项目初始化流程的一部分,我会让它生成一个独有的 CLAUDE 文件,但都是基于同一个通用模板。所以它会先给一些关于这个产品的背景,让它清楚自己在讲的是什么、实际产品到底是什么。


[15:13] Peter Yang

User personas. Yeah.

用户画像,对吧。


[15:15] Josh Pigford

Yeah, basically just like how to speak in marketing, that kind of thing. In this case, so this is like a mono repo that's got a a web app and an iOS app. So, basically gives direction up front of like where things are. So, that's important.

对,基本上就是该怎么用营销的口吻去表达、诸如此类的东西。这个例子里,它是一个 mono repo,包含一个 Web 应用和一个 iOS 应用。所以它会一上来就交代清楚各个东西放在哪儿,这点很重要。


[15:28] Peter Yang

Okay.

好。


[15:28] Josh Pigford

Um different commands that it will need access to. So, it'll have a tendency to want to use certain commands that it thinks are like typical for a given app. Uh for or for given like framework or framework or something like that. So, this clarifies what to use and when to use it, how to run different tests.

嗯,还有它需要调用的各种命令。它会倾向于去用一些它觉得对某个 app 来说比较典型的命令,比如对某个框架来说常见的那种。所以这部分就是讲清楚该用什么、什么时候用、怎么跑各种测试。


[15:47] Peter Yang

And this is not stuff that you manually type down, right? This is like stuff that you

这些不是你手动一条条敲进去的,对吧?这些是那种……


[15:49] Josh Pigford

No, no, this is generated itself. But I it's like told to like here are the big Here's the shape of the document. Fill it out for me.

不不,这是它自己生成的。我只是告诉它:这是文档的大框架、大致的形状,你帮我把它填满。


[15:57] Peter Yang

Okay.

好的。


[15:58] Josh Pigford

yeah, basically how to do things. Um mentioning the

对,基本上就是教它怎么做事。嗯,还会提到……


[16:00] Peter Yang

that So, it's actually pretty long. Yeah.

这……其实还挺长的。是吧。


[16:02] Josh Pigford

Yeah, it is pretty long. Um and a lot of it's like So, I keep mentioning new skills here. So, what I'll do a lot of times is I have a separate learnings skill. And so, it takes the current work tree after I've gone through it all, like done shipped that phase, I'll run this learnings skill, and it basically says like look at all the stuff that was done in this work tree, look at our conversations, like our actual sessions, the stuff that I had to sit there and like tell you over and over and over like no, that didn't work. No, that didn't work. Try this. That didn't work.

对,是挺长的。嗯,里面很多内容都是……我这里一直在提新的 skill。我经常会单独搞一个「learnings」(学习)skill。它会在我把当前这个工作树(work tree)全部跑完、把这一阶段的东西都交付(ship)之后,去看这棵工作树里做过的所有事情,去看我们的对话、我们实际的那些 session,看那些我得坐在那儿一遍又一遍跟你讲『不行,这样不行』『不行,这也不行』『试试这个』『还是不行』的地方。


[16:32] Peter Yang

Yeah.

嗯。


[16:32] Josh Pigford

And if it basically says review all this stuff and distill it into anything that we might could add to the Claude file so that you don't keep making these same mistakes. Uh

然后它基本上就是:把这些东西全部复盘一遍,提炼出任何可以加进 Claude 文件里的东西,这样你以后就不会再犯同样的错。嗯……


[16:40] Peter Yang

Oh, that that's very smart. Yeah. That

哦,这个……这个很聪明啊。对,这……


[16:42] Josh Pigford

Yeah, so the Claude file is constantly getting updated.

对,所以这个 Claude 文件是在不断被更新的。


[16:44] Peter Yang

And is this learning Is learning skill open source, too? Or or or I guess people would just use it. Yeah.

那这个 learning……这个 learning skill 也是开源的吗?还是说……我猜大家直接拿来用就行了?对。


[16:48] Josh Pigford

It is. Um and also, there's another major one that I This is again a sort of like the adversarial like method here, but I have a but for real skill that I run. So, like I'll it'll do the plan, uh it'll implement the plan, and then I'll run but for real. And that but for real skill is basically like kind of bullies the AI, the LLM, into like hey man, like you you almost certainly screwed some stuff up. Like go back over it again. Um, and it'll find three to five bugs. Which is separate from the like GPT review process. There's a lot of just being like making it go back over stuff again.

是开源的。嗯,另外还有一个很重要的——这又是那种对抗式(adversarial)的玩法——我有一个叫「but for real」(玩真的)的 skill 会跑。流程是这样的:它先做计划,再去实现这个计划,然后我就跑「but for real」。这个 skill 基本上就是去欺负(bully)AI、欺负 LLM:嘿哥们儿,你几乎肯定搞砸了一些地方,给我重新从头检查一遍。然后它就能找出三到五个 bug。这跟那个 GPT review(用 GPT 来评审)的流程是分开的。很多时候就是逼着它把东西再过一遍。


[17:26] Peter Yang

Yeah, cuz this is like uh, you know, for a human to review like, you know, a lot of code is takes a long time, but for a lot of them it's just

对,因为这个……你知道吧,让一个人去 review 大量代码是很花时间的,但对它们(AI)来说很多时候就是……


[17:33] Josh Pigford

I The way I think about it is like in a typical sort of a team setting where you're both working on a uh, or both, I mean like your whole team of people you could have three, five, 10 developers working on a project or hundreds. You make a pull request and then like the concept there is you have a you have another developer review it, right? Like you get another set of eyes on it. And invariably they'll find something or be like, "Ah, it's like this isn't really like how I would do it." Or here's another way to to do it. And it's just doing that, but having the AI play that role instead of another human.

我是这么理解的:在一个典型的团队场景里,你们俩一起做……或者说你整个团队的人,可能三五个、十个开发者一起做一个项目,甚至上百人。你提一个 pull request,那里的逻辑就是让另一个开发者来 review,对吧?多一双眼睛盯着。他们几乎总能发现点什么,会说『啊,这个……我不会这么写』,或者『这里还有另一种做法』。现在就是把这件事照搬过来,只不过让 AI 来扮演这个角色,而不是另一个人。


[18:04] Peter Yang

That's great, dude. That's great. Do you mind Do you mind showing this this skill? This this this skill sounds pretty interesting to me. Do you have the empty file?

太棒了,老兄。真的很棒。你介不介意……介不介意给我看看这个 skill?这个 skill 我听着挺感兴趣的。你有那个空文件吗?


[18:12] Josh Pigford

So, I have this this other open source Mac app called Chops. Which is basically just handling skill files.

我还有另一个开源的 Mac app,叫 Chops。它基本上就是专门用来管理 skill 文件的。


[18:18] Peter Yang

Oh, nice.

哦,不错。


[18:18] Josh Pigford

So, these are all These are all the different skills um, that I use. But like, yeah. So, for instance, this like butt for real one.

所以这些就是……这些就是我用的所有不同的 skill。不过,对,比如说就拿这个「but for real」来说。


[18:25] Peter Yang

That's great, dude.

太棒了,老兄。


[18:27] Josh Pigford

Yeah.

对。


[18:27] Peter Yang

Do you get AI to write write this? Or

这个是你让 AI 写的吗?还是……


[18:29] Josh Pigford

Uh-huh. But I I I iterated over a bunch. So, like Chops has this built-in sort of AI iterator where I can just open up Chops and like have have the AI keep you know, give it some kind of guidance over like be meaner or something. And it'll, you know, it'll update the whole thing. So. Um.

嗯哼。不过我反复迭代了好多版。Chops 里内置了一个 AI 迭代器,我可以直接打开 Chops,让 AI 一直改——给它一些指引,比如『再凶一点』之类的,它就会把整个东西更新一遍。所以,嗯。


[18:46] Peter Yang

Wow, this is my favorite skill I've I've seen so far from you.

哇,这是到目前为止我从你这儿看到的最喜欢的一个 skill。


[18:49] Josh Pigford

It's shocking how good it is. And it kind of feels good to like cuz when you're really frustrated how it just keeps breaking stuff and like, you know, whatever. It's a machine, [laughter] but

它好用到让人吃惊。而且这还挺解气的——因为当你真的被它老是搞坏东西气得不行的时候,你知道,反正……它就是个机器嘛,[笑] 不过……


[18:57] Peter Yang

Yeah, you kind of have to be mean to it sometimes, right? Like I'm I'm pretty nice to him. Like, "Hey, please do this. Please do that." But yeah, if you could just keep going and

对,有时候你还真得对它凶一点,是吧?像我对它就挺客气的,『嘿,麻烦做这个,麻烦做那个』。但确实,要是你能一直逼着它继续……


[19:02] Josh Pigford

a breaking point though and you know, I'll end up typing in all caps. Like it cares.

不过会有一个临界点,到那时候你知道吧,我最后就会全大写打字,搞得好像它在乎似的。


[19:07] Peter Yang

Um, how about let let let me ask you a little bit more about the is part. You said, "Do you get it to make some sort of design system thing first like some sort of, you know, or you just use that thing? Cuz like a landing page you need copy, you need to like the colors, the fonts. Do you do it step by step or

嗯,那……让我再多问你一点关于设计的部分。你刚说,你是会先让它搞出某种设计系统之类的东西,比如某种……你知道的,还是说你直接就用那个东西?因为像一个落地页(landing page),你需要文案、需要颜色、字体。你是一步步来,还是……


[19:21] Josh Pigford

Um, so the way that my design process typically works here is um I Like I I have to have a name first whatever I'm working on. Um, and then like this is like a new if we've got a new business or project or whatever. So name uh a logo logos are 99% of the time done in Adobe Illustrator. Like I I'm just like in there you know, doing actual uh using the pen tool and going through a thousand different fonts and all that kind of stuff. Um, I haven't found a great way to shortcut that really. Then so that involves some color scheme stuff too. Like that's where I'm typically setting figuring out like the colors that I want before I've touched any code. So this is for for Rumored. So where this started was me trying out a bunch of different fonts. Uh, and I kind of landed on this like okay like quotes like the concept being that like LLMs are just like saying things out of context or quoting you incorrectly or, you know, so that the idea of like quoting is kind of what stuck in my head.

嗯,我这边的设计流程一般是这样的:我……我得先有个名字,不管我在做什么。然后呢,如果这是个新业务、新项目什么的——先起名字,再做 logo。Logo 99% 的情况下都是在 Adobe Illustrator 里做的。我就是亲自钻在里面,用钢笔工具,把上千种字体翻一遍,诸如此类。这一块我一直没找到什么好办法能走捷径。然后这过程里也会顺带定下配色方案,我一般就是在这个阶段、在动任何代码之前,把我想要的颜色给敲定。这是给 Rumored 做的。一开始我就是在试一堆不同的字体。嗯,最后我落到了这种『引号』的概念上——因为 LLM 经常会断章取义地说东西,或者错误地引用你的话,所以『引用(quoting)』这个点就一直卡在我脑子里。


[20:26] Josh Pigford

Yeah. So I started playing around with different fonts then like okay well which which typefaces have sort of interesting quotation marks. So I just went through a bunch of them and you know, they all end up kind of running together. They all end up looking the same.

对。于是我就开始摆弄各种字体,想着,好,那哪些字体的引号长得比较有意思呢。我就翻了一大堆,结果你知道吗,它们最后都有点糊成一团、长得都差不多。


[20:37] Josh Pigford

[laughter]

[笑]


[20:38] Josh Pigford

But I kind of landed on uh liking this this particular typeface and it's So then I start playing around with um colors. So I'm just trying out different, you know, light dark colored black and white whatever. So that's end up on there. Then I decide I like this sort of deeper orange. So then I start throwing that in a different scenarios, trying out these textures. Here's what it would look like with just in like a sort of avatar favicon kind of scenario. And so this is where I end up picking, again, like I've designed or built nothing. It's just brand stuff. Um and that's where I end up landing on that. And then I take that and say like here are the colors that I want. Um here's the logo like SVG files. And I and then I'll jump into code.

不过我最后还是挑中了这个字体,挺喜欢的。然后我就开始试各种颜色,浅的深的、黑的白的随便搭,最后定了这个。接着我又看上了这种偏深的橙色,就把它套进各种场景里,试这些质感。比如做成头像、favicon 这种小图标会长什么样。到这一步我其实什么都还没设计、什么都还没动手写,纯粹是在搞品牌的东西。最后就定下来这个方案。然后我把它拿过来,告诉它:这就是我要的配色,这是 logo 的 SVG 文件。搞定这些,我就跳进代码里开干了。


[21:24] Peter Yang

Then then you're like maybe working on the value prop the copy and stuff with the with AI, right?

然后你大概就会用 AI 来打磨价值主张、文案这些东西,对吧?


[21:29] Josh Pigford

Correct. Yeah, yeah. And I'll, you know, I the marketing page stuff is kind of interesting cuz it's I usually do that after I've built the app because I'm like figuring out what the app actually does. You know, I'll have a high-level idea of what I want, but like how that actually translates into features is there's a whole, you know, it's a multiple days of iterating on that. And so then after I've feel really solid in that, I'll then say like let's generate a marketing site. Here's again brand stuff. I like the these textures. I kind of want this like urgent sort of tech not like military is the wrong word here, but this is a sort of like a little bit more sort of edgy like not soft typical.

没错。营销页面这块挺有意思的,因为我一般是等 App 做完之后才弄,毕竟得先搞清楚这 App 到底能干嘛。我心里会有个大概的想法,但具体怎么落地成一个个功能,这中间得折腾好几天反复迭代。等我对功能这块觉得真的稳了,我才会说:来,生成一个营销网站。然后又是品牌那一套,我喜欢这些质感,我想要那种紧迫感、科技感——不是「军事风」,这个词不太对,但就是那种带点棱角、不那么柔和、不那么大众脸的感觉。


[22:09] Peter Yang

Yeah.

嗯。


[22:10] Josh Pigford

So I like that sort of vibe. Now also like look through the entire feature set of the of the app we've built and like generate marketing copy.

我就喜欢那种调调。然后我还会让它把我们做出来的整个 App 的功能集都过一遍,再据此生成营销文案。


[22:19] Peter Yang

Oh, that's interesting. That's really interesting because um that those are what I was going to ask you next like I was going to ask you like what kind of MVP or how do you evaluate demand? But it sounds like you actually just built the product first.

哦,这点有意思,真的挺有意思。因为这正好是我下一个想问你的——我本来想问你做什么样的 MVP,或者你怎么去验证需求。但听起来你其实是直接先把产品做出来了。


[22:29] Peter Yang

Let us build the whole thing. Cuz cuz I guess it's cheap now to build the whole thing with the AI. Just just Sure.

干脆把整个东西都做出来。因为我猜现在用 AI 把整个东西做出来成本很低嘛,所以就……对吧。


[22:33] Josh Pigford

Hey yeah, I mean which is that that is not always been the case.

对,我是说,这在以前可不是常态。


[22:36] Josh Pigford

Um

嗯……


[22:38] Josh Pigford

But I still think people have have a tendency to want like it's terrifying launching something period.

但我还是觉得,大家总有那么个倾向——发布任何东西本身就是件很吓人的事。


[22:45] Peter Yang

Yeah.

对。


[22:45] Josh Pigford

You know, I've been doing it for 25 years, launched hundreds of stuff uh different products. And like every single time it's just like ah like what if zero people care? That sucks. Uh and so as humans we tend to delay that stuff by by having a landing page where we collect email addresses and then like try to translate that into demand or something and it's just not. Um it's a distraction. So, I just suck it up, build the thing, and shove it out there and see what happens.

我这行干了 25 年,发布过几百个不同的产品。可每一次都还是那种感觉——啊,万一没人在乎怎么办?那也太惨了。所以作为人嘛,我们就老想拖着这事不办,搞个落地页收一收邮箱地址,然后试图把这个折算成「需求」之类的,但其实根本不是。那就是个干扰项。所以我干脆一咬牙,把东西做出来,直接扔出去,看会发生什么。


[23:11] Peter Yang

So, yeah. So, like yeah, you're like a serial builder and um So, ba- basically, my understanding is you pay kind of just like build something to solve your own problems. And then you just build it and then you and then you just build a landing page and then maybe like how how do you get eyeballs? How do you get demand? Do you um

嗯,所以说……对,你算是个连续创造者。基本上我的理解是,你就是做点东西来解决自己的问题,做出来之后再搭个落地页。那接下来——你怎么获取关注度?怎么搞到需求?你会不会……


[23:25] Josh Pigford

It's it's social media. I mean, yeah, you know, I got whatever 60,000 followers on uh Twitter and it's like that helps get it started at least.

靠社交媒体。我是说,对,我在 Twitter 上有差不多六万粉丝,这至少能帮我把事情启动起来。


[23:34] Peter Yang

And do you worry that like you know, like does this still happen to you? You launch something and no one cares? Like

那你会不会担心——这种事现在还会发生在你身上吗?就是你发布了个东西,结果没人在乎?比如……


[23:38] Josh Pigford

Oh, oh, absolutely. Oh, man, yeah.

哦,绝对会。哦,老兄,太会了。


[23:41] Peter Yang

Yeah.

嗯。


[23:43] Josh Pigford

For sure. And some of this is like that's not because what I have to what I battle against is not that like I think if I I'm so quick to like move on to other things that um I'll stop talking about something and then like just people forget about it. So, like where I where I um sort of need to like do better is you talking more about the things that exist that I've built already instead of just, you know, building new stuff. Um

肯定的。而且这里有一部分原因是……我真正要对抗的,倒不是说怕没人在乎,而是我太容易转头就扑到别的事情上去了——我会不再提某个东西,然后大家自然就把它给忘了。所以我真正需要改进的地方,是多去聊聊那些我已经做出来的东西,而不是光顾着做新玩意儿。嗯……


[24:09] Peter Yang

And and do you usually launch something with like a paid version or are you just kind of like like how do you know what what's product market fit, you know?

那你一般发布东西的时候会带个付费版本,还是说……你怎么判断什么算是 product-market fit(产品市场契合)呢?


[24:16] Josh Pigford

Right. I I yes, I try to always have a paid version of something. The open source stuff is kind of like clearly for instance like the Markdown editor, um I don't know that I'll ever charge for that. Um it doesn't cost me anything. So, but anything that has some sort of hosted, you know, infrastructure, servers that have costs, I yeah, I charge for it and hopefully somebody pays for it. And if they don't, then like it it gets to a point where it's like, "Okay, well, then like I'll shut it down."

对。是的,我会尽量让每个东西都有个付费版本。开源那些就比较明显了,比如那个 Markdown 编辑器,我估计永远不会对它收费,反正它也不花我什么钱。但凡是那种需要托管、有服务器、会产生成本的东西,对,我就会收费,然后但愿有人愿意付钱。要是没人付,到某个点我就会想:「好吧,那我就把它关掉。」


[24:42] Peter Yang

[laughter]

[笑]


[24:42] Peter Yang

I got it. Do you worry that um one thing like, you know, I'm I'm I'm I'm much more of a novice builder, but one thing I worry is like maybe I need to get over this is like my reputation is on the line if I launch something shitty and no one cares about it. Like do do you How do you get past that, you know?

明白了。那你会不会担心——有件事,你知道,我其实还是个挺新手的创造者,但我担心的一件事是……也许我得克服这个心理——就是如果我发布了个烂东西、又没人在乎,感觉我的声誉就砸进去了。你是怎么迈过这一关的?


[24:56] Josh Pigford

Um I feel like I've just been I've been building stuff for so long that um, I don't I don't I don't worry that somebody's going to like think it's dumb. It's just because everybody's different and like I might I have this itch, but I might be the only one who has the itch. So, that's fine. Doesn't invalidate that there's an itch, but like maybe there's not enough there to you know, cover the costs. I think that's where it comes down to for me is like does it pay for the servers that like like Reply Social for instance has all these like API data sources that cost money and if it's not covering the cost like it's not a charity. Like I'm not it needs to cover its costs. Um, but that's kind of tends to be the the the line for me is like okay, if I spent thousands of dollars just like fronting the costs of this and I still can't get anybody to pay for it then like uh, I probably need to rethink some stuff.

嗯,我感觉我做东西做得太久了,所以我不太会去担心别人觉得它很蠢。因为每个人都不一样嘛,我可能就是有这么个痒处想挠,但说不定全世界就我一个人有这个痒。那也没关系,这并不能说明这个痒是假的,只是也许它带来的盘子不够大,cover 不了成本。我觉得对我来说最终就落到这一点:它能不能把服务器的钱赚回来?比如 Reply Social,它接了一堆要花钱的 API 数据源,如果赚不回这些成本——这又不是做慈善,我不可能一直贴钱,它得自己养活自己。这差不多就是我的那条线:好,如果我已经掏了好几千美元先垫着这东西的成本,却还是搞不到一个人愿意付钱,那我大概就得重新琢磨琢磨一些事了。


[25:50] Peter Yang

But if you if you have some paying customers and you shut down then you just have to send them an email be like hey, you know, I'm sorry.

那要是你已经有了一些付费用户,然后又要关掉,你就只能给他们发封邮件说:嘿,不好意思啊。


[25:54] Josh Pigford

Yeah, which sucks. Like I I I do try to be a little sensitive to that where if somebody's paying for something, you know, what I'll do is if I shut it down then I just refund them the past few months or something. Um, it doesn't take away from the fact that they now don't have access to a tool that they needed, but so that's sort of the reality of business as well as like things yeah, I'm not paying for other people to use it.

对,这确实挺难受的。我确实会试着对这点敏感一些——如果有人在为某个东西付费,我的做法是,关掉它的时候,把最近这几个月的钱退给他们。当然这并不能改变一个事实:他们现在用不上一个他们本来需要的工具了。但这也算是做生意的现实吧,就像……对,我也不能一直自己掏钱让别人白用。


[26:20] Peter Yang

I think one thing I worry about you even just with the Substack newsletter like I used to have a monthly subscription. And then people are just like if you if you charge too low like a couple of you know, 20 20 bucks or something then people are just like hey, I want to refund I want to refund. And there's just like a ton of support that comes in. It's just a pain in the ass. So, eventually I decided to just like charge a couple hundred bucks. Like if you can't afford it then you know, yeah, do you have that kind of yeah.

我担心的一件事——哪怕就拿 Substack 上的 newsletter 来说,我以前是按月订阅的。结果就是,如果你定价太低,比如就 20 来块钱,大家动不动就「嘿,我要退款我要退款」,然后涌进来一大堆客服需求,烦死了。所以我后来干脆决定收个几百块。要是你掏不起这个钱,那……嗯。你有没有遇到过那种……对。


[26:42] Josh Pigford

Yes, so um, that which is like that's very typical of like any kind of product stuff is like the these like really low cost plans tend to have the highest uh support overhead.

有。这其实是任何产品都很典型的现象——就是这些定价超低的套餐,往往客服负担最重。


[26:54] Peter Yang

Yeah. Uh but I guess for your like since you have five products or like you know how you manage like um you you probably do you have a support email for each so you like do you worry about just like managing support? Yeah.

对。那我猜,就你这种情况——既然你手里有五个产品——你是怎么管理的?比如你是不是每个产品都有一个客服邮箱?你会不会就为「管客服」这事发愁?嗯。


[27:06] Josh Pigford

No, so like I do have a central or I have an email address for each service that all just comes to my inbox. I also um man I'm I'm I'm sounding like a shill here for all my skills. I have a skill that generates an entire in-app chat support system within your app. So people can like it's like Intercom replacement but like inside the app. So um people can just chat inside the app and it sends it to there's a whole like support well but it's still just it's still just me in there but like I'm not having to um I it lets me do more efficient support because I I have the context of their account inside that chat and uh you know I also can kind of um compartmentalize it like I'm ready to work on support for this product. Okay, let me go work on support for this other product.

不会。我确实有一个统一的……我是说,每个服务都有一个邮箱地址,但全都汇到我一个收件箱里。还有,老兄,我这听着简直像在给我自己的一堆 skill 打广告了——我有一个 skill,能在你的 App 里直接生成一整套应用内聊天客服系统。所以用户可以……它就像 Intercom 的替代品,但是是嵌在 App 里面的。用户可以直接在 App 内聊天,消息就发到那儿,背后有一整套客服后台之类的,不过说到底里面还是只有我一个人。但好处是我不用……它让我能更高效地做客服,因为在那个聊天里我能直接看到用户账户的上下文。而且我还能把这事分门别类地隔开来处理,比如:好,我现在准备处理这个产品的客服。处理完,好,再去搞另一个产品的客服。


[27:55] Peter Yang

Got it. Got it. Okay. Yeah, it feels like um as a solo builder anything that you don't want to spend time doing you can just kind of build a scale to try to

明白了,明白了。是这样,感觉作为一个单干的开发者,凡是你不想花时间去做的事,你都可以搭一套自动化的东西,尽量


[28:03] Peter Yang

[laughter]

(笑)


[28:04] Peter Yang

try to automate as much as possible.

尽可能地把它自动化掉。


[28:06] Josh Pigford

Yeah, I think like you know the AI has leveled the playing field in a lot of ways. Um

对,我觉得 AI 在很多方面把竞争的起跑线拉平了。嗯,


[28:13] Peter Yang

Yeah.

对。


[28:14] Josh Pigford

but at the same time I think like I'm able to do things very efficiently because I've got 25 years of you know sort of boots on the ground like experience in the trenches of like building all these things pre-AI and so I like I know the general shape of how I want things to work and so I can very quickly get to that point and decide like this is going to work fine or this won't work fine or this is going to be a real problem in a couple of months, you know, whatever. So um I can get to like a shippable point on stuff or fix problems pretty quickly just because I've dealt with these problems pre-AI, I think.

但与此同时,我觉得我能把事情做得特别高效,是因为我有 25 年实打实摸爬滚打的经验——在没有 AI 的年代亲手把这些东西一件件做出来。所以我大概知道一个东西最终该长成什么样,能很快做到那一步,然后判断:这个行得通、这个不行、或者这个过几个月会变成大麻烦,诸如此类。所以我能比较快地把东西做到可以发布的程度,或者快速把问题修掉,我觉得就是因为这些问题我在 AI 之前都踩过了。


[28:53] Peter Yang

Just a few more questions. Um I think there's going to be a lot more builders now, right? Like if people who are who don't have like 15 years of experience like you you you do. Like do you have any advice for them uh as they kind of vibe code all this stuff? Like how how can they actually learn some of the technical stuff that's actually important to work with the agents? Yeah.

再问几个问题。我觉得现在会冒出特别多的开发者,对吧?比如那些没有你这种 15 年经验的人。对于他们这种一路 vibe coding 把东西堆出来的人,你有什么建议吗?他们怎么才能真正学到那些和 agent 打交道时真正重要的技术功底?嗯。


[29:09] Josh Pigford

Yeah, I think it's just failing a lot. So like people people give, you know, they use like vibe coding as like a slur. And like the reality is that's fan- it's fantastic that anybody's building anything and the only way that they'll ever figure out what not to do is by doing the thing incorrectly. Um I think uh any kind of like AI-assisted coding reduces the number of mistakes that you'll make, but like this idea that mistakes didn't exist pre-AI is insane. So, um I think it's just making the mistakes as fast as you can and and recognizing what the mistake was so that you don't repeat it. Um but you know, there's no like real replacement to just jumping in there and doing it. And I think and like putting stuff out there. So so the idea of like spending months working on something before you put it out for other people to use, I think that's a that's a real bad idea. Um there's no reason not to just throw it out there now um and see what happens.

对,我觉得就是多失败。很多人把 vibe coding 当成一个贬义词来用,但现实是——任何人能动手做出点东西,这本身就特别棒。他们唯一能搞清楚什么不该做的办法,就是先把事情做错一遍。我觉得任何形式的 AI 辅助编程都会减少你犯错的次数,但要说 AI 之前就不犯错,那简直是天方夜谭。所以我觉得关键就是尽可能快地把错犯了,然后认清错在哪,下次别再犯。但说真的,没什么能替代直接跳进去动手、把东西丢出来这件事。所以那种花几个月打磨一个东西、再拿给别人用的想法,我觉得是个很糟糕的主意。完全没理由不现在就把它丢出来,看看会发生什么。


[30:10] Peter Yang

Well, what you say like a lot of projects you worked on, like how long do you work on it before you just put it out there? Like like like like a week or something or a couple days even?

那你说你做过的很多项目,一般会做多久才直接发出去?比如一周左右?还是几天就发了?


[30:17] Josh Pigford

There's been stuff where I've launched within 24 hours. Like uh or even like same day. Um that's not always possible, but as fast as I can, absolutely. Yeah.

有些东西我 24 小时内就上线了,甚至当天就发。当然不是每次都能做到,但只要能快我就一定快,绝对的。对。


[30:27] Peter Yang

That that's actually something I struggle with, too. Like I kind of want to make it really really good and perfect, but then like maybe no one no one cares. Like so so yeah, you can launch fast.

这其实也是我一直纠结的地方。我总想把东西做得特别特别好、特别完美,可结果可能根本没人在乎。所以——对,是可以快速上线的。


[30:35] Josh Pigford

[snorts]

(嗤笑)


[30:35] Josh Pigford

Yeah, and there's so many times where you'll build something based on your own assumption of what the problem is and maybe it solves the problem exactly for you, but what the problem is for somebody else is similar, but like it looks a little different and you can't know what that is until somebody else is in there and it's like, "Well, what about this use case?" Like, "Oh, I hadn't thought of that." Well, yeah, cuz it's somebody else. And so, you just need to get those other perspectives as fast as possible.

对,很多时候你会基于自己对问题的假设去做东西,也许它确实完美解决了你自己的问题,但别人面对的问题虽然类似,看起来却有点不一样。在别人真正用上之前,你根本没法知道差在哪。然后人家就会问:「那这个用法呢?」你才会「哦,我没想到这个」。对啊,因为那是别人嘛。所以你要做的就是尽快拿到这些不同的视角。


[30:57] Peter Yang

That's good advice. All right, dude. What what Where can people find you online? Where can people find your projects?

这建议很棒。好了哥们儿。大家上网在哪能找到你?在哪能看到你的项目?


[31:02] Josh Pigford

Sure. The the the best place is just on Twitter. So, uh @shpigford. Um I I'm just, you know, I post there a hundred times a day and talk about all my products and stuff there. And my bio's got all the links to my 50 different things going.

好的。最好的地方就是 Twitter,@shpigford。我基本上一天在那儿发一百条,所有产品什么的都在那儿聊。我的简介里也放了我那五十来个项目的全部链接。


[31:16] Peter Yang

I also really like your blog everydayisayear.ai is is is very well written and very practical. And uh I I love the rats ball open claw and we can talk about that next.

我也特别喜欢你的博客 everydayisayear.ai,写得非常好,也非常实用。还有那个 rats ball、open claw 我也很爱,咱们下次可以接着聊那个。


[31:27] Josh Pigford

[laughter]

(笑)


[31:27] Josh Pigford

Yeah.

对。


[31:28] Peter Yang

Perfect.

太好了。


[31:29] Peter Yang

Yeah. All right, Justin. Thank Thank you so much, man.

好。行了,太感谢你了,哥们儿。


[31:31] Josh Pigford

Thanks for having me, Peter.

谢谢你请我来,Peter。