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

How a Meta PM ships products without ever writing code | Zevi Arnovitz

频道: Lenny's Podcast
视频: https://www.youtube.com/watch?v=1em64iUFt3U
原文语言: en
统计: 共 43 轮 · Lenny 6 · Zevi 6


[0:00]

You are a product manager shipping product without knowing how to write code, barely knowing how to review code. I have zero technical background, did music in high school ... when Sonnet 3.5 came out. I remember watching a YouTube video building apps using Bolt or Lovable. It basically felt like someone came up to me and said, "You have superpowers now." These days, you're using Cursor with Claude Code. If you're non-technical like me, code is terrifying, but AI just makes it so much possible. In the next coming years, I think everyone's going to become a builder. Titles are going to collapse and responsibilities are going to collapse. The main challenge people have is reviewing the code that AI has written. It's very difficult for me to catch mistakes. What I'll do is basically /review. This tells Claude to start reviewing its own code, but what's even cooler is I have Codex as well as Cursor open. I will have each of them review the code. This comes back to this quote. I think everyone's always hearing. It's not that you will be replaced by AI. You'll be replaced by someone who's better at using AI than you. It's the best time to be a junior, contrary to what a lot of people are saying, how there's no more junior roles out there. Yeah, that's true, but also when else in history could you get out of school and just build a startup on your own? Today, my guest is Zevi Arnovitz. Zevi is a PM at Meta. Prior to that, he was a PM at Wix, and this is a truly remarkable conversation that every non-technical product person needs to hear.

你是一名产品经理,不会写代码、几乎也不会审查代码,却照样把产品 ship 出来。我完全没有技术背景,高中学的是音乐……那是在 Sonnet 3.5 刚发布的时候。我记得当时看了一个 YouTube 视频,是用 Bolt 或 Lovable 来搭应用。那种感觉就像有人走到我面前说:「你现在拥有超能力了。」如今,你用的是 Cursor 配合 Claude Code。如果你像我一样不是技术出身,代码会让你害怕,但 AI 让一切都变得如此可能。我觉得在接下来这几年,每个人都会变成一个 builder。职位头衔会瓦解,职责边界也会瓦解。大家最大的挑战是审查 AI 写出来的代码,对我来说很难抓出错误。我会做的就是输入 /review,这会让 Claude 开始审查它自己写的代码;但更酷的是,我同时还开着 Codex 和 Cursor,我会让它们各自都来审查这段代码。这就回到那句大家总能听到的话:不是你会被 AI 取代,而是你会被一个比你更擅长用 AI 的人取代。现在是当一名 junior 最好的时代——这跟很多人说的「再也没有 junior 岗位了」恰恰相反。是的,那确实是事实,但话说回来,历史上还有哪个时候,你刚走出校门就能靠一己之力做出一家创业公司?今天我的嘉宾是 Zevi Arnovitz。Zevi 是 Meta 的一名 PM,在那之前他是 Wix 的 PM。这是一场真正了不起的对话,每一位非技术背景的产品人都需要听一听。


[1:23] Lenny

Zevi is super young and has no technical background, but as a smart, young, ambitious person, has learned how to use Cursor and Claude Code to build significant and real products completely on his own, and he's created his own very clever and effective workflow that everyone listening can copy. To make that copying even easier, at the top of the show notes of this episode, you can download all of the prompts and /commands and start doing all of this yourself. Zevi shows you how to work with cursor to quickly add your ideas to Linear to explore your idea with AI, how to develop your plan, how to then build the thing, and then have different LLMs review your code and update your documentation, and then use all of this as a learning opportunity to develop your own sense of how things work. I haven't stopped thinking about this conversation since we had it, and everyone needs to pay attention to what AI is unlocking for non-technical people. A huge thank you to Tal Raviv for encouraging me to meet Zevi. If you enjoy this podcast, don't forget to subscribe and follow it in your favorite podcasting app or YouTube. It helps tremendously. And if you become an annual subscriber of my newsletter, you get 19 premium products for free for an entire year including Lovable, Replit, Bolt, Gamma, n8n, Linear, Devin, PostHog, Superhuman, Descript, Wispr Flow, Perplexity, Warp, Granola, Magic Patterns, Raycast, ChatPRD, Mobbin, and Stripe Atlas. Head on over to lennysnewsletter.com and click product pass. With that, I bring you Zevi Arnovitz after a short word from our sponsors. This episode is brought to you by 10Web, the company that pioneered AI website building before ChatGPT. In the last three years, over two million websites have been generated with 10Web's vibe coding platform. 10Web's vibe coding platform is a powerful way to build websites. Think of it as lovable for WordPress, front end and backend.

Zevi 非常年轻,没有任何技术背景,但作为一个聪明、年轻、有野心的人,他学会了如何用 Cursor 和 Claude Code,完全靠自己做出有分量、真实可用的产品。他还创造了一套自己独有、非常巧妙又高效的工作流,每一位听众都可以照搬。为了让你照搬起来更容易,在本期节目说明的最上方,你可以下载所有的 prompt 和 /commands,自己动手把这一切做起来。Zevi 会教你怎么用 Cursor 把你的想法快速记进 Linear、怎么和 AI 一起探索你的点子、怎么制定方案、怎么把东西真正建出来,然后用不同的 LLM 来审查你的代码、更新你的文档,再把这整个过程当成一次学习机会,培养出你自己对「事情是怎么运作的」的直觉。自从录完这期之后,我就一直在想这场对话,每个人都需要关注 AI 正在为非技术人群解锁什么。非常感谢 Tal Raviv 鼓励我去认识 Zevi。如果你喜欢这档播客,别忘了在你常用的播客 app 或 YouTube 上订阅并关注它,这对我们帮助极大。如果你成为我 newsletter 的年度订阅者,你能免费获得 19 款付费产品整整一年,包括 Lovable、Replit、Bolt、Gamma、n8n、Linear、Devin、PostHog、Superhuman、Descript、Wispr Flow、Perplexity、Warp、Granola、Magic Patterns、Raycast、ChatPRD、Mobbin 和 Stripe Atlas。去 lennysnewsletter.com,点击 product pass。说完这些,在听完赞助商的简短广告之后,我就把 Zevi Arnovitz 请上来。本期节目由 10Web 赞助播出,这家公司早在 ChatGPT 出现之前就开创了 AI 建站。过去三年里,已有超过两百万个网站是用 10Web 的 vibe coding 平台生成的。10Web 的 vibe coding 平台是一种强大的建站方式,你可以把它想成 WordPress 版的 Lovable,前端和后端都包。


[3:10] Lenny

Users can build any website at any complexity, e-commerce, portfolios, information websites, blogs, and it comes with the WordPress admin panel and thousands of ready to use plugins. 10Web also offers website generation as an API as a service for SaaS companies, marketplaces, hosting providers, MSPs and agencies. SaaS companies can embed it via API so that users can launch AI generated sites directly inside of their platform, connected to their own data. Agencies and MSPs can get a white label dashboard to manage clients and resell under their brand. Hosting providers can self-host the API builder on their own infrastructure. Check it out at 10web.io/lenny and use code Lenny for exclusive free credits and 30% off API or white labeled solutions. That's the number 10web.io/lenny, vibe coding platform as an API. Today's episode is brought to you by DX, the developer intelligence platform designed by leading researchers. To thrive in the AI era, organizations need to adapt quickly, but many organization leaders struggle to answer pressing questions like, which tools are working? How are they being used? What's actually driving value? DX provides the data and insights that leaders need to navigate this shift. With DX, companies like Dropbox, Booking.com, Adyen, and Intercom get a deep understanding of how AI is providing value to their developers and what impact AI is having on engineering productivity. To learn more, visit DX's website at getdx.com/lenny, that's getdx.com/lenny. Zevi, thank you so much for being here and welcome to the podcast.

用户可以做出任何复杂度的网站——电商、作品集、信息类网站、博客——而且它自带 WordPress 管理后台,还有数千个开箱即用的插件。10Web 还把「网站生成」作为一项 API 服务提供给 SaaS 公司、市场平台、托管服务商、MSP 和代理商。SaaS 公司可以通过 API 把它嵌入,让用户直接在自己的平台内部、连接自己的数据来生成 AI 网站。代理商和 MSP 可以拿到一个白标后台来管理客户,并以自己的品牌转售。托管服务商可以在自己的基础设施上自托管这套 API 构建器。去 10web.io/lenny 看看,用优惠码 Lenny 可以获得专属的免费额度,以及 API 或白标方案 30% 的折扣。就是数字 10web.io/lenny,把 vibe coding 平台作为 API 来用。今天这一期由 DX 赞助播出,这是一个由顶尖研究者设计的开发者智能平台。要在 AI 时代蓬勃发展,组织需要快速适应,但许多组织的领导者很难回答一些迫切的问题,比如:哪些工具真正有效?它们是怎么被使用的?到底是什么在创造价值?DX 提供领导者驾驭这场转变所需的数据和洞察。借助 DX,像 Dropbox、Booking.com、Adyen 和 Intercom 这样的公司能深入了解 AI 是如何为他们的开发者创造价值的,以及 AI 对工程效率究竟产生了什么影响。想了解更多,请访问 DX 的网站 getdx.com/lenny,就是 getdx.com/lenny。Zevi,非常感谢你来到这里,欢迎来到播客。


[4:56]

Thanks for having me, Lenny. I'm a huge fan of the show and tons of people that I've admired most and learned the most from. I've been on here, so it's a crazy moment for me. I'm really excited for this. I really appreciate that. I want to start by reading actually a note I got about you from Tal Raviv, who is a previous podcast guest, many times newsletter collaborator. One of the most AI forward product managers that I know I've learned a ton from him. So here's what he said about you when he introduced us. Zevi is the most hands-on vibe coding PM I know, and I've personally learned so much from him. His engineers at Meta ask him to teach them how to do what he does. Every time we get coffee, I repeatedly get this feeling of everyone needs to be hearing this. That's so nice. And so that's the goal. That's the goal of this conversation is to help more people hear what you figured out. We're going to get very hands-on. We're going to do a lot of show versus tell, showing people what you've figured out about how to be a PM, a non-technical PM building stuff. I want to give people a little bit of background on you because I think this is going to inspire a lot of listeners to feel like they can also do what we're about to show you. This is going to look very advanced, but just give people a little bit of sense of just your background. I'm very non-technical. I have zero technical background. Did music in high school. A lot of Israelis do technology units in the Army. I was not in a tech unit. And basically a year ago, I was traveling with my wife for three months in Asia and we were in Japan and that was around when Sonnet 3.5 came out. And I remember watching a YouTube video.

谢谢你邀请我,Lenny。我是这档节目的超级粉丝,许多我最敬佩、从他们身上学到最多的人都上过这里,所以这对我来说是个不可思议的时刻,我真的很激动。我真的很感激你这么说。我想先念一段我收到的、关于你的留言,来自 Tal Raviv——他之前上过这档播客,也多次和我的 newsletter 合作。他是我认识的最有 AI 前瞻意识的产品经理之一,我从他身上学到了非常多。下面是他在把我们俩牵线时对你的评价:「Zevi 是我认识的最亲力亲为的 vibe coding PM,我个人从他身上学到了太多东西。他在 Meta 的工程师们会请他教他们怎么做到他做的那些事。每次我们一起喝咖啡,我都一再有一种感觉——所有人都需要听到这些。」这评价太好了。所以这就是目标,这场对话的目标,就是帮助更多人听到你摸索出来的东西。我们会非常注重实操,会大量地「演示」而不是「空谈」,把你摸索出的、如何当一名 PM、一名非技术 PM 去做东西的方法展示给大家。我想给大家介绍一点你的背景,因为我觉得这会让很多听众觉得他们也能做到我们接下来要展示的事情。这看起来会非常高阶,但请先给大家一点关于你背景的概念。我非常不懂技术,完全没有技术背景,高中学的是音乐。很多以色列人会在军队里进技术单位,我没有进技术单位。基本上一年前,我和我太太在亚洲旅行了三个月,我们当时在日本,那大概就是 Sonnet 3.5 发布的时候。我记得我看了一个 YouTube 视频。


[6:29]

I think it was either Greg Isenberg or Riley Brown and they were basically building apps using, it was either Bolt or Lovable, just using AI. And it was like a crazy moment for me because I was watching this and it basically felt like someone came up to me and said, "Hey Zevi, there's this cool new technology you should check out. You should really give it a try. Oh, and by the way, you have superpowers now." And the second I got home from Japan, I didn't even unpack my bags, ran to my computer, opened Bolt, opened an account, and for the past year I've been building. And the last thing I'll say on that is we talked about this a bit before we started recording, but I was prepping with Claude for the episode and I was trying to clarify what my goal is for this episode. And Claude said, "If people walk away thinking how amazing you are, you failed. And if people walk away and open their computer and start building, you've succeeded." So I really hope that we can inspire some people to do the same. I love that so much. I feel like that should be the goal for my podcast. If you're like, "I love that guest." It's less of a win. If it's just like, "Oh, I'm so inspired to do the thing that they figured out, that is the real win." I love, Claude is the best. I agree. Okay. So let's dive in and give people, let's start with kind of a high level overview of how you operate and you use AI in your job. What are the core tools and just what's kind of like the frame of reference for the workflow that you figured out and how you operate?

我记得视频要么是 Greg Isenberg、要么是 Riley Brown 做的,他们当时就是在用 AI 搭应用,用的要么是 Bolt、要么是 Lovable。那对我来说是个疯狂的时刻,因为我看着这一切,那感觉基本上就像有人走到我面前说:「嘿 Zevi,有个很酷的新技术你应该去看看,你真的应该试一试。哦对了,顺便说一句,你现在拥有超能力了。」我从日本一回到家,行李都没拆,就冲到电脑前打开 Bolt,注册了一个账号,过去这一年我一直在做东西。关于这点我最后想说的是——我们在开始录之前聊过一点这个——我当时在用 Claude 为这期节目做准备,我想理清我这期节目的目标是什么。Claude 说:「如果人们听完觉得你有多厉害,那你就失败了;如果人们听完去打开自己的电脑开始动手做东西,那你就成功了。」所以我真心希望我们能激励一些人去做同样的事。我太喜欢这句话了。我觉得这也应该是我这档播客的目标。如果你的反应是「我太喜欢这位嘉宾了」,那算不上太大的胜利;如果你的反应是「哦,我太受激励了,想去做他们摸索出来的那件事」,那才是真正的胜利。我爱死了,Claude 是最棒的。我同意。好,那我们就深入聊聊,先给大家一个高层次的概览——你是怎么工作的、怎么在工作中用 AI 的。核心工具有哪些?以及你摸索出的这套工作流、你的工作方式,大致的参照框架是什么样的?


[7:56] Zevi

This all started where I was a project's power user. I love projects, GPT projects. ChatGPT projects? Yeah, exactly. GPT projects and Claude projects, which are basically a shared folder of chats which share both custom instructions and shared knowledge base. And I think it was around when GPT started using memory where I thought it was interesting, but it really annoyed me because I do a bunch of different things. I'm a terrible runner, I'm a PM, I was a student, psychology student, so I had all these different facets of life. And what happened was the memory feature was mixing stuff up. So like I talked to GPT about running and it would say, "Oh yeah, after this 5K, you're going to crush all your next product reviews." And it's like, okay, I understand that you have that in your memory, but it's just not relevant. And projects basically allows you to compartmentalize and have things within the right context. So tracking back to the story I told when we came back from Japan, I started building this app. The first thing I noticed was that these products were built in a way where, and when I say these products, I mean Bolt and Lovable, were built in a way where they were super eager to write code. So their system prompt was you're a coding agent. So when you'd write something, they'd straight away start coding. So at the beginning of a project, this was super fun and exciting because they just go and start building your app. But later on when things got more complex, this created much more problems because planning is really important when you're implementing something technical and let's say you're implementing payments or something that's going to be a change to your database. If the coding agent is just like, "All right, I got it." And just starts writing code, this always results in terrible things, some really gnarly bugs that I had. And to mitigate this, what I did was I created sort of a CTO. So again, I'm not technical. I have been in product for a while, but I know zero stuff about code. So basically what I did was I created a CTO with the custom prompt of it being the complete technical owner of the project. So I told it, "I own the problem. I own how we want the users to feel. You're the complete owner of how this is going to be built. I want you to challenge me. I don't want you to be a people pleaser." All these things that kind of mitigate the regular ChatGPT-isms. I always think about this where for some reason, the easiest way for me to think about AI is to imagine it as people. And I think ChatGPT would probably be the worst CTO because it's such a people pleaser and it's so sycophantic where ... Just a short story I had a few weeks ago, I was trying to learn about Bun JavaScript, which was acquired by Anthropic and I was trying to understand what they do. So I was talking to GPT and this wasn't within my co-founder CTO project and I asked it if it's similar to a different framework that I have in my app called Zustand, which nothing to do at all with what Bun JavaScript does. And basically GPT goes, "Oh yeah, it's exactly the same." And then it started talking about what it meant and I was like, "Wait, no, these are not the same at all." And it said the most terrifying and hilarious thing. He goes, "Oh, I'm sorry. I thought you were just making this up and I was riffing with you." And I was like, "Oh no, no, no, this is terrible." So basically if regular ChatGPT was a CTO, that would be the CTO who goes along with your dumbest ideas. So creating the project allowed me to mitigate that.

这一切的起点是,我曾经是 projects 功能的重度用户。我很喜欢 projects,GPT projects。你是说 ChatGPT projects?对,没错,GPT projects 和 Claude projects,它们基本上就是一个共享的对话文件夹,里面既共享自定义指令、又共享一个共享知识库。我记得大概是在 GPT 开始用 memory 功能的时候,我觉得这功能挺有意思,但它真的很烦我,因为我做很多不同的事情:我是个很糟糕的跑步者、我是个 PM、我曾经是个学生、心理学专业的学生,所以我生活里有这么多不同的面向。结果 memory 功能把这些东西混在了一起。比如我跟 GPT 聊跑步,它会说「哦对,跑完这个 5K,你接下来的所有产品评审都会大获全胜」,我心想,好吧,我理解你 memory 里存了这个,但它就是不相关。而 projects 基本上能让你把事情分门别类,把每件事放在正确的上下文里。所以回到我之前讲的那个故事,从日本回来之后,我开始做这个应用。我注意到的第一件事是,这些产品——我说「这些产品」指的是 Bolt 和 Lovable——它们被设计成非常急于写代码。它们的 system prompt 就是「你是一个 coding agent」。所以你一写点什么,它们就立刻开始写代码。在一个项目的开始阶段,这超级好玩、超级让人兴奋,因为它们直接就去帮你把应用搭起来。但到了后面,当事情变得更复杂时,这就制造了多得多的问题,因为当你在实现一个技术性的东西时,规划是非常重要的——比如说你在接入支付,或者要对数据库做改动。如果 coding agent 只是「行,我懂了」然后直接开始写代码,这总会导致很糟糕的结果,我遇到过一些非常棘手的 bug。为了缓解这个问题,我做的事情是给自己造了一个 CTO。再说一次,我不是技术出身,我做产品有一阵子了,但我对代码一无所知。所以基本上我做的就是用一段自定义 prompt 造出一个 CTO,让它成为这个项目完整的技术负责人。我告诉它:「我负责问题本身,我负责我们想让用户产生什么感受;你完整负责这东西要怎么被建出来。我要你挑战我,我不要你做一个讨好型人格。」诸如此类,都是为了缓解那些常见的 ChatGPT 毛病。我总是这样想:不知道为什么,对我来说理解 AI 最简单的方式就是把它想象成人。我觉得 ChatGPT 大概会是最差劲的 CTO,因为它太爱讨好别人、太谄媚了。讲个我几周前的小故事:我当时想了解 Bun JavaScript——它被 Anthropic 收购了——我想搞懂他们是做什么的。所以我在跟 GPT 聊,而这次不是在我那个 co-founder CTO 的 project 里。我问它,Bun 是不是和我应用里用的另一个框架 Zustand 类似——而 Zustand 跟 Bun JavaScript 做的事情完全无关。结果 GPT 说:「哦对,完全一样。」然后它开始讲这意味着什么,我说:「等等,不对,这俩根本完全不一样。」然后它说了一句最吓人、也最好笑的话,它说:「哦,对不起,我以为你是在瞎编,我只是在跟着你即兴接梗。」我当时心想:「哦不不不,这太糟糕了。」所以基本上,如果普通的 ChatGPT 是个 CTO,那它就是那种会顺着你最蠢的点子一路走下去的 CTO。所以建一个 project 让我能缓解掉这个问题。


[11:40] Lenny

So this is, just to be super clear, you have a ChatGPT project that you've given a prompt to be your CTO of your product and being a non-technical person, this is kind of like the thing you talk to when, and we'll get to what you're actually using to build when you have questions about architecture and decisions that are technical. Yeah. So now I'll show my full workflow and I don't involve GPT anymore, but I definitely would recommend, even though the technology has gone ... So when I started this, there was no plan mode or ask mode. It was just build on these products on Lovable and Bolt, and they've progressed a ton. A lot of what I had as workflows have become ingrained in these products, which is really interesting. I would still recommend start with a project for, first of all, the reason that I said, and also it kind of puts you in a place where you're in a chatbot and not writing code. So you take the time to converse and to learn, which I think is critical. And the second thing is if you're non-technical like me, code is terrifying. It's the scariest thing in the world to look at, and I look at it as kind of like exposure therapy. I think if you see this where I'm working like in Claude or in Cursor, you might be excited to start using those, but I would really recommend starting slow with a GPT project, beautiful UI, super simple, then maybe graduate to like a Bolt or a Lovable, and then go to Cursor in light mode, slowly, slowly, gradually ease in until you open a terminal, go full dark mode, go full dev. So I would really recommend doing this gradually.

那么——把话说得特别清楚——你有一个 ChatGPT project,你给它一段 prompt,让它当你产品的 CTO;作为一个非技术背景的人,当你有关于架构、关于那些技术性决策的疑问时,这就是你会去对话的对象。我们待会儿再聊你实际是用什么来做开发的。对。那现在我就来展示我完整的工作流,现在我已经不再用 GPT 了,但我绝对还是会推荐这么做——尽管技术已经发展了……我刚开始做这事的时候,还没有 plan mode 或 ask mode,在 Lovable 和 Bolt 这些产品上就只是「build」。它们进步了非常多,我当初那些工作流里的很多东西已经被内化进这些产品里了,这点很有意思。我还是会推荐先从一个 project 开始,首先是因为我刚才说的那个理由,其次它也会把你放在一个「你在用聊天机器人、而不是在写代码」的位置。所以你会花时间去对话、去学习,我觉得这一点至关重要。第二点是,如果你像我一样不是技术出身,代码是很可怕的,它是世界上看起来最吓人的东西,而我把它看成一种暴露疗法。我觉得如果你看到我在 Claude 里或在 Cursor 里这样工作,你可能会很兴奋想开始用那些工具,但我真的会推荐慢慢来,先从一个 GPT project 开始——界面漂亮、超级简单——然后也许进阶到 Bolt 或 Lovable,再然后用浅色模式的 Cursor,慢慢地、循序渐进地适应,直到你打开一个终端、切到全黑模式、彻底进入开发者状态。所以我真的会推荐循序渐进地做这件事。


[13:18] Lenny

That is awesome advice. And so just to be clear, these days you're using Cursor with Claude Code powering it. And what I love about that is that you've never written code. The way you put it, you're afraid of even looking at code. Yeah, 100%. You can do exposure therapy, and I love that Cursor is useful to you. And what you're telling us is that graduating from a ChatGPT project that is kind of your technical co-founder kind of taught you enough to feel more comfortable going straight to cursor. You said that you actually went to Bolt and Lovable kind of in the interim and then you went just straight to Cursor. What's the reason to just go straight to Cursor? Is it just Cursor can do everything and once you get the hang of it, it's actually the most powerful tool? Yeah, I think I graduated from each tool when I kind of outgrew it. So Bolt was awesome until I was trying to connect payments to my app and I kind of started losing it and then I graduated to Cursor and I've actually fallen in love with Claude. So I'm using Claude Code, but that also runs within Cursor, and I think this is Tal who told me this. I'm not sure who he's quoting, but code is just words at the end of the day. So it's just files on your computer. So basically you can be working on the same project and carry it from app to app. And especially now, I can work with multiple models and apps on my project. So start slow, but definitely there's a lot of places you can graduate to.

这建议太棒了。再把话说清楚:如今你用的是 Cursor,底层是 Claude Code 在驱动它。我特别喜欢的一点是,你从来没写过代码——按你自己的说法,你甚至连看代码都害怕。对,百分之百。你可以做暴露疗法,我也很喜欢 Cursor 对你来说是有用的。你想告诉我们的是,从一个充当你技术联合创始人的 ChatGPT project 一路进阶上来,让你学到了足够多的东西,从而更有底气直接上手 Cursor。你说你其实在中间还去用过 Bolt 和 Lovable,然后才直接转到 Cursor。为什么要直接转到 Cursor 呢?是不是因为 Cursor 什么都能做,一旦你上手了,它其实就是最强大的工具?对,我觉得我是在「用得超出」每个工具的能力范围之后,才从那个工具毕业的。所以 Bolt 一直很棒,直到我想给我的应用接入支付,我有点搞不定了,于是我毕业去了 Cursor,然后我其实爱上了 Claude。所以我在用 Claude Code,但它也能在 Cursor 里跑。我觉得这话是 Tal 跟我说的——我不确定他是引用谁的——代码说到底就是文字而已,就是你电脑上的一些文件。所以基本上你可以在同一个项目上工作,把它从一个 app 带到另一个 app。尤其是现在,我可以在我的项目上同时用多个模型、多个 app。所以慢慢开始,但你绝对有很多可以进阶过去的地方。


[14:42] Lenny

Awesome. Okay. Should we dive into screen share showing how you operate? Awesome. I pulled up cursor. Can you see it? Mm-hmm. Perfect. So within my code base, what you can see here on the left, these are all my code files. Here on the right is Cursor. So this is basically like having AI, which has access to all the code. And here in the middle, I have Claude Code running. And what you can see here, I'm going to close cursor for a second. What you can see here are all my /commands. Basically what /commands are, they are reusable prompts that I save within the code base that I can run by writing / and then the name of the file. So here you can see Create Issue, which is the first command that I'm going to use. And basically what this tells Claude, it says the user is meant development and thought of a bug or a feature and improvement, capture it fast so they can keep working. And then it basically says, this is the format that I want you to capture the linear issue in, and it explains a bunch of things what exactly Claude needs to do to get there. So the way I invoke this is basically I'll do /create issue and this injects this prompt into Claude. So it says, "I'm ready to help you to capture this issue, what's on your mind." So basically when I'll do this is if I'm working on a big project and I suddenly come across a bug or have an idea that I don't want to work on right now, but I want to work on later, I'll do this really quick and Claude's main goal is to quickly capture what I'm thinking about. So quickly to run through my full workflow. So basically it starts with creating an issue. So this is the create issue /command, which basically tells Claude that I'm mid-development and it should quickly capture what I'm thinking about and create an issue within linear. Then later on, when I want to pick this up, I have the exploration phase. Exploration phase is basically telling Claude, we're going to only explore what we want to solve here. It could either pull from linear or I can just speak freely to it. And what it will do is it will analyze and understand the issue and just ask clarifying questions. The next phase after we've done finished exploration phase is we're going to create a plan. So you can see create plan. This basically has a template that I love for creating plans, and the output of this at the end of the day will be a markdown file with our plan that we can end up building along with code. After creating the plan, we have execute plan. After execution, we have review and then we have peer review, which is really cool and we'll get into later on, and at the end, we update the docs.

太棒了。好,我们要不要进入屏幕共享,展示一下你是怎么工作的?太好了。我已经打开了 Cursor,你能看到吗?嗯。完美。在我的代码库里,你在左边看到的这些,都是我的代码文件;右边这里是 Cursor,所以这基本上就像有一个能访问所有代码的 AI;中间这里,我跑着 Claude Code。你在这里能看到的——我先把 Cursor 关掉一下——你在这里看到的,是我所有的 /commands。基本上 /commands 是什么呢,它们是一些可复用的 prompt,我把它们保存在代码库里,我可以通过输入 / 加上那个文件的名字来运行它们。所以这里你能看到 Create Issue,这是我接下来要用的第一个命令。基本上这个命令告诉 Claude:用户正在开发中、想到了一个 bug 或者一个功能改进,要快速把它记下来,这样他就能继续工作。然后它基本上会说,这是我希望你用来记录这个 Linear issue 的格式,并且解释了一堆 Claude 到底需要做哪些事才能做到。所以我调用它的方式基本上就是输入 /create issue,这会把这段 prompt 注入到 Claude 里。于是它会说:「我准备好帮你记录这个 issue 了,你在想什么?」所以我什么时候会这么做呢——如果我在做一个大项目,突然遇到一个 bug 或者有了一个想法,但我现在不想处理、想留到以后再做,我就会非常快地做这个动作,而 Claude 的主要目标就是快速捕捉我正在想的东西。所以快速过一遍我完整的工作流。基本上它从「创建一个 issue」开始,这就是 create issue 这个 /command,它基本上告诉 Claude,我正在开发中,它应该快速记录我正在想的东西、并在 Linear 里创建一个 issue。然后到了后面,当我想拾起这个 issue 时,我有 exploration phase(探索阶段)。探索阶段基本上是告诉 Claude,我们这里只探索我们想解决的是什么。它要么可以从 Linear 拉取,要么我可以直接随意跟它说。它会做的事情就是分析并理解这个 issue,然后只问一些澄清性的问题。在我们做完探索阶段之后的下一个阶段,是我们要创建一个 plan,你能看到 create plan。这个命令基本上有一个我很喜欢的、用来创建 plan 的模板,它最终的产出会是一个 markdown 文件,里面是我们的 plan,我们最后可以照着它连同代码一起把东西建出来。创建完 plan 之后,我们有 execute plan(执行 plan)。执行之后,我们有 review;然后我们有 peer review(同行评审),这个特别酷,我们待会儿会讲到;最后,我们更新文档。


[17:14] Zevi

So this is updating documentation and everything so that agents can write better code later on. So I think what we'll do is we're going to build a feature live for my app, which I think is really cool. But first what I'd like to do is show you the app so you have some context. So this is StudyMate. It's a platform for students, which allows them to upload study materials and create interactive tests based on their own materials. So here we can go to the top. Let's upload a PDF. We can decide what pages we want to be quizzed on. We can decide the number of questions, the difficulty level. And basically what happens behind the scenes is we send the information the user uploaded along with the system prompt and any other augmentations the users decided to Gemini and we create a quiz. These are challenging questions that are meant to assess comprehension. You even have some hints and once we do a few of these, we can submit ... I got them right? Terrible results. Yeah, lucky. And so just to be really clear about this, this is like a side business that you have, an app that you built that's making money. That's like a thing you vibe coded having no technical experience. Yeah, this is my weekend project. Yeah. This is what I do. Amazing. On weekends. Yeah. So you get basically deep explanations into why each question was wrong or each question was right. And at the moment, StudyMate only has multiple choice questions. And I was doing some competitor research over the last weekend and I saw competitors who had true or false questions and also fill in the blank questions, which I loved. So I think that'd be really cool if we could build that live. How's that sound?

所以这一步是更新文档以及所有相关内容,好让 agent 们之后能写出更好的代码。所以我想我们接下来要做的是,为我的应用现场搭一个功能,我觉得这特别酷。但首先我想做的是先给你看看这个应用,好让你有点上下文。这是 StudyMate,一个面向学生的平台,让他们能上传学习资料、并基于自己的资料生成互动测验。我们可以到顶部这里,来上传一个 PDF。我们可以决定想被测验哪些页,可以决定题目数量、难度等级。基本上幕后发生的事情是,我们把用户上传的信息、连同 system prompt、以及用户决定的其他任何增强内容一起发给 Gemini,然后我们生成一份测验。这些是很有挑战性的题目,意在评估理解程度。你甚至还有一些提示,等我们做完几道,就可以提交……我做对了吗?结果很惨。对,运气好而已。把这点说得特别清楚:这就像是你拥有的一门副业,一个你自己搭出来、正在赚钱的应用。这就是那种你在毫无技术经验的情况下 vibe coding 出来的东西。对,这是我的周末项目。对,这就是我在做的事。太厉害了。在周末做。对。所以你基本上能针对每道题为什么答错、或者为什么答对,得到很深入的解释。目前 StudyMate 只有多选题。上个周末我做了一些竞品调研,我看到有竞品做了判断题,还有填空题,我很喜欢。所以我觉得如果我们能现场把这些功能搭出来会非常酷。你觉得怎么样?


[19:00] Lenny

I love it. Crossing your fingers, this all work. I just want to highlight the stuff you shared right before this in cursor. So this is a huge deal, what you describe here. This is essentially what you've figured out is a way as a person that has no idea how to write any code, how to build a product in Cursor as a product manager using this series of /commands that you've concocted that you're going to be sharing with listeners. They can download all these and just use them directly. They don't have to figure out all these prompts that you've figured out. Yeah, 100%. Basically what happened was I formulated the backbone of this with the CTO, and it was basically within the system prompt of the CTO project that I had within GPT. So it said, step one, we do this. Step two, we do this. And now I'll keep building. And if I see something that happens over and over again, I'll just create a /command and then it will be automated within the workflow. Amazing. So just to summarize the /command. So one is create an issue in Linear, which I love. Linear is awesome. Shout out Linear. That's also from the product pass. From the product pass. Oh my God, what a value? Okay. So step one is create the issue in linear. So it's a command. So this prompt /command you've created, just create issue. Then it's explore, which is explore the idea, help me ideate on what this could be. And this is Claude helping you think through the feature and product. And then it's actually create the plan.

我很喜欢这个主意。祈祷这一切都能顺利跑通。我想先强调一下你在这之前在 Cursor 里分享的那些东西。你在这里描述的是一件大事。你摸索出来的,本质上是一种方法——作为一个完全不知道怎么写任何代码的人,怎么作为一名产品经理在 Cursor 里把一个产品建出来,靠的就是你自己捣鼓出来的这一系列 /commands,而你会把它们分享给听众。他们可以把这些全都下载下来直接用,不用自己去摸索你已经摸索出来的所有这些 prompt。对,百分之百。基本上当时发生的事情是,我跟那个 CTO 一起搭出了这套东西的骨架,而它基本上就在我 GPT 里那个 CTO project 的 system prompt 里。它写着:第一步,我们做这个;第二步,我们做这个。然后我会继续做下去,如果我看到某件事一再地发生,我就会创建一个 /command,然后它就会被自动化进这套工作流里。太厉害了。那我就来总结一下这些 /command。第一个是在 Linear 里创建一个 issue,我很喜欢这个,Linear 很棒,给 Linear 喊个话。它也在 product pass 里。在 product pass 里。我的天,多超值啊。好,所以第一步是在 Linear 里创建 issue。所以它是一个命令,这个你创建的 /command prompt,就叫 create issue。然后是 explore,也就是探索这个想法、帮我把它可能是什么样子构思出来,这就是 Claude 帮你把这个功能和产品想清楚。然后才是真正地创建 plan。


[20:27]

And so it's like the AI helping you build the plan to build the product. Then it's actually execute, which is just build the thing. And then there's this review, peer review step, which is awesome that you'll share. And then there's document, update documentation based on the new feature that we're adding. Sweet. Yeah. Cool. So let's go ahead and start building. So I'm going to use Wispr Flow to dictate and basically this starts with /create issue. So this basically sends that prompt. And I love this because I usually do this during when I'm building something else. So basically it tells Claude that I'm mid building something and I don't have a lot of time to waste time on this. So just ask some brief questions so that you have enough to capture within linear. So I want to add fill in the blank questions to StudyMate. I want this to be 30% of tests to be generated as fill in the blank questions. I want there to be six potential answers for two blank spots, and of course there's only going to be two correct answers. So one correct answer and two incorrect answers for each spot and I want the interface to be drag and drop. So that's just basically a quick think of how I want this to work. So it's going to ask me a few questions. Quizzes are 100% multiple choice, question structure, single sentence passage to blanks and priority. So one and two are correct, and this is not high priority. It's a nice to have feature. So now basically what Claude is going to do is it's going to use MCP, which is basically a technology that was created by Anthropic, which gives AI the ability to use tools. So this is connected to my linear. So what it's going to do now is it's going to use everything we've said and create an issue within Linear.

所以这就像是 AI 帮你制定出搭建产品的计划。然后是真正的执行,也就是把东西做出来。接着有一个 review、也就是同行评审的步骤,这个很棒,待会儿你会分享。然后还有文档环节,根据我们新加的功能去更新文档。挺好。嗯,酷。那我们就开始动手搭吧。我会用 Wispr Flow 来语音输入,基本上是从 /create issue 开始的。这会把那个 prompt 发出去。我特别喜欢这个,因为我通常是在做别的东西的时候顺手做这件事的。所以它基本上是在告诉 Claude,我正在搭别的东西、没多少时间花在这上面,所以你就问几个简短的问题,足够让你能在 Linear 里把需求记下来就行。我想给 StudyMate 加上填空题。我希望生成的测试里有 30% 是填空题。我想要有六个候选答案、对应两个空,当然只会有两个正确答案。也就是每个空有一个正确答案、两个错误答案,而且我希望界面是拖拽式的。这基本上就是我对这个功能怎么运作的一个快速构想。接下来它会问我几个问题。测验目前 100% 是选择题、问题结构、单句段落带空格、还有优先级。所以是第一个和第二个为正确答案,这个优先级不高,是个锦上添花的功能。那么现在 Claude 要做的就是用 MCP,MCP 基本上是 Anthropic 创造的一项技术,它赋予 AI 使用工具的能力。这个已经接到我的 Linear 上了。所以它现在要做的,就是用上我们说过的所有内容,在 Linear 里创建一个 issue。


[22:30]

And by the way, as this is loading, I just love the way, the way you described this, especially doing voice mode, it's like exactly how you would talk to an engineer describing a feature, "Here's what I want." And then they ask you questions, here's the clarification. Yeah. So at first when I was doing this with the CTO, I would do it with ChatGPT voice mode, and that was crazy. That literally felt like ideating with a person. It would push back, ask questions, and maybe one day the coding tools will get there too, but that was exactly ... It really felt like sitting with my CTO. Great. So created STU88. So if we open up Linear now, we should be able to see ... Let's see where STU88. There it is. Fill in the blank questions with drag and drop interface. So it has a TLDR, it has the current state. It did a little bit of research on the code base, I think, expected outcomes, some context. So yeah, so this is basically ready for me to pick up when I'm interested in building. So now let's say a few days go by, I finished the current project I'm working on, I can pick it up. So when I pick it up, I do /exploration phase, which is what we said. And then instead of pressing enter, I'll press tab and I'll show you this. So basically, exploration phase, what it does is it will take an argument. This is basically a placeholder within the prompt, which allows me to enter something that is extra context for the AI. So I can say here, Linear STU88, which is referencing the ticket.

顺便说一句,趁它还在加载——我太喜欢你描述这个过程的方式了,尤其是用语音模式,这跟你给工程师描述一个功能时的说话方式一模一样:「我想要的是这样。」然后他们问你问题,你再做澄清。是的。所以一开始我用「CTO」这套做法的时候,我是用 ChatGPT 语音模式来做的,那种感觉太疯狂了。简直就像在跟一个真人一起做头脑风暴。它会反驳你、问你问题,也许有一天写代码的工具也能做到这一点,但当时那感觉真的就像跟我的 CTO 坐在一起。很棒。所以创建出了 STU88。如果我们现在打开 Linear,应该就能看到……我看看 STU88 在哪。在这儿。「带拖拽界面的填空题」。它有一个 TLDR,有当前状态。我想它还对代码库做了一点调研,有预期结果,有一些上下文。所以基本上,等我有兴趣开始搭的时候,这个就准备好让我接手了。那现在假设过了几天,我把手头当前的项目做完了,就可以来接手它。接手的时候,我会用 /exploration phase,就是我们刚说的那个。然后我不按回车,而是按 Tab,我演示给你看。基本上,exploration phase 做的事情是它会接收一个参数。这个参数本质上是 prompt 里的一个占位符,让我可以填入一些给 AI 的额外上下文。所以我可以在这里写 Linear STU88,引用那张工单。


[24:07]

And now what it's going to do is it's going to go, it's going to fetch the Linear ticket. And what's the idea? What's the goal of the exploration phase? This ideate on the idea. Is that the- Exactly. Okay. So it's both for the CTO to deeply understand the problem that we're trying to solve and also understand the current state of the code base, what files need to be affected, and how is the best way to implement this technically. And usually what happens is right now, Claude is just basically reading a bunch of files, understanding the basic structure of the code, and then it's going to come back with a bunch of clarifying questions that will decide how we end up implementing this. So it feels like it's talking to your engineering manager. Exactly, exactly. 100% this is how I think about it. And you said that you're a CTO, so you used to use ChatGPT prompt to have a CTO in there. Now the CTO's living inside here in Cursor? Yeah, because of the way the tools have developed and they've become so good at both exploration and code execution. So now it's just a habit that I call it a CTO, but it's basically all in one. The same agent will both do the exploration and write the plan and end up executing the code. Got it. So it's basically it's Claude Code. Is there a prompt you gave it to act like that? To act like the right kind of CTO? Yeah, so within the Claude.md, which is basically the system prompt that's loaded within Claude's context in every conversation, I have some basic stuff like this is our workflow, this is how we work. Within exploration phase, I want you to challenge my thinking, all kinds of stuff like that that can be loaded within the Claude.md file.

现在它要做的,就是去把那张 Linear 工单拉取过来。那这个想法是什么?exploration phase 的目标是什么?是对这个想法做构思吗?是不是——没错。好。所以它既是为了让「CTO」深入理解我们要解决的问题,也是为了理解代码库的当前状态、哪些文件需要被改动、以及在技术上实现这个功能的最佳方式是什么。通常的情况是,现在 Claude 基本上就是在读一大堆文件、理解代码的基本结构,然后它会带着一堆澄清性的问题回来,这些问题会决定我们最终怎么去实现它。所以这感觉就像是在跟你的工程经理对话。完全正确,完全正确,我就是这么想的,百分之百。你刚说你以前是 CTO,所以你过去会用 ChatGPT 的 prompt 在里面塞一个「CTO」。现在这个「CTO」就住在 Cursor 里面了?是的,因为这些工具发展的方式,它们在探索和代码执行两方面都变得太强了。所以现在这只是一个习惯——我管它叫「CTO」,但它基本上是多合一的。同一个 agent 既会做探索、又会写计划,最后还会执行代码。明白了。所以它基本上就是 Claude Code。你有没有给它一个 prompt 让它表现成那样?让它扮演那种合适的「CTO」?有的,在 Claude.md 里——Claude.md 基本上就是每次对话都会加载进 Claude 上下文里的系统 prompt——我写了一些基础的东西,比如这是我们的工作流、我们是这么干活的。在 exploration phase 里,我要你挑战我的思路,诸如此类的各种东西,都可以在 Claude.md 文件里加载。


[25:47]

Cool. One last question before we move on here, just because I'm thinking about it as this happens, the Linear issue that you generated, how often is it actually great and ready? How often do you have to edit it? What's the quality of the Linear ticket that it generates? Because a lot of people are probably wondering just like all these terrible linear issues are being created by AI. Are they actually any good? It's completely different because I'm a company of one. So a lot of the context is within here and there's no need for me to talk to other teams and understand. It's basically very accessible, and also I can easily see when Claude understood something wrong. I don't want to say that I would create Linear issues at work like this, but definitely if you're building your own side project, they're pretty quality. And also, it just kicks off when I want to start working on it. I wouldn't say it's ready to be built. It's ready to start being explored. Got it. So it's just the beginning of an idea. Actually, let's come back after we go through this flow of how you would approach this if you were at say Meta or another, maybe a smaller company, how this workflow might work at a larger company that isn't just your own startup. Yeah. Interesting. Let's come back to that. Cool. All right. So this is Claude coming back. I have a comprehensive understanding of the code base. I thoroughly analyzed StudyMate live codebase and understand the current system, feature quest and key areas that it's identified. Usually I'd spend a lot of time going over this because this is super, super important, but just for the sake of development right now, we're going to brush through this. Now Claude basically comes back after it's gone through the code base and understood the way it currently works. It's basically telling me what the current understanding is. So it's talking about how the app is set up at the moment, how the data is structured, what it understood from the feature quest, and what it has identified as key areas, and then it asks me some questions. So it's asking about the scope, it's asking about the data model, the UX/UI of the feature, how it should be validated, how it should be graded, what changes need to be happened to the AI system prompt and all kinds of questions about the app. I've prepared answers to all these questions beforehand because I don't think we all want to sit through this. So I'm just going to paste that in and we'll see what Claude says.

酷。在我们往下走之前还有最后一个问题,因为这事正在发生我就顺便想到了——你生成的那个 Linear issue,它到底有多少次是真的很好、直接就能用的?你有多少次需要去编辑它?它生成的 Linear 工单质量怎么样?因为很多人可能都在想,这些糟糕的 Linear issue 都是 AI 创建的,它们到底好不好用?这个情况完全不一样,因为我是一个一人公司。所以很多上下文都在我这儿,我不需要去跟其他团队沟通、去了解情况。它基本上非常容易获取,而且我也能很容易看出 Claude 哪里理解错了。我不想说我在公司里也会这样创建 Linear issue,但如果你是在搭自己的副业项目,那它们质量是相当不错的。而且,它就是在我想开始干活的时候把事情启动起来。我不会说它已经准备好被开发了,它是准备好可以开始被探索了。明白了。所以它只是一个想法的开端。其实,等我们走完这个流程之后再回过头来聊——假如你是在 Meta 或者别的、可能是规模小一点的公司,这个工作流在一家不只是你自己创业公司的更大公司里会是怎样运作的。好啊,有意思,我们待会儿回来聊这个。酷。好的。这是 Claude 回来了。「我对代码库有了全面的理解。我彻底分析了 StudyMate 的线上代码库,理解了当前系统、feature quest 以及它识别出的关键区域。」通常我会花很多时间来过一遍这个,因为这非常非常重要,但单纯为了现在演示开发,我们就快速略过。现在 Claude 基本上是在过完代码库、理解了它当前的运作方式之后回来了。它基本上在告诉我它当前的理解是什么。所以它在讲这个 app 目前是怎么搭起来的、数据是怎么组织的、它从 feature quest 里理解到了什么、它识别出了哪些关键区域,然后它问了我一些问题。它在问范围、问数据模型、问这个功能的 UX/UI、它该怎么被校验、该怎么打分、AI 的系统 prompt 需要做哪些改动,还有各种关于这个 app 的问题。我提前把所有这些问题的答案都准备好了,因为我觉得我们都不想干坐着把这个过程熬完。所以我就直接把答案粘进去,然后看看 Claude 怎么说。


[28:08]

Awesome. I love it. And I love just scanning those questions I was asking. It's like such smart, sophisticated, important questions instead of just, "Cool, here I go, I'm going to build it." Yeah, and I think this is the big difference between just vibe coding and going along with the vibes and really building serious apps. I spend a lot, a lot of time going back and forth and understanding. Also, a very cool /command that I haven't showed yet is learning opportunity, which basically when something is really difficult for me to understand, I'll do /learning opportunity and then talk about what I want to learn. And this basically primes Claude and says, "I am a technical PM in the making. I have mid-level engineering knowledge. I understand architecture and basically I want you to explain what we're currently working on using the 80/20 rule." So this is a great way to learn. I would definitely take this and every time you kind of see something that you don't fully understand, I would definitely use this to learn. Great. So Claude basically comes back and says how it understands the current data model and how it's going to implement. Yeah, so it's ready to create the plan. So basically what I'm going to do now is I'm going to go and do /create plan and while Claude is doing this, I'm going to show really quick what this looks like. So basically, these plans are from a template that I found on Twitter.

太棒了,我喜欢。我也很喜欢扫一眼它问的那些问题,全是那种很聪明、很有水平、很重要的问题,而不是「酷,我开始了,我这就去搭。」是的,我觉得这就是单纯的 vibe coding、跟着感觉走,和真正认真地搭应用之间的巨大区别。我花了非常非常多的时间反复来回、去理解。还有一个我还没展示过的、很酷的 /command 是 learning opportunity——基本上当某个东西对我来说特别难理解的时候,我就用 /learning opportunity,然后说我想学什么。这基本上会给 Claude 设定一个基调,告诉它:「我是一个正在成长中的技术型 PM,我有中级的工程知识,我懂架构,基本上我想要你用 80/20 法则来解释我们当前正在做的东西。」所以这是一个很好的学习方式。我绝对建议把这个用起来,每次你看到什么没完全搞懂的东西,我都强烈建议用这个来学习。很好。所以 Claude 基本上回来了,告诉我它是怎么理解当前的数据模型的、以及它打算怎么实现。是的,所以它准备好创建计划了。那么我现在要做的就是去执行 /create plan,趁 Claude 在做这个的时候,我快速展示一下这个长什么样。基本上,这些计划是来自我在 Twitter 上找到的一个模板。


[29:36]

I forgot who it was, but it was just a template that really resonated with me. And it's basically saying, based on our exchange, create a markdown file that will be the plan, include clear, minimal, concise steps, track the status. So this basically has like status trackers on each task that Claude updates as it's going through and it will have a TLDR, some critical decisions that we've made and the plan itself. So Claude has finished writing the plan, so we'll be able to look and see exactly what the plan is. So it has a TLDR, it has the critical decisions we've made and the tasks broken down. And this is a perfect plan and it's also a really good way to write this because a lot of times, I'll use different models to execute certain stuff. So Cursor has an amazing model called Composer, which is superfast. So a lot of things that are not that complex, I'll use Composer. Gemini 3 that just came out is unbelievable at UI. So a lot of times, I'll split the plan into backend and front end, and then I'll have Gemini just read the plan and do the front end. So having this as a markdown file is really good. And also going forward, it's really good to have within the app so that later on, if an agent is writing code in a certain area, I can see what's already been done there. So what we're going to do now is we're going to execute the plan. So now I think we're going to do this with Cursor just because Composer is so freaking fast. So what we can do is basically just say execute and then we can tag the file. And Composer is ridiculously fast. So that's it. It's off. It basically understands what the plan is and it's going to go ahead and start writing the code.

我忘了是谁发的,但它就是一个让我特别有共鸣的模板。它基本上是说,根据我们的交流,创建一个 markdown 文件作为计划,包含清晰、精简、简洁的步骤,追踪状态。所以它基本上在每个任务上都有状态追踪器,Claude 在推进的过程中会更新这些状态,它还会有一个 TLDR、我们做出的一些关键决策、以及计划本身。Claude 已经写完计划了,所以我们能看到这个计划到底是什么。它有 TLDR,有我们做出的关键决策,还有拆解开的任务。这是一个完美的计划,而且这样写也是个非常好的方式,因为很多时候我会用不同的模型来执行某些部分。Cursor 有一个很棒的模型叫 Composer,速度超快。所以很多不那么复杂的东西,我会用 Composer。刚出的 Gemini 3 在做 UI 方面强得离谱。所以很多时候,我会把计划拆成后端和前端,然后让 Gemini 直接读这个计划、去做前端。所以把这个做成 markdown 文件是非常有用的。而且往后看,把它保留在 app 里也很有用,这样以后如果某个 agent 在某个区域写代码,我就能看到那里已经做过些什么了。所以我们现在要做的就是去执行这个计划。那现在我想我们会用 Cursor 来做,就因为 Composer 实在是太快了。所以我们能做的基本上就是直接说 execute,然后把那个文件 tag 进去。Composer 快得离谱。就这样,它跑起来了。它基本上理解了计划是什么,然后就会去开始写代码。


[31:20]

Let me ask you a question while this is happening. Awesome. I have many questions, so this is a good time to ask a few of them. You said that Lovable and Bolt and other apps in that space are just not enough to build really serious apps and you have to move to Cursor to do that. Tell us more about that. Just what's the limitation you ran into with those products and why you switched to Cursor? I started using Cursor and Claude Code a few months ago and I haven't looked back, but at that time, these teams have been moving like crazy. So I don't want to say I wouldn't trust them. I don't know what the current state is. But for me, it was basically the issue of I felt that Bolt was being very opinionated on how I should do things. And I felt like my knowledge has gotten to a point where I can graduate and be more in control. By the way, I think that the main difference between all these tools is basically the harness. So the models are all the same models. I'll run Claude within Cursor, I'll run it within Claude Code, and it's also the models that Claude is also the model that is underlying Bolt and Lovable, but basically, Bolt and Lovable will add a bunch of levels in the middle that will take all kind of guesswork and hard decisions out for the user. So the user doesn't have to make these hard decisions. So it's also very easy to build, but the flip side of that is that you have less control. And basically Claude Code is just taking Claude and shoving it straight in your code system and giving it full tools and to do whatever it wants, but also with that comes a lot of decisions that you need to make. So I don't know if you can't build really amazing production apps using Bolt or Lovable now, but I think basically if you want the most cutting edge abilities of the models and you want to be able to make all the decisions on your own, it's probably best to be on one of these tools.

趁这个在跑的时候我问你个问题。好啊。我有很多问题,所以现在是问几个的好时机。你说过 Lovable、Bolt 以及那个领域的其他 app,对于搭真正认真的应用来说就是不够用,你必须转到 Cursor 才能做到。跟我们多讲讲这个。你在那些产品上到底遇到了什么限制,为什么你换到了 Cursor?我几个月前开始用 Cursor 和 Claude Code,从那以后就再没回头过,但在那个时候,这些团队一直在疯狂地迭代。所以我不想说我不信任它们,我不知道它们现在是什么状态了。但对我来说,基本上问题就在于,我觉得 Bolt 在「我该怎么做事」这件事上太有自己的主张了。而我觉得我的知识已经到了一个我可以「毕业」、可以更掌控全局的程度。顺便说一句,我认为所有这些工具之间的主要区别基本上就在于「harness(外壳)」。因为底层模型都是同样的模型。我在 Cursor 里跑 Claude,在 Claude Code 里跑 Claude,而 Claude 也是 Bolt 和 Lovable 底层的模型,但基本上 Bolt 和 Lovable 会在中间加上一堆层,把各种猜测和艰难的决策都从用户手里拿走。所以用户不用做这些艰难的决策。所以它搭起来也非常容易,但其反面就是你的掌控更少了。而 Claude Code 基本上就是把 Claude 直接塞进你的代码体系里,给它完整的工具、让它随便干它想干的事,但随之而来的也是你需要做的一大堆决策。所以我不知道现在用 Bolt 或 Lovable 能不能搭出真正了不起的生产级应用,但我觉得基本上,如果你想要模型最前沿的能力、并且想要能自己做所有的决策,那大概最好是用 Cursor 这类工具。


[33:12]

What I'm feeling and hearing is that planning work that you did, that's the stuff that Lovable, Bolt, and would you put Replit in that bucket too? Yeah, for sure. Lovable, Bolt, Replit, Base44. v0. Yeah, v0, all same bucket. So essentially, they're doing that planning for you. And as you said, they're very opinionated. They try to make it easy. So it's just like, "Here's how to do it. Here's the way we think is best for people." And what you're saying is once you're trying to get a little more serious about it or want to go in a different direction, you don't have the power to change how they plan. So Cursor lets you do that. Yeah, I don't want this to come out like I'm badmouthing them. Base44, let's say. No, absolutely. Yeah. Base44 does an amazing job at basically taking all the complex guesswork out of building product and just allows you to just go with the vibes and build, but it will do sign in with Google for you and it will do a database, but then you don't have decisions on what database am I using. Do I need sign in with Google this way or another way? It would just do it out of the box. So that's basically the trade-off there. Awesome. Shout out Maor, the founder of Base44. Yeah. Maor Shlomo. Yeah. He's amazing. Okay. I just love how this is like the way you're like flinging, what's the word? Slinging models like Gemini 3 for frontend. I love that you've never written any code and you're just like, "Cool, use Gemini for this and Claude for this. And I'm just working on Cursor, talking to this CTO, helping you build stuff and build significant product."

我感觉到、也听到的是,你做的那部分规划工作,正是 Lovable、Bolt 替你做掉的那部分——你会把 Replit 也归到那一类里吗?是的,当然。Lovable、Bolt、Replit、Base44。还有 v0。对,v0,全是一类的。所以本质上,它们是在替你做那个规划。而正如你说的,它们非常有自己的主张。它们试图把事情变简单。所以就像是:「这是做法。这是我们认为对大家最好的方式。」而你说的是,一旦你想对它认真一点、或者想往一个不同的方向走,你就没有权力去改变它们规划的方式。而 Cursor 让你能做到这一点。是的,我不希望这听起来像是我在说它们坏话。就拿 Base44 来说吧。不,完全不会。是的。Base44 做得非常出色,它基本上把搭产品里所有复杂的猜测都拿掉了,让你可以纯粹跟着感觉走、去搭,但它会替你做好用 Google 登录、会替你做好数据库,但你就没法决定我到底用什么数据库、我到底是要这样还是那样用 Google 登录。它就是开箱即用地把这些都做了。所以这基本上就是那里的取舍。太棒了。给 Base44 的创始人 Maor 点个赞。是的。Maor Shlomo。对,他很厉害。好的。我真是太喜欢你这种——怎么说呢——「甩」模型的方式了,比如把 Gemini 3 甩去做前端。我特别喜欢这一点:你从来没写过任何代码,但你就是「酷,这个用 Gemini,那个用 Claude,我就在 Cursor 上干活、跟这个『CTO』对话、帮你搭东西、搭出有分量的产品。」


[34:48]

Yeah. We just live in the craziest of times where basically the world changes once a week, it feels like. And there is just no boundaries. You can use all of these just on your regular MacBook or regular laptop. And I have these moments, I call them time machine moments, which is basically this week, for instance, I was prepping for the podcast using Claude with a project. I was building, I was fully localizing StudyMate from Hebrew to English, which I did in two days, which would probably take a dev team weeks. And I was building a personal site, which went from no domain, no nothing, to live on a domain within an hour and a half. And I was doing all three of these in parallel. And there was a point where basically all three of the agents were running, so I didn't have anything to do. I just had to let them think, and these are the time machine moments where I feel like I was in the future and I just stick my head out of the time machine and whoever's next to me, at the moment it was my wife, I'll just say, "We live in the future." And she'll be like, "Huh, what?" And I'll be like, "No, no, don't worry about it." But it's just basically so crazy that all these things are just an API away. You can use anything. So I think it's an awesome time to be curious and optimistic and hardworking. These are my favorite kinds of podcast guests. People that are living in the future, figuring out all these things and then are just kind of come back, as you said, poke your head out of the rocket ship and just like, "Hey, here's this thing that I figured out. Here's where we're going."

是啊。我们就活在一个最疯狂的时代,基本上感觉世界每周都在变一次。而且根本没有边界。这些东西你全都可以在你普通的 MacBook、普通的笔记本上用。我会有这样的时刻,我管它们叫「时光机时刻」——基本上比如说这周,我在用 Claude 配一个 project 为这期播客做准备。我在搭东西,我把 StudyMate 从希伯来语完整本地化成了英语,这件事我两天就做完了,而一个开发团队大概要花好几周。我还在搭一个个人网站,它从没有域名、什么都没有,到上线在一个域名上,只花了一个半小时。这三件事我都是并行做的。有那么一个时刻,基本上三个 agent 都在跑,所以我没事可干。我只能让它们去想,而这些就是那种「时光机时刻」,我感觉自己身处未来,把脑袋从时光机里探出来,对身边的人——当时是我太太——我就会说:「我们活在未来里。」她会说:「啊,什么?」我就会说:「没事没事,别在意。」但这真的就是太疯狂了,所有这些东西都只是隔着一个 API 而已。你什么都能用。所以我觉得这是一个非常棒的、值得保持好奇、保持乐观、努力工作的时代。这些就是我最喜欢的那类播客嘉宾。活在未来里、把这些东西都摸索明白、然后就回来——就像你说的——把脑袋从火箭飞船里探出来,说:「嘿,这是我搞明白的一个东西。这是我们要去的方向。」


[36:20]

Yeah, best time to be alive. So awesome. So it looks like it's finished. So now what we're going to do is we're going to run the app locally and we'll be able to see what Composer ended up building and we're going to see if anything else is needed on our end to maybe do some manual review. Does that sound good? Sounds great. And I love, that was like, I don't know, a few minutes where if it was a human engineer, it'd be like days, maybe a week for work. For sure. Yeah, for sure. No, Composer like the one thing is it's just so, so blazing fast, keeps you in flow. So yeah, full features take minutes. And it probably costs a couple bucks in AI credits. I don't even look. I used to be so stingy about paying for products and now I'm just basically, I look at it all as tuition, as stuff that I'm paying for learning. So I don't know how much it costs, but it's definitely worth it. That explains why they're the fastest growing products in history. 100%. Your marketing website sets the tone for your brand and is the one touchpoint that every single one of your customers sees. In today's age, if you're still having a hard time making small changes and simple updates to it, you are doing something wrong. That is why so many companies from early stage startups to Fortune 500s, including companies like DoorDash, Zapier, Perplexity, and ElevenLabs turn to Framer, the website builder that turns your .com from a formality into a tool for growth. Framer works like your team's favorite design tool and comes with real-time collaboration, a robust CMS with everything you need for great SEO and advanced analytics that includes integrated AB testing.

是啊,活着的最好时代。太棒了。所以看起来它做完了。那现在我们要做的就是在本地把这个 app 跑起来,我们就能看到 Composer 最后搭出了什么,然后我们看看我们这边是不是还需要做点别的、也许做一些手动 review。这样可以吗?听起来很好。我也很喜欢——刚才那段,我不知道,也就几分钟吧,要是换成一个人类工程师,那得是好几天、也许一周的工作量。绝对是。是的,绝对是。不,Composer 有一点就是它实在太快了、快得发烫,让你一直保持在心流里。所以是的,完整的功能只要几分钟。而且它大概只花了几块钱的 AI 额度。我都不去看。我以前对花钱买产品特别抠门,现在我基本上把这一切都看作学费,看作我为了学习而付的钱。所以我不知道它花了多少钱,但绝对是值得的。这就解释了为什么它们是史上增长最快的产品。百分之百。你的营销网站为你的品牌定下基调,它是你每一个客户都会看到的那个触点。在如今这个时代,如果你还在为了对它做一些小改动、简单更新而犯难,那你肯定是哪里做错了。这就是为什么这么多公司,从早期创业公司到财富 500 强,包括 DoorDash、Zapier、Perplexity 和 ElevenLabs 这样的公司,都转向了 Framer——这个能把你的 .com 从一个形式上的东西变成一个增长工具的网站构建器。Framer 用起来就像你团队最喜欢的设计工具,并且自带实时协作、一个强大的、拥有出色 SEO 所需一切的 CMS、以及包含集成 AB 测试的高级分析功能。


[38:01]

Changes to your Framer site go live to the web in seconds with a single click and without any help from engineering. Whether you want to launch a new site, test a few landing pages or migrate your full.com, Framer has programs for startups, scale-ups, and large enterprises to make going from idea to live site as easy and fast as possible. Learn how to turn your website into a growth engine from a framer expert or get started building for free today at framer.com/lenny, that's framer.com/lenny. Rules and restrictions may apply. So now we have this feature, which basically we built and I can ask it to make some changes because it's running locally and once it's ready, I'll be able to ship it to users. So now the next phase after I've QA'd it and basically tested it manually, I'll have Claude review its own work. So what I'll do is I'll reopen Claude Code. I love this because this is one of the things that comes up a lot in this podcast is writing code is now so easy. The main challenge people have is reviewing the code that AI has written. 100%. And what you're doing here is you're having Claude review its own code. Yeah, so this is another thing where it's very difficult for me to catch mistakes. So my review process has gone through a bunch of iterations to really be as good as possible and to catch as many things as possible. So I'll always manually QA at first to make sure if I can see any mistakes that Claude made. And then what I'll do is basically /review.

对你的 Framer 网站所做的改动,只需一次点击就能在几秒内上线到网络,完全不需要工程团队的任何帮助。无论你是想上线一个新网站、测试几个落地页、还是迁移你完整的 .com,Framer 都为创业公司、扩张期公司和大型企业准备了相应的方案,让你从想法到上线网站的过程尽可能简单快捷。去 framer.com/lenny 跟一位 Framer 专家学习如何把你的网站变成一台增长引擎,或者今天就免费开始搭建,那是 framer.com/lenny。相关规则和限制可能适用。所以现在我们有了这个功能,基本上是我们搭出来的,我可以让它做一些改动,因为它在本地跑着,等它准备好了,我就能把它 ship 给用户。那么现在,在我做完 QA、基本上手动测试过之后的下一个阶段,我会让 Claude review 它自己的工作。所以我会做的就是重新打开 Claude Code。我特别喜欢这个,因为这是这档播客里反复出现的事情之一:写代码现在已经如此容易了,大家面临的主要挑战是 review 那些 AI 写出来的代码。百分之百。而你在这里做的,就是让 Claude 来 review 它自己的代码。是的,所以这是另一件事——对我来说,要抓出错误是非常困难的。所以我的 review 流程经历了一大堆迭代,就是为了让它尽可能地好、尽可能多地抓出问题。所以我总是会先手动 QA,确认我自己能不能看出 Claude 犯的任何错误。然后我会做的基本上就是 /review。


[39:32] Zevi

And this tells Claude to start reviewing its own code. But what's even cooler and something that I'm really proud of is I will usually do multiple reviews and I'll have Codex, which is ChatGPT's competitor to Claude Code, as well as cursor open, and I will have each of them review the code. And then what I do is I have a /command called peer review, which is really interesting. And basically what it does is it's going to take Claude, which is usually the agent who I'm working with. And just to put this in a mental model, this is basically my dev lead that I'm working with. The /command is basically saying, "You're the dead lead on this project. Other team leads within the company have looked at your code and reviewed it and found these issues." Don't take what they said at face value. The reason is you have more context than them and you led this project. You need to either explain why the stuff they found are not real issues and wrong or fix them yourself. And it's really cool because the way I look at these things is I look at the models, I try to imagine them as people and I can really tell you how each one of these would be as a real human because they have- Each model. Yeah. Each model has such distinct characteristics. So let's say Claude, she would be the perfect CTO. She's very communicative. She's very smart. She doesn't just go with the flow and do whatever you tell her. She's very opinionated, but also super collaborative, which is I think why I'm always drawn to Claude because I need to do so much learning and it's your dream, a very communicative, but very opinionated dev lead, but then there's also Codex.

这条命令会让 Claude 开始审查它自己写的代码。但更酷的、也是我特别自豪的一点是,我通常会做多轮审查——我会同时开着 Codex(也就是 ChatGPT 推出的、对标 Claude Code 的产品)和 Cursor,让它们每一个都来审查这段代码。然后我会用一个叫 peer review 的 /command(斜杠命令),这个东西特别有意思。它的作用基本上是:把 Claude 当成跟我一起干活的那个人——为了方便理解,你可以把它想象成跟我搭档的研发负责人。这个 /command 实际上是在说:「你是这个项目的研发负责人,公司里其他团队的负责人看过你的代码、做了审查,发现了这些问题。但你不要照单全收,因为你掌握的上下文比他们多,而且这个项目是你主导的。你要么解释清楚为什么他们指出的东西其实不是真问题、是他们搞错了,要么就自己把它修掉。」这特别酷,因为我看待这些东西的方式是:我会把这些模型想象成具体的人,我真的能告诉你它们每一个如果是真人会是什么样,因为它们——每个模型。对,每个模型都有非常鲜明的性格特征。比如说 Claude,她会是个完美的 CTO。她很善于沟通,很聪明,她不会单纯随大流、你说什么她就做什么。她很有自己的主见,但同时又超级愿意协作——我想这就是为什么我总是被 Claude 吸引,因为我需要学的东西太多了,而她就是你梦寐以求的那种:非常善于沟通、但又非常有主见的研发负责人。不过呢,还有 Codex。


[41:27] Zevi

So I use Codex 5.1 Max, whatever. I don't know, they're not the best at naming models, but GPT's model. I always imagine it as like the best coder within the company who comes to the office with a hoodie and sandals and sits in a dark room. And you basically only bother him when you have the worst bugs and you say, "Listen, we have this bug and it will just close the door for two hours and come out and say, I fixed it." And you're like, "Wait, what? Are you going to tell us what happened or whatever?" And he's like, "Don't worry about it. I fixed it." It's like really not communicative, but it solves all the worst problems. And let's say Gemini is like a crazy scientist who's super artsy, super talented at designing, but if you sit next to it and watch it work, it's terrifying. You would fire that person instantly. This might be just my experience, but when I'm using Gemini within antigravity, which is Google's new competitor to Cursor, when it's writing code, you can see the steps it's taking and it's terrifying. You'll say, "I want you to redesign the top of the dashboard." And you're looking at its thought process and it will say, "Oh, first things first, I'll delete the dashboard." And then it'll be like, "Nope, that was a mistake. I'll bring it back." And then it will say, "Oh, can I edit the database?" And you're like, "No, do not edit the database. You're just doing a redesign." And then it will end up designing something beautiful. So the way there is a rollercoaster and very scary, but at the end of the day, Gemini is very good at design. So I think that using all these models and basically playing to their strengths and mitigating their weaknesses by using other models is a game changer for me. So I'll do peer review a bunch of times and I'll have other models review other models code and kind of have them fight it out basically. Sometimes Claude Code will get really sassy and be like, "This has been raised for the third time. And for the third time I'm telling you, this is not an issue. This is by design." So it's just a really cool thing that I've added and I haven't seen many people doing it.

我用的是 Codex 5.1 Max 之类的版本——我也搞不清楚,他们给模型起名字这事不太在行,反正是 GPT 的模型。我一直把它想象成公司里最厉害的那个程序员:穿着连帽衫和拖鞋来上班,坐在一个黑乎乎的房间里。只有遇到最棘手的 bug 你才会去打扰他,你跟他说「听着,我们有这么个 bug」,他就把门一关,过两小时出来说「我修好了」。你会愣住「等等,啥?你不打算跟我们讲讲到底怎么回事吗?」他会说「别操心了,我修好了」。就是那种完全不爱沟通、但能把所有最难的问题都解决掉的人。再比如说 Gemini,它就像个疯狂科学家,特别有艺术气质,设计天赋超强,但如果你坐在它旁边看它干活,那场面相当吓人——你会想立刻把这个人开掉。这可能只是我个人的体验,但当我在 antigravity(Google 新推出的、对标 Cursor 的产品)里用 Gemini 时,它写代码的时候你能看到它每一步在干什么,那真的很吓人。你会说「我想让你重新设计一下仪表盘的顶部」,然后你看着它的思考过程,它会说「好,首先第一件事,我把仪表盘删了」,接着又说「不对,那是个错误,我把它恢复回来」,然后它会说「我能改一下数据库吗?」你会想「不行,别动数据库,你只是在做重新设计」,但最后它还真能设计出特别漂亮的东西。所以整个过程像坐过山车一样、非常吓人,但归根结底 Gemini 在设计上确实很强。所以我觉得,用上所有这些模型,扬长避短——用别的模型来弥补某个模型的短板,这对我来说是个改变游戏规则的做法。所以我会跑很多遍 peer review,让不同的模型互相审查对方的代码,基本上让它们自己吵出个结果。有时候 Claude Code 会变得特别毒舌,会说「这个问题已经是第三次被提出来了,我第三次告诉你,这不是问题,这是设计如此。」所以这是我加进流程里的一个特别酷的东西,我还没见过多少人这么干。


[43:31]

That is such an incredible rant/way to understand what's going on. Okay, awesome. So we just ran the review. So show us what we saw there and let's actually try this peer review. I'm really excited to see what you learned there. Yeah. So basically Claude has reviewed its code and it's found a bunch of bugs, a critical bug it found in the prompt, some high bugs, some medium bugs, and now what I'll do is I'll do the same thing with the other models. So Codex has a built-in code review that you can do, or I just like to say review all the code in this branch. Of course, branch is referring to the GitHub branch that we're working on. We're not working on the live code base. And then I'll do this with Composer say with, let's do it with Composer One. So I'll do /review here as well. And basically these are both going to run and do a in-depth review similar to what Claude does. But again, because of the differences between the models, they're all going to catch different things and they're all going to look differently, and this is a really cool way to work. It's basically if you had other team leads within the company review the code. Here, you can see how fast Composer is. I think GPT probably will take a bunch of time. Like I said, it's in its own dark room right now reviewing code and we'll come back in a few minutes. Okay, cool. So we can let these run in. We don't actually have to go through the whole process, but is the idea once you get these results, you run peer review and you copy and paste kind of these results. Is that the idea?

这真是一段精彩绝伦的「吐槽」,也是理解这一切运作方式的绝佳方式。好,太棒了。我们刚刚跑完了审查,那给我们看看刚才得到了什么,咱们来真正试一下这个 peer review,我特别想看看你从中能学到什么。好的。基本上 Claude 已经审查完了它自己的代码,发现了一堆 bug:在提示词里发现了一个严重级别的 bug,还有一些高优先级的、一些中优先级的。现在我要做的是用其他模型重复同样的事。Codex 内置了代码审查功能你可以用,或者我喜欢直接说「审查这个分支里的所有代码」——当然这里的「分支」指的是我们正在做的那个 GitHub 分支,我们不是直接在线上代码库上动手。然后我会对 Composer 也做同样的事,就用 Composer One 来做吧。所以我在这里也输入 /review。基本上这两个都会跑起来,做一次和 Claude 类似的深入审查。但同样,因为模型之间存在差异,它们会捕捉到不同的东西,关注点也会不一样,这是一种特别酷的工作方式。本质上就好像你让公司里其他团队的负责人都来审查这段代码。这里你能看到 Composer 有多快,我觉得 GPT 可能要花不少时间——就像我说的,它现在正在它自己那个黑屋子里审查代码呢,我们过几分钟再回来看。好,酷。所以我们可以让这些先跑着,我们其实不用走完整个流程,但我想确认一下:是不是一旦你拿到这些结果,你就跑 peer review,然后把这些结果复制粘贴进去——是这个意思吗?


[45:04]

Exactly. I'll copy and paste the results. I'll do peer review and then I'll say dev lead one and then paste from one of the models. And then I'll say dev lead two and paste from the other model and basically have them fight it out until I feel like we have no more issues. Incredible. For me, this is super important because I'm not technical and I'm not a developer. And I'll also use /learning opportunity a bunch during this to learn about stuff that I don't understand or don't fully grasp. Incredible. What a clever solution to solving this code review problem where it's like, I don't know what you ... I don't know how to recode, so what am I going to even ... Yeah. Yeah. Okay. Incredible. Let's wrap up this workflow. Is there anything else that's important in this workflow? And again, all this stuff is going to be available where people can just plug this stuff into their Cursor account and use it themselves. 100%. The one thing I'll say is that I think just like working in general with AI and even just like working on any product, doing constant postmortems is critical. So a lot of times we'll find all these kind of bugs or maybe Claude will fail to execute something correctly. And at the beginning when I started vibe coding, I would basically just keep running at it like running at the wall and until it worked. And once it worked, I was like, "All right, awesome. This works. Let's keep going." But I've learned over time that updating documentation and tooling is one of the biggest hacks for productivity.

完全正确。我会把结果复制粘贴进去。我会跑 peer review,然后说「研发负责人一号」,把其中一个模型的结果粘进去;再说「研发负责人二号」,把另一个模型的结果粘进去,基本上就让它们吵到我觉得没有遗留问题为止。太厉害了。对我来说这一点超级重要,因为我不是技术出身,也不是开发者。我在这个过程中还会大量使用 /learning opportunity(学习机会)这个命令,来学那些我不懂或者没完全搞明白的东西。太棒了。这真是个聪明的解法,解决了代码审查这个难题——就像那种「我不知道你……我不会重写代码,那我到底能干什么……」对,对。好,太厉害了。咱们把这个工作流收个尾吧。这个工作流里还有别的重要内容吗?再说一遍,所有这些东西我们都会公开,大家可以直接把这些插到自己的 Cursor 账号里、自己用起来。百分之百。我想说的一点是,我觉得就像跟 AI 协作、甚至就像做任何产品一样,持续做复盘是至关重要的。所以很多时候我们会发现这些 bug,或者 Claude 可能某件事没能正确执行。在我刚开始 vibe coding 的时候,我基本上就是一直硬撞——像撞墙一样反复撞,直到它成了。一旦成了,我就想「行了,太好了,这能跑了,继续往下走」。但我随着时间慢慢学到,更新文档和工具链是提升生产力最大的窍门之一。


[46:31]

So when Claude will fail to do something or I'll see this really bad bug that shows that Claude really didn't understand something, I'll ask it, "What in your system prompt or tooling made you make this mistake?" And Claude will kind of like go introspective and think of what made it create that mistake. And then I'll say, "Okay, great. Let's update your tooling and documentation so that this mistake never occurs again." And I do this every time I'm either building an internal tool or anything. And I think this is just like working. If you end up doing a bunch of mistakes and then end up releasing the feature to users, so you're like, "All right, it's a big success." But going back and even when you've succeeded, looking and understanding what you did and what you could have done better is critical. And also using AI, this is probably one of the biggest unlocks. Going back to your prompts, understanding what was not good enough, iterating on them and then seeing how AI's responses get better, I think that's probably one of the most important things and one of the things that divides between people who are okay with using AI and the people who actually know how to use it. That is such good advice. So what I'm hearing is when the models do something dumb, make a mistake, you ask it to reflect on what the mistake it made was, and then you update the /command prompts with that knowledge so that in the future, it's not making that same mistake, and it just keeps getting better.

所以当 Claude 某件事没做成,或者我看到一个特别糟糕的 bug、它表明 Claude 其实根本没理解某个东西时,我会问它:「你的系统提示词或者工具链里,是什么导致你犯了这个错误?」然后 Claude 就会进入一种自省状态,去思考是什么让它造成了那个错误。接着我会说:「好,很好。我们来更新一下你的工具链和文档,让这个错误以后再也不会发生。」我每次构建内部工具或者任何东西的时候都会这么做。我觉得这就跟工作一样——如果你犯了一堆错误,然后最终把功能发布给用户,你会想「行,这是个大成功」。但即使在你已经成功的情况下,回过头去看、去理解你做了什么、本来可以做得更好的地方在哪,这是至关重要的。而且在用 AI 这件事上,这大概是最大的解锁点之一:回到你的提示词,理解哪里还不够好,对它们做迭代,然后看着 AI 的回应变得越来越好——我觉得这大概是最重要的事情之一,也是区分「能凑合用 AI 的人」和「真正懂得怎么用 AI 的人」的分水岭之一。这真是太好的建议了。所以我听到的是:当模型做了蠢事、犯了错,你让它反思自己犯的错是什么,然后你把那份认知更新到 /command 的提示词里,这样以后它就不会再犯同样的错,并且它会一直变得越来越好。


[47:56]

Exactly. These things just keep getting smarter and smarter. So you're building up this really incredible prompt that just gets better and better. Exactly. Not always the /commands. It will sometimes update different documentation or its tooling, but basically it's understanding what the root cause of the mistake that the AI made and fixing it. Awesome. So the models are getting smarter and then there's also the other parts of your workflow can get smarter as you find flaws in the way it does stuff. 100%. Yep. Amazing. Okay. Is there anything else there before I move in a couple other directions? I think that's it. I think we covered pretty much everything. Basically, just to wrap this up, what I do is I do a bunch of code review and then update the documentation so that everything is documented. So the next time I try to build a feature in this area, there won't be any mistakes. And then I'll do a bunch of testing. I'll do some user testing as well before I release this to general availability. Obviously we're not going to release this. This was just a show, but hopefully maybe by the time the podcast comes out, I'll have done this correctly and release the feature. It's incredible that this was not possible, I don't know, two years ago, maybe a year ago, you are a product manager shipping a product without knowing how to write code, barely knowing how to review code. You said you're afraid of looking at code. As a product manager, you're building a product in Cursor using all of these different AI models. You're making money with this product. We're so used to this now, but it's insane what is now possible.

完全正确。这些东西就是会一直变得越来越聪明。所以你就是在不断打磨这个特别厉害的提示词,让它越来越好。完全正确。不一定总是 /command,它有时候会更新别的文档或者它的工具链,但本质上就是搞清楚 AI 犯的错的根本原因,然后把它修掉。太棒了。所以模型在变聪明,同时你工作流的其他部分也能随着你发现它做事方式里的缺陷而变得更聪明。百分之百,对。太赞了。好,在我转向其他几个方向之前,这里还有别的内容吗?我觉得就这些了,我们基本上把该讲的都讲到了。简单收个尾:我做的就是做一堆代码审查,然后更新文档,让一切都有据可查,这样下次我想在这块区域构建功能时,就不会再出错。然后我会做一堆测试,在正式向所有人发布之前我还会做一些用户测试。当然我们不会真的发布这个,这只是为了演示,但希望也许等到这期播客上线的时候,我已经把这个做对了、把功能发布出去了。这真是太不可思议了——这在两年前、我也说不准、可能一年前还是不可能的事:你是一个产品经理,在不会写代码、勉强会看代码的情况下发布一个产品。你说过你害怕看代码。作为一个产品经理,你在 Cursor 里用所有这些不同的 AI 模型构建一个产品,你还靠这个产品赚钱。我们现在已经对此习以为常了,但现在能做到的事情真的疯狂得难以置信。


[49:29]

It's the best time to be live. 100%. I think that I understand the fear, but AI just makes it so much possible. Just a quick side note here, my brother, who I'm building one of the apps with is an entrepreneur. He has a beautiful business that helps old people and seniors understand to use technology and AI better. And he's basically doing the same kind of learning as me, and he's replaced all of the tools he was paying for. I think he was paying for Zapier and Airtable, and he's basically built a full-fledged CRM system and automation system for his business completely alone. So for the people who are curious, optimistic, hardworking, this is the best time to be a builder. And what I love about this conversation we're having here is it feels like the biggest barrier for a lot of people is like, how do I get started? What exactly do I do? I open up cursor. It looks very intimidating. I don't know how to write code. I don't know how to build stuff. I don't know about databases. And so you're going to be sharing all these /commands and basically this whole workflow with the audience. Yeah. Okay. And like I said, just start at GPT. Start on GPT, tell it what your idea is, tell it to explain to you what are even the first steps of thinking, what are the decisions you need to make? And just be inquisitive, learn. Don't rush things. It's very important to just dive in and really spend the time to learn.

这是活着的最好时代。百分之百。我能理解那种恐惧,但 AI 真的让太多事情成为可能。这里插一句题外话,我有个兄弟,我和他一起在做其中一个 app,他是个创业者。他有一份很棒的业务,专门帮助老人和银发族更好地理解怎么使用科技和 AI。他基本上在做和我一样的学习,而且他已经把所有他原本付费的工具都替换掉了——我记得他之前在为 Zapier 和 Airtable 付费,现在他基本上完全靠自己一个人,为他的业务搭建了一套完整的 CRM 系统和自动化系统。所以对那些好奇、乐观、肯下功夫的人来说,这是当一个 builder(构建者)最好的时代。我特别喜欢我们这次对话的一点是:对很多人来说最大的障碍似乎就是「我该怎么开始?我到底要做什么?我打开 Cursor,看起来非常吓人,我不会写代码,我不会构建东西,我不懂数据库。」所以你接下来会把所有这些 /command、基本上整套工作流都分享给观众。对。好。就像我说的,先从 GPT 开始。从 GPT 起步,告诉它你的想法是什么,让它给你解释——连思考的第一步都是什么、你需要做哪些决策。然后保持好奇、去学,别着急。一头扎进去、真正花时间去学,这非常重要。


[50:55]

And you share this. One of your /commands is learning opportunity, and it's how you learn a lot of these things. Just teach me this thing and how this database issue works. Exactly. Okay. There's a couple directions I want to make sure we touch on. One is coming back to a question I asked earlier about how this might work at a larger company. Say it's not like Meta, but just like, I don't know, a thousand person company, 500 people. How much of this can you plug and play into a workflow as a PM at a larger company? What would be your advice for someone that may want to start trying to ship code, at least showing people what's possible? I think that first making your code base AI native is a really important step, and I think this needs to be done by technical people. So basically my codebase has a ton of just plain text in it. So it will have a bunch of markdown files that explain to agents how to work in certain areas of the code base and high level structure so that the agents navigate through the code base easier. And I think that if this is set up in a really good way, I still don't think PMs should be shipping heavy database chain migrations or any big project, but contained UI projects, especially if you just build it, create the PR and send it to a dev to do the final finishes. I think that's definitely something that's possible. And I think we're going to see that a lot in the next coming years. I think basically everyone's going to become a builder, so it should be really interesting.

你也分享了这一点。你的其中一个 /command 就是 learning opportunity(学习机会),你很多东西就是这么学会的——「教教我这个东西,这个数据库的问题是怎么回事」。完全正确。好。有几个方向我想确保我们能聊到。一个是回到我之前问过的一个问题:这套东西在一家更大的公司里可能会怎么运作。比如说不是像 Meta 这样的,而就是、我也说不好,一家千人公司、五百人的公司。作为一家更大公司里的 PM,这套东西有多少是你能即插即用地塞进工作流里的?对于那些可能想开始尝试发布代码、至少想给大家展示一下「这是有可能的」的人,你会给什么建议?我觉得首先,让你的代码库变得「AI 原生」是非常重要的一步,而且我觉得这件事需要由技术人员来做。所以基本上,我的代码库里有大量纯文本:里面会有一堆 markdown 文件,向 agent 解释如何在代码库的某些区域工作、以及高层结构,好让 agent 在代码库里导航得更顺畅。我觉得如果这个东西搭建得非常好,我还是不认为 PM 应该去发布那种重度的、涉及数据库连锁迁移的改动,或者任何大项目,但是范围受限的 UI 项目——尤其是如果你只是把它构建出来、创建 PR、然后发给一个开发者去做最后的收尾——我觉得那绝对是可行的。而且我觉得未来几年我们会大量看到这种情况。我觉得基本上人人都会成为 builder,所以这应该会非常有意思。


[52:25]

Okay. So your advice here is as a PM, maybe don't go right to Cursor, start building, shipping, trying to ship features to production, especially complicated features. Do you think we'll get there? Do you think in a couple years, PMs will be doing this and it'll feel less scary and crazy? If there are PMs. Yeah, I think titles are going to collapse and responsibilities are going to collapse and everyone's just going to be building. I definitely think that the models, the context window is getting bigger, the models are getting smarter and I definitely see how PMs or any other background can be writing. At the moment, I wouldn't wait for that. I would use this as a collaborative learning opportunity to work with your dev team. It's going to be difficult. A lot of developers are very, very skeptic about the current state, and I think that it's going to be a lot of sales work on your end to convince, but if you're able to convince, and I think teams that are really sold on this and want to take the time to work on their workflow about how can our team become more AI native, I think that these teams are going to probably be a few years in the future and they're going to look back at the few weeks they spent setting this up as the best time they spent. Let me ask you another question around just the job of a PM. One of the biggest fears people have with these AI tools for PMs for every function I imagine is just you start to rely on these things, your skills start to atrophy, you're producing all this slop that looks great, cool, amazing strategy doc. No, it's actually not at all good. Are these Linear tickets or just products that are half-baked? What's your take on these two parts of just like, how has this impacted your craft as a PM? Do you feel like this is weakening your skills because you're so reliant on these tools and just how do you keep the quality of this stuff up and not just like, "Eh, it's just a bunch of AI generated slop."

好。所以你在这里的建议是:作为一个 PM,也许别一上来就直奔 Cursor、开始构建、开始发布、试图把功能发到生产环境,尤其是复杂的功能。你觉得我们会走到那一步吗?你觉得几年之后,PM 会做这件事,而且会感觉没那么吓人、没那么疯狂吗?前提是那时候还有 PM 这个岗位。对,我觉得职位头衔会坍缩,职责也会坍缩,所有人就都是在构建东西。我绝对认为模型、上下文窗口在变大,模型在变聪明,我也确实能看到 PM 或者任何其他背景的人将来能去写代码。但就目前而言,我不会坐等那一天。我会把现在当作一个协作式的学习机会,去和你的开发团队一起干。这会很难——很多开发者对现状非常非常怀疑,我觉得你这边需要做大量的「销售」工作去说服他们,但如果你能说服成功……我觉得那些真正认可这件事、愿意花时间去打磨自己工作流(去想「我们团队怎么才能变得更 AI 原生」)的团队,我觉得这些团队大概会领先几年,而且他们回头看自己花在搭建这套东西上的那几周时,会觉得那是他们花得最值的时间。让我再问你一个关于 PM 这份工作本身的问题。人们对这些 AI 工具最大的恐惧之一——对 PM、我猜对每个职能都是——就是你开始依赖这些东西,你的技能开始退化,你产出一大堆「看起来很棒」的垃圾:酷,了不起的战略文档。不,它其实一点都不好。这些 Linear 工单、或者就是一些半成品的产品——你对这两个层面的看法是什么?就是说,这对你作为 PM 的「手艺」产生了怎样的影响?你会觉得这在削弱你的技能吗,因为你这么依赖这些工具?以及你怎么保持这些东西的质量,而不是变成「哎,就是一堆 AI 生成的垃圾」?


[54:25] Zevi

I have a very strong disagree to this and I've heard it a bunch. I remember when I started using Tal Raviv has this whole course on building a PM Copilot using projects, which is probably one of the best courses that you can take. And when I started working with my own Copilot, I remember people at work looking and saying like, "Oh, so you're basically outsourcing your thinking." And to me, that's just the worst way to look at it. And I think for some reason, these people usually have a high correlation with the kind of person who doesn't like to show their presentation when it's only 10% done or doesn't want to ask for help a lot. I think that there's a misconception with a lot of PMs that the job is always having the right answers and being the smartest person in the room. And at least how I was trained and how I believe the role of the PM is, it's the exact opposite. It's basically harnessing anything that can get us as quick as possible to delivering the right solution to users. And I just think this is like that really smart person that has context or your mentor or whatever, but is just always available and doesn't judge you and can really help you. So if you're using it to just create your outputs and then putting them out there, yeah, that's AI slot, but it's also human error. I think it's really important that you own your own outputs. If you put anything out there or show something in a product review and you say, "Oh, sorry, that was built by AI." That's your mistake. I think if you use these intentionally and really take the time to understand how to use AI in the correct way, it's one of the biggest game changers that will make you much better as a PM. And another thing here is that, especially for more junior PMs, it allows you to play at such a higher level than you would normally. I think that at Wix, I wasn't thinking of what's the marketing strategy of the company and how will the onboarding be completely revamped within the whole product. But on my side product, I can just do whatever decisions I want and think of the strategy and marketing and the messaging.

对这一点我非常强烈地不同意,而且这种说法我听过很多次了。我记得我刚开始用的时候——Tal Raviv 有一整门课,讲怎么用 projects 功能搭建一个 PM Copilot,那大概是你能上的最好的课程之一。当我开始用我自己的 Copilot 工作时,我记得公司里有人看着就说:「哦,所以你基本上是在把你的思考外包出去。」对我来说,这是看待这件事最糟糕的方式。而且我觉得不知为何,说这种话的人通常和那种「不愿意在演示文稿只完成 10% 时就拿出来给人看」、或者「不太愿意求助」的人高度相关。我觉得很多 PM 有一个误解,以为这份工作就是永远要有正确答案、要做房间里最聪明的人。但至少按我所受的训练、以及我所相信的 PM 这个角色的定位,恰恰相反——它本质上是去借助一切能帮我们尽快把正确的解决方案交付给用户的东西。我就觉得它就像那个特别聪明、又掌握上下文的人,或者你的导师之类的,只不过它随时都在、不会评判你、还能真正帮到你。所以如果你只是用它来生成你的产出、然后直接把东西丢出去,那对,那是 AI 垃圾——但那也是人的错。我觉得很重要的一点是,你要对自己的产出负责。如果你把任何东西丢出去、或者在产品评审会上展示了什么,然后你说「哦,抱歉,那是 AI 做的」,那是你的错。我觉得如果你有意识地使用这些工具、真正花时间去理解怎么以正确的方式用 AI,它会是最大的游戏规则改变者之一,会让你作为 PM 变得强得多。还有一点是,尤其对那些更初级的 PM 来说,它能让你在一个比平常高得多的层级上施展。我觉得我在 Wix 的时候,我不会去思考公司的市场营销战略是什么、整个产品里的 onboarding 该怎么彻底翻新。但在我自己的副业产品上,我可以做任何我想做的决策,去思考战略、市场营销和信息传达。


[56:39] Zevi

And this is basically just getting me reps, which is one of the most important things at the beginning of your career. So I understand the fear that how do you outsource certain stuff and you're not owning 100% of everything, but I think the upside is so much more valuable. And I think the only way that AI makes you worse at your job is if you're using it wrong. Is there anything that you've learned about reducing the sloppiness of the output, just like a tip for keeping the quality high of the stuff that it produces? Similar to people, setting up AI for success, for the task at hand. So if I just brought in a junior to write a deck or something and I didn't give it any guideline, I just said, "Give a strategy deck." He would probably just go online and find top strategy deck and just reproduce that, which is basically what AI is doing. It's basically just fed all of the internet. So instead of that, guiding it and giving it context on what your style of writing is and what you're trying to solve and all these different things, I think that's probably one of the biggest unlocks. So that's just a quick tip. And also Cursor has a /command called deslop, which is basically going back over the code. I don't know if this is integrated into the product yet, but it's on Twitter. Their founders have been talking about this, so that's definitely something I would run after just to make sure that no slop is left behind.

而这本质上就是在让我攒经验值,这是职业生涯初期最重要的事情之一。所以我能理解那种恐惧——你怎么把某些东西外包出去、而你又没有 100% 地掌控一切——但我觉得它带来的好处要有价值得多。而且我觉得 AI 唯一会让你工作变差的情况,就是你用错了它。关于减少产出的「垃圾感」,你有没有学到什么——就是一个能让它产出保持高质量的小技巧?跟对人一样,要为手头的任务给 AI 创造成功的条件。所以如果我只是叫来一个初级员工去写一份演示稿之类的,我什么指引都不给,只说「给我一份战略演示稿」,他大概就会上网找一份顶级的战略演示稿、然后照着复刻一份——而这基本上就是 AI 在做的事。它本质上就是被喂了整个互联网。所以与其那样,不如去引导它,给它上下文:你的写作风格是什么、你想解决的是什么、以及所有这些不同的东西,我觉得那大概是最大的解锁点之一。这就是一个小技巧。另外,Cursor 有一个叫 deslop(去垃圾)的 /command,本质上就是回过头去过一遍代码。我不确定这个功能是否已经集成进产品里了,但它在 Twitter 上有,他们的创始人一直在聊这个,所以那绝对是我会跑一下的东西,就为了确保没有任何垃圾被遗漏。


[58:12]

That is so funny, deslop. Okay. One more question, which may lead to something else, but kind of going in a whole different direction. You used AI to help you actually interview for the job that you got at Meta. Talk about how you did that, because a lot of people right now are struggling to find a job reading about all these people using AI to help them interview. You actually did it. What did you use? What worked? I feel like the analogy here is I have 12 nieces and nephews and you can see how people who have grown up in a different world, how their mind is formed differently. So if you ask me, how do you answer a phone, I'll do this. But a child now, when you say, "How do you answer the phone?" They'll do this. They'll do the iPhone answer. And I feel like people who are growing up now in their professional lives were the same just with AI. So every time I'm faced with a new challenge or problem, I think AI first how to solve it. So Meta reached out and said they'd like me to interview. Straight away, I opened up a project within Claude. I started looking online for all the best information out there, things that I resonated with. I took a ton of frameworks and stuff from Ben Erez who has written a guest post for you, who I think is one of the best minds out there right now. And basically I created a project which was my coach, which I would come and consult what to do at each phase. I would mock interview with, and this was amazing. Also, I created a game in Base44, which helped me ... I was really struggling with segmentation within the product questions, so thinking of the correct segments. So I basically just created a quiz game, which creates questions and different segmentations and I have to choose. So this was like, I spun this up. It's a web app that I would play sometimes when I was on the bus to work. So basically, I think Ben talks about this a bunch, so I don't just go read Ben's stuff, but just creating a project and feeding it with all the best information on the internet and then mocking a bunch. I will say that the biggest game changer for me was doing human mocks. So cold outreaching to people on LinkedIn and having them do actual mocks for me, I think that at the end of the day, especially for the Meta PM prep, which is super competitive and difficult, I think there's no way to get around that.

太逗了,"deslop"(去糟粕)。好。再问一个问题,它可能会引出别的话题,不过方向完全不一样了。你曾用 AI 来帮自己准备 Meta 的求职面试,最后还真拿到了 offer。讲讲你是怎么做的吧,因为现在很多人都在为找工作发愁,到处都能看到有人用 AI 帮自己面试。你是真的做成了。你用了什么工具?哪些方法有效?我觉得这里有个很贴切的类比:我有 12 个外甥和侄子侄女,你能看出在不同年代长大的人,他们的思维方式是怎么被塑造得不一样的。比如你问我"怎么接电话",我会这样做(拿听筒的动作);但你现在问一个孩子"怎么接电话",他会这样做——他会做出 iPhone 滑动接听的动作。我觉得现在步入职场的人也一样,只不过他们的"母语"是 AI。所以每次我碰到新的挑战或问题,我都是"AI 优先"地去想怎么解决。所以当 Meta 联系我说想让我去面试时,我马上就在 Claude 里开了一个 project。我开始在网上搜罗所有最好的资料,那些让我有共鸣的内容。我从 Ben Erez 那里借鉴了大量的框架——他给你写过一篇客座文章,我觉得他是当下最厉害的头脑之一。基本上我创建了一个 project 当作我的"教练",每个阶段我都会来咨询它该怎么做,还会跟它做模拟面试,这非常棒。另外,我还在 Base44 上做了一个游戏,它帮了我大忙——我当时在产品类问题里的"用户分群"上特别吃力,就是想不出正确的细分群体。所以我干脆做了一个测验小游戏,它会生成题目和各种不同的分群方式,让我来选。我就这么把它快速搭了起来,是个网页应用,我有时候坐公交去上班的路上就会玩。所以基本上——我觉得 Ben 也讲过很多这方面的内容,所以我不是只去读 Ben 的东西,而是创建一个 project,喂给它互联网上所有最优质的资料,然后大量做模拟。我得说,对我而言最大的转折点是做"真人模拟"。也就是在 LinkedIn 上去陌生私信别人,请他们真的帮我做模拟面试。我觉得归根结底,尤其是对 Meta PM 的面试准备来说——竞争极其激烈、难度极高——这一步是绕不过去的。


[1:00:38]

That is so cool they use that post. I wasn't aware. We're going to link to it. And in that post, Ben shares all these prompts you can feed ChatGPT to help you prepare for interviews, do mocks online. It's a really important point to say that those take you to a point, but it's actually better to use humans. I actually have a post coming out soon in collaboration with Noam Segal about how everyone is using AI to interview. And one of the most interesting ways I've heard people and that we've found in this research was that people use it to get feedback. They record the interview and then it gives them feedback. Here's where you could have done better. Here's what you missed because the feedback loop is so missing. No one ever tells you, here's what you did badly in this interview. No one tells you that, and AI can do that. So I'll add two things to that. One, which is exactly this. So I'll mock with AI. Also, I did something really cool where there's a question bank online free by Louis Lynn, which basically is an always updating bank of questions that people are asked in real interviews. And I basically used Comet, which is the Perplexity's browser. And I had the agent run all kinds of analyses on what the most asked questions are. And that's how I knew how to prioritize what questions I would mock. And then at the end of these mocks, I would tell Claude within the project, "You're my coach and I don't want you to make me feel good. I want you to make me as ready as possible for these interviews. So give me feedback, like you said."

他们用了那篇文章太酷了,我都不知道这事。我们会把它放进链接里。在那篇文章里,Ben 分享了一堆你可以喂给 ChatGPT 的 prompt,帮你准备面试、在线做模拟。有一点很重要:这些工具能带你到一个程度,但实际上用真人效果更好。我自己也有一篇文章快要发布了,是和 Noam Segal 合作的,讲的是大家都在怎么用 AI 来准备面试。在这次调研里,我听到的、我们发现的最有意思的用法之一,是人们用它来获取反馈。他们把面试录下来,然后让 AI 给反馈:这里你本可以做得更好,这里你漏掉了什么。因为这个反馈闭环太缺失了——从来没人会告诉你,你这场面试哪里做得不好。没人会告诉你这些,而 AI 可以。所以我要在这基础上补充两点。第一点,正是你说的这个:我会跟 AI 做模拟。另外,我还做了一件特别酷的事——网上有个由 Louis Lynn 维护的免费题库,基本上是一个持续更新的题库,收录了人们在真实面试里被问到的问题。我用了 Comet,也就是 Perplexity 的浏览器,让它的 agent 跑了各种分析,看哪些问题被问得最多。我就是这样知道该优先准备哪些问题去做模拟的。然后在每场模拟结束时,我会在那个 project 里告诉 Claude:"你是我的教练,我不要你让我感觉良好,我要你把我打磨到能尽可能充分地应对这些面试。所以像你说的那样,给我反馈。"


[1:02:07]

And the other thing that I did was really cool was some questions where I didn't have time to mock. I would ask Claude to play the candidate, and then it would just give me a really good answer. And I could also learn from that, like learning from someone who does a perfect answer. Oh, man. I really love the way you phrased it, that people kind of in your generation, the default is, "I have something I need to do. Let's go to AI immediately and help me prepare for this thing, help me figure it out." Yeah. And this comes back to this quote that I always think about, which I think everyone is always hearing, but it's such an important quote that it's not that you will be replaced by AI at least for a long time. It's you'll be replaced by someone who's better at using AI than you. I agree. And that's what these conversations are for to help people keep up with all that and to learn some of these skills. And again, see where the future is going and start to learn how to get there yourself. Okay. Zevi, before we get to our very exciting lightning round, I'm going to take us to a recurring segment on this podcast I call Failure Corner. And why I love this segment is people come on this, just even this conversation, it's like all these amazing things you figured out, everything is going so well. People rarely hear the things that don't go well, and those are often the most interesting and impactful stories. So the question is just, what's the story of a time you failed in your career and what did you learn from that experience?

我做的另一件特别酷的事是:有些问题我没时间去做模拟,我就让 Claude 扮演候选人,它会直接给我一个非常好的回答。我也能从中学习——就像从一个回答得很完美的人身上学习。哦,天哪。我真的很喜欢你刚才那个说法——你们这一代人的默认反应是:"我有件事要做,那马上去找 AI,让它帮我准备这件事、帮我搞清楚怎么做。"是的。这又让我想起一句我一直在琢磨的话,我觉得大家应该都听过,但它太重要了:并不是说你会被 AI 取代——至少在很长一段时间内不会;而是你会被一个比你更会用 AI 的人取代。我同意。而这些对话存在的意义就在于此——帮大家跟上这一切,学会其中一些技能,看清未来的走向,并开始学习如何自己抵达那里。好。Zevi,在我们进入非常激动人心的快问快答之前,我想带大家进入这个播客的一个固定环节,我把它叫做"失败角"。我为什么喜欢这个环节——大家来上节目,就拿这次对话来说,全是你想明白的各种了不起的事情,一切都进展顺利。人们很少听到那些不顺利的事,而那些往往才是最有意思、最有影响力的故事。所以问题很简单:讲一个你职业生涯中失败的经历,以及你从那次经历里学到了什么。


[1:03:26]

Yeah, I love this. I love this. I love Failure Corner, big fan. So I'll tell a story about when I started at Wix. So basically I started within Wix as a student program and straight out of the student program, you get put into a certain team. So I was in the editor, which is the core product of Wix. And the other PMs were just the best PMs almost at Wix. There's four other people had much more experience than me and they were ridiculously good. And I remember coming in and thinking like, my first product review, I'm going to blow these people's socks off. They're not going to believe how good of a PM I am. And I basically didn't really share what I was thinking. I would work tons of hours alone and I was like, "I'm going to kill this product review. They're going to be so impressed." And I ended up failing miserably. My product review was not good. It wasn't the format they expected. They had a ton of questions that I missed and I felt awful when it was over. I was like, "Ah, you're such an idiot." And I saw that everyone was like, "All right, cool. Yeah, just come back in two weeks and we'll keep getting at this." And I understood in that moment that they had zero expectation of me being a 10X PM, but the expectation of me was being a 10X learner. And the second I understood that, my whole mindset shifted. And I think this is probably the best tip that I give now to junior PMs is basically be the best learner you can be at the beginning. No one expects you to know all the answers and no one expects you to be good. So basically what I did was I took each person on the PM team, there was four other PMs and I assessed what their strength is and used them as a mentor for that. So Neri who's still my mentor till today, he has the best product sense of anyone I've met. Oya is super, she's like a methodology expert. She just thinks in frameworks. Yahra, who is the head of product, basically can look at a product and then instantly understand the third and fourth order effects of them, the system thinking. So every time I had an issue with one of these areas, I would come to one of them and consult them, and this does two things. First of all, I learned a ton.

好,我喜欢这个,我喜欢这个。我很喜欢"失败角",铁粉。那我讲一个我刚加入 Wix 时候的故事。基本上我是通过一个学生项目进的 Wix,从学生项目一出来,你就会被分到某个具体的团队。我被分到了 editor 团队,那是 Wix 的核心产品。而其他几位 PM 几乎是 Wix 里最顶尖的 PM。还有四个人,经验都比我多得多,他们厉害得离谱。我记得我刚进去的时候就想:我的第一次产品评审,我要让这些人惊掉下巴,他们绝对不敢相信我是个多厉害的 PM。然后我基本上就没怎么把我的想法分享出来。我一个人埋头干了无数个小时,心想:"我要在这次产品评审上大杀四方,他们会对我刮目相看。"结果我惨败收场。我的产品评审做得很糟糕,不是他们预期的那种格式,他们问了一堆我没考虑到的问题,评审结束时我感觉糟透了,心想:"啊,你真是个白痴。"然后我看到大家的反应是:"行,挺好,那两周后再来,我们继续推进这事。"那一刻我明白了,他们对我根本没有"成为一个 10X PM"的期待,他们对我的期待是"成为一个 10X 学习者"。我一明白这点,整个心态就转变了。我觉得这大概是我现在给初级 PM 的最好建议:一开始就尽你所能做最好的学习者。没人指望你知道所有答案,没人指望你很厉害。所以我做的事情是:我把 PM 团队里的每个人——还有另外四位 PM——挨个评估了一遍,看他们各自的强项是什么,然后把他们当作那个领域的导师。比如 Neri,到今天都还是我的导师,他的产品 sense 是我见过的人里最好的。Oya 非常厉害,她是方法论专家,她的思维就是用框架在运转。Yahra 是产品负责人,基本上能看一眼一个产品,就立刻理解它的三阶、四阶效应,那种系统性思维。所以每次我在某个领域遇到问题,我就会去找他们其中一个人请教,这样做有两个好处。首先,我学到了非常多东西。


[1:05:35]

And the second thing is that when the next time, the next product review, my success felt to them like their success because it wasn't this kid who's trying to show us up how cool he is. It was like our mentee kind of making us all proud. And it was such a great shift for me. And basically at the end of the day, I really excelled through this. That is an awesome story. And this idea of learning is such a good thread throughout this whole conversation that AI is good at getting stuff done, but it's also really good at helping you learn how to do the thing and to be this partner, this thought partner, the way you talked about the interview process you went through and this learning opportunity /command. So awesome. Great story. Zevi, okay. Before we get to our very exciting lightning round, is there anything else that you wanted to share? Anything you want to leave listeners with? Yeah. So kind of to tie back into the first thing I said where if people walk away thinking, "Zevi's so cool." Then I've failed here. I think that it's just the best time to be alive, I think. It's the best time to be a junior contrary to what a lot of people are saying how there's no more junior roles out there and people get out of school and you can't find a role. Yeah, that's true. But also when else in history could you get out of school and just build a startup on your own with a couple of friends completely bootstrapped. And I see more and more people towards the end of my time at Wix, I was interviewing and I saw more and more people building their own stuff with AI. And I think contrary to what a lot of people think, it's the best time to be a junior. It's the best time to be a learner. And I think if any listener is listening to this and you're a curious person, you're a hardworking person, I want to say kind, I'm not sure, but if you're a kind person and a good communicator, you have such an unfair advantage and you can give more value to companies than most people who have 20 years of experience. So I really hope people get inspired by this and start killing it with their projects.

第二件事是,到了下一次——下一次产品评审的时候,我的成功在他们看来就像是他们自己的成功,因为我不再是那个想盖过他们、炫耀自己多酷的小子了,而是"我们的徒弟",让我们大家都觉得骄傲。这对我来说是个非常棒的转变。基本上到头来,我靠这个方式真的做得非常出色。这是个超棒的故事。而"学习"这个理念是贯穿整场对话的一条绝佳主线——AI 擅长把事情搞定,但它也非常擅长帮你学会怎么做这件事,擅长当你的伙伴、思考伙伴,就像你描述的那段面试准备过程、那个学习的机会一样。太棒了,很棒的故事。Zevi,好。在我们进入非常激动人心的快问快答之前,还有什么你想分享的吗?有什么话想留给听众的吗?有。那就呼应一下我最开始说的那句话——如果大家听完走的时候想的是"Zevi 真酷",那我这次就算失败了。我觉得,现在就是最好的活着的时代。我觉得现在是当一个"初级"的最好时代——这跟很多人说的恰恰相反,他们说现在没有初级岗位了,人们一出校门就找不到工作。是的,这是真的。但同时,历史上还有什么时候,你能一出校门就和几个朋友、完全不靠融资地自己搭一个创业公司?在我 Wix 任期快结束的时候,我在做面试官,我看到越来越多的人用 AI 在做自己的东西。我觉得跟很多人想的相反,现在是当初级的最好时代,是当学习者的最好时代。我想说,如果有任何听众正在听这期节目,而你是个有好奇心的人、是个勤奋的人——我想说"善良",虽然我不太确定,但如果你是个善良的人、是个好的沟通者,那你就拥有巨大的、不公平的优势,你能给公司带来的价值,比大多数有 20 年经验的人还要多。所以我真心希望大家能从这里受到启发,开始用自己的项目大干一场。


[1:07:44]

Amazing. So many ways to be inspired from this conversation. Zevi, with that, we've reached our very exciting lightning round. I've got five questions for you. Are you ready? Yep, let's do it. What are two or three books that you find yourself recommending most to other people? So I'll take one from each kind of genre. So in fiction, I love The Fountainhead by Ayn Rand, one of my favorite books. Really makes you think, really makes you feel. Business books, I'm a big fan of Shoe Dog, the Nike story, one of my favorite books. I just finished reading that. So funny. Amazing. This is great. It was great. Yeah. I love Shoe Dog. And then more on the psychology side Mindset by Carol Dweck, who coined the term growth mindset. It's just such an amazing book. It kind of sounds like a self-help book, but then you understand that it's completely psychological and is based on research and that book completely changed my life. Really, I was always with a fixed mindset, and then after reading that, I kind of understood that it was something holding me back. And since then, I've been really, really trying to cultivate a growth mindset. So I really recommend everyone reading that. Again, connects to that thread of the way you described it, being a 10X learner versus a 10X doer. Okay. Next question. Favorite recent movie or TV show you have really enjoyed? Yeah, actually, my wife is really into film, so we watch a lot of TV. It's probably our favorite together time. I just finished watching The Pitt, which was amazing. It was really good. And my first recommendation to everyone is if you haven't seen Severance run to see Severance, one of my favorite shows.

太棒了。从这场对话里能得到这么多受启发的角度。Zevi,那么我们就进入非常激动人心的快问快答环节了。我有五个问题要问你。准备好了吗?准备好了,来吧。有哪两三本书是你发现自己最常推荐给别人的?那我每个类别各挑一本。小说类,我爱 Ayn Rand 的《源泉》(The Fountainhead),是我最喜欢的书之一,真的会让你思考、让你有感触。商业类的书,我是《鞋狗》(Shoe Dog)的铁粉,那本讲 Nike 的故事,是我最爱的书之一。我刚读完。太巧了,太棒了。真好,确实很棒。是啊,我很爱《鞋狗》。然后偏心理学这边,是 Carol Dweck 的《终身成长》(Mindset),"成长型思维"这个词就是她提出来的。这本书太了不起了。它听起来有点像一本自助书,但你读下去就会明白,它完全是心理学的、基于研究的,那本书彻底改变了我的人生。真的,我以前一直是固定型思维,读完之后我才有点意识到,原来是这个东西在拖累我。从那以后,我就一直非常非常努力地去培养成长型思维。所以我真心推荐每个人都读一读。这又一次连到了那条主线——就是你说的,做一个 10X 学习者,而不是一个 10X 实干者。好,下一个问题。最近你真正很喜欢的电影或电视剧是哪部?是这样,我太太特别爱电影,所以我们看很多剧,这大概是我们俩最喜欢的共处时光。我刚看完《急诊室》(The Pitt),非常棒,真的很好。而我给所有人的第一个推荐是:如果你还没看过《人生切割术》(Severance),赶紧去看,那是我最喜欢的剧之一。


[1:09:20]

Is there a favorite product that you have recently discovered that you really love? This is a good question. I'm always trying new products. I'll always have three or four browsers installed on my computer and all this different kind of stuff, and I recently discovered a Loom alternative. I was kind of disappointed with Loom. They were taking so much money and the product, I don't know, I just didn't love it. And there's an open source alternative called Cap, which is just really well-crafted. You can see that the person was really sweating the details and it's just a really, really great alternative. So I've been using that recently. There's also a product called Supercut that I love that's also a Loom alternative. Shout out. Okay. Two more questions. Do you have a favorite life motto that you find yourself coming back to in work or in life? Yeah. I'm kind of between two right now. One, which has become a Twitter meme basically, which is you can just do things. I feel like that is basically going always in my head every time I do something that I'm just shocked at the speed and ability to do things now so you can just do things, and the second one I stole from my brother. His motto is nobody knows what the fuck they're doing. And I just love that. And I think it kind of makes you take life more lightly. So yeah, nobody knows what the they're doing. I think people see these companies on the outside and it feels like everything they've got all figured out. And if you're ever on the inside of a company that's doing really well, you're like, how is this staying on the rails? How is this still a thing that is working? Doesn't make any sense. It's all about to fall apart. Yeah. Okay. Last question. You've had a long entrepreneurial thread throughout your career. There's a couple other real world businesses you've started in the past. You did a thermal clothing business and then like a hummus delivery thing. So maybe pick one of those and just tell the story of what that's about.

你最近有没有发现什么自己特别喜欢的产品?这是个好问题。我一直在尝试新产品,我电脑上永远装着三四个浏览器,还有各种各样这类东西。我最近发现了一个 Loom 的替代品。我对 Loom 有点失望,他们收费太高了,而那个产品……我说不好,我就是不喜欢。有一个开源的替代品叫 Cap,做得真的非常精良,你能看出来做这个产品的人真的在抠细节,是一个非常非常棒的替代品。所以我最近一直在用它。还有一个产品叫 Supercut 我也很爱,它也是 Loom 的替代品。给它们打个广告。好,还剩两个问题。你有没有一句最喜欢的人生格言,是你在工作或生活中会反复想起的?有。我现在算是在两句之间摇摆。一句基本上已经变成了 Twitter 上的梗,就是"你完全可以直接去做(you can just do things)"。我感觉这句话基本上一直在我脑子里转,每次我做一件让我自己都对现在做事的速度和能力感到震惊的事情时——所以,你完全可以直接去做。第二句是我从我哥那儿偷来的,他的格言是"没人真正知道自己在干什么(nobody knows what the fuck they're doing)"。我特别喜欢这句,我觉得它会让你把人生看得更轻松一点。所以,是的,没人真正知道自己在干什么。我觉得人们从外面看这些公司,会觉得他们好像什么都搞明白了。可一旦你真的进到一家做得非常好的公司内部,你就会想:这玩意儿到底是怎么没翻车的?这怎么还在正常运转?根本说不通啊,这随时都要散架了。是啊。好。最后一个问题。你的职业生涯里一直有一条很长的创业线索,你过去还创办过另外几门实打实的生意。你做过保暖衣物的生意,还做过一个鹰嘴豆泥(hummus)外送的项目。要不你挑其中一个,讲讲那是个什么样的故事。


[1:11:13]

Yeah, I'd love to. Really fun that you asked about this. So I'll tell the thermal clothing because I think it's really cool. So in high school, I was selling thermal clothes in 10th grade for one of my sister's friends or something, and basically it was just packs of thermal clothing, shirt and pants. I grew up in Jerusalem, so it's a bit chillier there. So it was perfect for the weather. And in 10th grade, when I was selling them, they were like 20, $25 a piece and I was making like $4 a sale, and if you look in the food chain, I was like sixth or seventh down the line. So this was like crazy margins. So during the summer I thought about it like I should just go straight to the importer. So throughout the summer I called the importer and at first he was really, really mad. He was like, no, you have to work for me for years to get to this state. And I said, listen, man, I'm finishing school soon. This is not going to be my career. Either do it or not. And we basically negotiated throughout the whole summer. And this was also like how I did things before ChatGPT. So he would throw out something, he'd say, "Oh, the import tax has gone up." And I'll just search Google, like Import Tax Israel and start reading. And I'll be on the phone with him and I'll be like, "Hey, I would just basically stall." And then I'd somehow come back with a challenge. And I ended up getting a really great price, like 12 and a half dollars a piece. So I was making 100% profit and I spread throughout a bunch of different schools. Each school, I had the coolest people in school selling for me. And then a really fun thing that I did was we had a really awesome basketball team and our basketball team would basically be 30 points up within the first half and it kind of got boring for the crowd.

好,我很乐意。你问到这个真的很有意思。那我讲保暖衣物那个吧,因为我觉得它真的很酷。高中的时候,我十年级就在卖保暖衣物,是帮我姐的一个朋友之类的人卖,基本上就是一套套的保暖衣,一件上衣加一条裤子。我在耶路撒冷长大,那里天气稍微冷一些,所以那东西特别适合当地气候。十年级我卖的时候,一套大概卖 20、25 美元,我每卖一套能赚大概 4 美元。如果你看整条食物链,我大概排在第六或第七层。所以这利润空间大得离谱。于是那年暑假我就琢磨:我应该直接去找进口商。整个暑假我都在给那个进口商打电话,一开始他特别特别生气,说:不行,你得给我干好几年才能到这个位置。我说:听着哥们,我快毕业了,这不会是我的事业,你要么做要么不做。我们基本上谈判了整整一个暑假。这也是我在 ChatGPT 出现之前做事的方式。比如他会抛出一个说法,说"哦,进口税涨了"。我就会去 Google 搜,搜"以色列进口税"然后开始看。我会一边跟他打着电话,一边说"嘿,我……"基本上就是拖时间,然后我总能想办法回过头来给他一个反驳。最后我谈到了一个非常棒的价格,一套 12.5 美元。所以我赚 100% 的利润,而且我把生意铺到了好几所不同的学校。每所学校我都让校里最酷的人帮我卖。然后我做了一件特别好玩的事——我们有一支非常出色的篮球队,我们的篮球队基本上上半场就能领先 30 分,对观众来说就有点无聊了。


[1:13:01]

So I wrote a song, like a basketball chant about Thermal Clothes that basically has my number within it. And the end of it was if you join in now, we'll give you a discount. And it was with drums and everything. And still when I go to Jerusalem, I know some people who I don't even know my number by heart because they know it by the tune. And sometimes when I walk in Jerusalem, people stop me and say like, "Hey, it's Thermal Zevi." So that was just a really cool experience as a kid. This explains so much just the marketing genius of that move. Oh man. Okay. Zevi, this was incredible. Two final questions. Where can folks find you if they want to reach out and maybe follow up on some of the stuff? We'll link to the scripts and prompts and all that in the show notes so you don't have to read that, and then how can listeners be useful to you? Awesome. So I've been helped throughout my whole career a ton, so I love helping any way I can. So reach out on LinkedIn or on X. I'd really love to help whoever I can. How can listeners be useful to me? So if you're a student, try StudyMate, tell me what you think. If you're in Israel and you are not using dictation yet, try Dibur2text. Tell me what you think. Amazing. I just love how much you're giving away and how useful that's going to be to so many people. So again, we'll link to that in the show notes. Zevi, you're awesome. Thank you so much for being here. Thank you so much for sharing so much. This is going to help, I think, a lot of people and I think it's going to help people get over the hump on. Okay, I see all these people doing cool stuff. Here's how I can actually do this stuff. So thank you so much for being here and for sharing so much.

于是我写了一首歌,一首关于保暖衣物的篮球助威口号,里面基本上嵌进了我的电话号码。结尾是:如果你现在就加入,我们给你打折。还配了鼓点之类的全套。到现在我去耶路撒冷,我认识的一些人——我自己都背不出我那个号码——他们却因为那个旋律记得住。有时候我在耶路撒冷走着,会有人拦住我说:"嘿,是"保暖衣 Zevi"!"所以那是我小时候一段特别酷的经历。这就解释了好多事——你那一招里的营销天赋。哦天哪。好。Zevi,这真是太精彩了。最后两个问题。如果大家想联系你、想就你讲的某些东西做后续跟进,可以在哪里找到你?我们会把那些脚本、prompt 之类的都放进 show notes 里,所以你们不用记,那么听众可以怎样对你有帮助?太好了。我整个职业生涯里得到过很多帮助,所以我很乐意尽我所能去帮别人。在 LinkedIn 或者 X 上联系我都行,我真的很想尽量帮到我能帮的每一个人。听众怎么对我有帮助呢?如果你是学生,去试试 StudyMate,告诉我你的想法。如果你在以色列,而你还没用过语音转文字工具,去试试 Dibur2text,告诉我你的想法。太棒了。我特别喜欢你这么慷慨地把这些都分享出来,这对那么多人会非常有用。所以再说一次,我们会把它放进 show notes 里。Zevi,你太棒了。非常感谢你来到这里,非常感谢你分享了这么多。我觉得这会帮到很多人,我觉得它能帮人们迈过那道坎——"好吧,我看到这么多人在做很酷的事,那么这就是我自己实际上能怎么做到"。所以非常感谢你来到这里,分享了这么多。


[1:14:35]

Thank you for having me. And if you build something cool with some stuff that I learned here, hit me up, send me. I'd love to see. Amazing. Zevi, thank you so much for being here. Thank you. Bye everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcast, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.

谢谢你邀请我。如果你用我在这里讲的某些东西做出了很酷的成果,联系我,发给我看看,我很想看到。太棒了。Zevi,非常感谢你来到这里。谢谢。大家再见。非常感谢各位的收听。如果你觉得这期节目有价值,可以在 Apple Podcast、Spotify 或你喜欢的播客 app 上订阅本节目。另外,也请考虑给我们打个分或留个评价,因为那真的能帮助其他听众找到这个播客。你可以在 lennyspodcast.com 上找到所有往期节目,或者了解更多关于本节目的信息。我们下期再见。