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

How I Plan, Build, and Run Loops with Claude Code in 40 Minutes | Thariq Shihipar

频道: Peter Yang
视频: https://www.youtube.com/watch?v=aVO6E181cNU
原文语言: en
统计: 共 157 轮 · Peter 81 · Thariq 75


[0:00] Peter

As the models have gotten smarter, they need less direction, fewer constraints, and fewer examples. We've got /loop, we've got SL goal, and we've got workflows. These are all geared at trying to get the agent to run for long periods of time. This was just one shot, like when one prompt. So, it's created the caption, and it's created the little overlay, and now it's going to fade to black. My goal for this year is to be more productive, but work less. Hey, everyone. Today I'm really excited to welcome Tharic from the cloud code team. This has been a long time coming. So I'm going to ask Taric to show us how to design loops and workflows to get cloud to work longer and how he personally uses cloud code and also the new cloud tag. Welcome sir.

随着模型越来越聪明,它们需要的指令、约束和示例反而越来越少。我们有 /loop,有 /goal,还有 workflows——这些东西都是奔着让 agent 长时间自主跑下去去的。这个完全是一次成型的,就一句 prompt。你看,它生成了字幕,加上了那个小浮层,接下来就要淡出到黑场了。我今年的目标是:产出更多,但工作更少。大家好,今天我特别高兴请到 Claude Code 团队的 Thariq。这期节目筹备很久了。我会请 Thariq 给我们演示怎么设计 loop 和 workflow,让 Claude 能干更久的活,以及他自己平时怎么用 Claude Code,还有新出的 Claude Tag。欢迎你,兄弟。


[0:41] Thariq

Hey Peter. Yeah. Thanks for having me. I've been been excited to to join for a while.

嘿 Peter,谢谢你邀请我。我盼着来上这期节目已经有一阵子了。


[0:45] Peter

Yeah. All right. All right. So may maybe before you demo anything, maybe you can talk about at a high level how you and a clock team think about how do you go from you being a person prompting the agents to kind of design loops and some of the stuff to get the agent to kind of work by itself. Like how do you guys think about this?

好嘞。那在你开始演示之前,能不能先从大方向讲讲:你和 Claude 团队是怎么看这件事的——从「人一句句给 agent 发 prompt」,到设计出 loop 之类的机制、让 agent 自己把活干了,这中间的思路是什么?


[0:59] Thariq

Totally. Yeah. Yeah. So I I think loops are a pretty general term I I think for just different ways of like having the agent get feedback or like sort of uh yeah work for long periods of time in in an orchestrated way. And so we've got slashloop, we've got slashgoal, and we've got workflows. And these are all, yeah, like you said, geared at trying to get the agent to run for long periods of time. Slashgoal is one of those things that it helps the agent remind itself what its exit condition is, right? And only allows it to exit once you know it. And so goal is really great for when you uh have a complicated task and you really need to, you know, make sure that this is like done at the end. you really want to prevent any stopping. You kind of also want to give the agent feedback, a signal to basically say like, hey, power through things, right? And and so I think one of the like if you were to step into Claude's shoes, sometimes you ask someone asked you to do a task, you run into a like maybe, you know, sort of a complication or something that is maybe not quite up to spec or like doesn't match what the user said, you might stop early and be like, hey, should I keep doing this or not? Right? And so uh goal is one way of just kind of the user indicating like hey I've I've done enough spec and expiration right I understand the problem space uh just go execute on it and if you run into something you know fill it in right so that's how we think about goal and and then workflows are in my opinion maybe like the most powerful form of this where you can you know spin up sub agents to both do the work paralyze the work and verify the work and and so uh I think especially for non non-technical work. This can be like a really great way of taking a non-deterministic task and then breaking it down roughly into a deterministic task. So yeah, I think that's how we think about some of these. And uh you know, I know I'm going to do a quick demo, but like before that, like just on the clock team,

当然。我觉得 loop 是个挺宽泛的说法,泛指各种让 agent 拿到反馈、或者说以某种编排方式长时间干活的做法。我们现在有 /loop、/goal,还有 workflows,就像你说的,这些都是为了让 agent 能长时间跑下去。/goal 的作用是让 agent 不断提醒自己「退出条件」是什么,只有真正达成了才允许它停。所以 /goal 特别适合那种复杂任务、你非常需要确保最后真的做完的场景——你就是要防着它中途停下来。同时你也是在给 agent 一个反馈信号,等于跟它说:硬着头皮往前推。你可以设身处地站在 Claude 的角度想一想:有人给你派了个活,你干着干着碰上点麻烦,或者某个地方不太合规格、跟用户说的对不上,你可能就会提前停下来问一句「这个我还要不要继续?」。而 /goal 就是用户在表态:我前期的 spec 和探索已经做够了,问题空间我心里有数,你只管去执行,路上遇到没定的东西你自己补上。这就是我们对 goal 的理解。至于 workflows,在我看来可能是这几种里最强的形态——你可以起一堆 subagent(子智能体),既干活、又并行、还负责验收。所以我觉得尤其是对非技术类的工作,这是把一个不确定性很强的任务大致拆解成确定性任务的好办法。差不多就是我们对这几个东西的看法。我知道等下我要做个快速演示,不过在那之前,就说说 Claude 团队内部——


[2:53] Peter

how do you guys use some of this stuff? Like do you do like a go make this match design or like go make this number go up or [laughter] what do you use? Yeah.

——你们自己都怎么用这些东西?会不会是那种「去把这个做得和设计稿一致」,或者「去把这个数字搞上去」之类的?[笑] 你一般怎么用?


[3:02] Thariq

Yeah. I mean, everyone does different things, right? based on like kind of the like um based on yeah what what they're trying to do. I I think like uh you know Jared's talked a lot about the the bond rewrite in Rust and how that use workflows and and he's going to be talking more about that. Um I think like anytime you have a deterministic sort of like signal like for example like latency, right? like um goal is like a great thing to just sort of like have the agent explore things sort of in like an auto research way, right? Um and uh yeah, I think that like you like let's say you're talking about design, right? I think one way you want to think about this is like how well can the agent like understand what your like design is to begin with, right? And and so um you might want to like turn it into like if it has a spec that it can verify like if it's a Figma file, you use the Figma MCP and then you're like slashgoal make sure that the rendered design matches the Figma MCP. That's a lot easier than like a screenshot, right? And and so if you're a screenshot, maybe you want to do a workflow uh where you like it's more squishy, you know, like there's like a rubric that you're evaluating against and you have a verification agent and things like that. So

每个人玩法都不一样,取决于各自要干什么。比如 Jared 讲过很多用 Rust 重写 bond 那件事、以及那次是怎么用 workflows 的,他后面还会再细讲。我觉得只要你手上有个确定性的信号——比如延迟(latency)这种——/goal 就特别好用,可以让 agent 自己去探索,有点像自动做研究。至于设计这类的,我觉得你首先要想的是:agent 到底能多准确地理解你所谓的「设计」本身。所以你会想把它变成一份它能自己验证的 spec:比如源头是 Figma 文件,那就用 Figma MCP,然后 /goal 说「确保渲染出来的界面和 Figma MCP 里的一致」。这比丢给它一张截图容易多了。如果只有截图,那你可能就得走 workflow 那条路——因为标准更软、更模糊,你得有一份评分 rubric,再配一个专门做验收的 agent,诸如此类。


[4:24] Peter

Got it.

懂了。


[4:24] Thariq

Yeah. Very dependent on the task.

对,非常依赖具体任务。


[4:26] Peter

So basically the planning matters a lot, right? To give a because I tried to give it a go to like just build me an amazing game and [laughter] and then it kind of went off the rails because like you know just like one one line. So

所以说,前期的规划其实特别关键,对吧?因为我试过直接甩给它一个 goal——「给我做一个超棒的游戏」[笑]——结果它整个跑偏了,毕竟就那么一句话。所以……


[4:37] Thariq

yeah, I mean I think um the the details of of like you know there's a lot to figure out in what you want, you know, there's a lot of work that goes into that. Yeah.

对,我觉得……你到底想要什么,这里面细节非常多,是要花不少功夫去理清的。


[4:48] Peter

Got it. Okay. So let's make this really concrete. Uh you've been sharing uh really awesome videos on Twitter about like uh using cloud to make the video and I think you have like a video workflow that you want to share with us, right?

明白。好,那我们把它讲得具体一点。你最近在 Twitter 上发了不少很酷的视频,都是用 Claude 做的,我记得你有一套视频工作流想跟我们分享,对吧?


[5:02] Thariq

Yeah, exactly. So I yeah, I've had a few people uh ask about this and I think this is a good sort of demo both for like video editing but also just like how to think about like a nontechnical work. So 10 minutes before I got on this call, I recorded a quick video and so this is me just like you know making a video. Basically what I'm saying is like hey it's me um you know like I'm on the Peter Yang podcast. I'm going to point to where I want an overlay to show up and then I'm basically saying like, "Hey, uh, fade to black," you know? So, this is like a quick video that I that I put together, right? And, um, now like the prompt I gave it is this, right? Like, uh, this is a repo for Peter Yang podcast. Uh, there's a sample video here called Peter Yang recording. Transcribe it using whisper. Then use reotion to create a UI that shows the transcript with each individual word being highlighted and different overlays. And yeah, goal don't stop until the video is fully rendered. Right.

对,没错。有好几个人来问过这个,我觉得它挺适合当演示——既是讲视频剪辑,也是讲怎么用 agent 干非技术的活。就在上这通电话前 10 分钟,我随手录了一段视频。你看,这就是我在录:我说「嘿,是我,我现在在 Peter Yang 的播客上」,然后我用手指了一下我想让浮层出现的位置,接着我说「好,淡出到黑场」。这就是我随手拼的一段视频。然后我给它的 prompt 是这样的:这是 Peter Yang 播客的 repo,这里有个样片叫 Peter Yang recording,用 Whisper 把它转写出来;然后用 Remotion 做一个 UI,把转写文本显示出来、每个词逐词高亮,再加上各种浮层。最后加了一句 goal:不把整支视频渲染完就别停。


[6:02] Thariq

And so now I like uh this was just one shot like when one prompt, right? And what it gave me is this. So it's it's transcribed it. It obviously doesn't know my name is Tharic, right? And uh uh it's like overlaid the the um the text uh or sorry it's created the caption and it's created the little overlay and now it's going to fade to black. Right. And so

然后你看——这完全是一次成型的,就一句 prompt。它给我的结果是这样:转写做完了。它当然不知道我名字叫 Thariq。然后它把那段文字……不对,是把字幕做出来了,也把那个小浮层做出来了,接下来就要淡出黑场了。就这样。


[6:25] Peter

Oh, awesome. Okay. So So you basically said out the instructions out loud,

哦,厉害。所以你基本上就是把要求直接念出来的——


[6:28] Peter

right?

对吧?


[6:29] Thariq

I said it out loud. Yeah. Exactly. And and of course there are many ways that you can do this but it's like now in this directory you know uh transcribed everything right. Yeah. Uh using whisper uh it's created the reotion stuff. Yeah. This is like the very basic start to uh video editing workflow that I have which is uh yeah I think a good signal for like how to do non-technical work in uh in cloud code.

我是念出来的,没错。当然实现方式有很多种,但现在的效果就是:在这个目录里,所有东西都转写好了,用的 Whisper,Remotion 那部分也生成好了。这算是我那套视频剪辑工作流最最基础的起点,我觉得它挺能说明在 Claude Code 里怎么干非技术类的活。


[6:52] Peter

So you kind of did this manually with the prompts stuff but then you probably saved it into a skill or something right? Yeah.

所以你是靠 prompt 一步步手动搞的,但之后应该会把它存成一个 skill 之类的吧?


[6:57] Thariq

So right now I don't have a skill. I I think one of the things I try and do first is really figure out what I want before I turn it into a skill you know and so what are the like uh edge cases here? Um, one of the things I noticed that I had to prompt it towards is is getting better at figuring out where my um where my hand was, right? And so like or where I was pointing towards. And even now I'm not not thrilled with like where this showed up, you know? And so [snorts] like yeah, like you could imagine that one direction I could take this in is I could be like, oh, I want to track my fingers or track my face and then get give the agent more metadata, right? so that it can then do interesting overlays.

现在还没做成 skill。我一般会先把「我到底想要什么」搞清楚,再去把它变成 skill。比如说这里有哪些边界情况?我发现有个地方得专门提示它:判断我的手在哪儿、或者说我指向哪里,这块它做得不够好。就算是现在这一版,那个浮层出现的位置我也不太满意。[笑] 你可以想象我接下来可能往这个方向走:做手指追踪或者人脸追踪,把更多元数据喂给 agent,让它能做出更有意思的浮层效果。


[7:41] Peter

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

本期节目由 Wispr Flow 赞助。Wispr Flow 每周至少帮我省下 3 小时,是我目前最喜欢的 AI 应用之一。用嘴说给 AI 听,实在比打字快太多了。你只要自然地讲,它就输出干净、可以直接发出去的文字。Wispr Flow 还会自动去掉口水词,帮你把句子排版好。我什么都拿它来做:起草 newsletter、写产品 spec、回 Slack 消息等等。它支持 Mac、Windows、iPhone 和 Android,在你常用的各种 app 里都能用。去 wisprflow.com 免费试用,用我的优惠码 peterwisprflow 可以拿 6 个月免费——优惠码是 peterwisprflow。好,回到我们的节目。我看你另外还开了一个标签页,好像是个 plan?那个是给视频 skill 用的吗?


[8:24] Thariq

Yeah. Yeah. So, I I think I want to talk uh I'd love to talk a little bit about how I got here. You know what I mean? So like I think like even to do this prompt I think it took a bunch of uh planning and learning to get here right and then I think that like um one of the things that I I I think when we talk about plans we often are talking about things where it's like um just one shot right like you plan and then you do something and that that's it. But I think planning is more of this iterative process of like exploring, investigating, finding out what you don't know, what you want, right? And then like together like in the end that sort of simplifies itself. But so like here's an example. But while we do this, I I would love to do something where it's like, okay, um I'm going to give it okay to say like I want to update the UI of these overlays, right? Um and I want to use I want to use Peter Yang's style. Um here's his blog. uh create a HTML artifact for exploring different designs for the overlays and captions uh design variations. Okay, so this is like an example to me. This is also planning, right? Because like what I'm doing is sort of like I um I'm trying to figure out what I want here, right? And and so it's more of like a exploration. You can see one of the important things I'm doing is like I'm giving it a reference, right? So when I give it, you know, your website, it can now fi fetch the HTML and start doing this. So like this is sort of like a plan that will will run while I sort of go over the other, you know, kind of things I do when I'm planning, right? So one of them is like okay, what how does transcription work, right? And and this is actually I think pretty important to know because like it informs a lot of the edge cases. So uh this this transcription uses whisper and so um uh you know like cloud code sort of put this explainer together which is honestly like kind of amazing. Um the important thing for me is like the uh like ways things can go wrong, right? And this is something I prompted it in the plan was like I want to explain whisper to me and understand what the edge cases are, right? And so one of the things that says like silence can become thanks for watching, right? Um or yeah, a word can be split into two two chunks. It doesn't know it doesn't have speaker recognition, right? And so there are a bunch of different like edge cases here where um I I think all of this is quite like good and this sort of like helped me build a confidence in using whisper, right? Yeah.

对对。我想聊一下我是怎么走到这一步的,你懂我意思吧?就算只是为了写出刚才那句 prompt,前面也做了不少规划和摸索才到这儿。我觉得我们平时说 plan 的时候,往往指的是那种一次性的东西——你规划一下,然后照着做,完事。但我觉得规划其实是个反复迭代的过程:探索、调研、搞清楚自己不知道什么、自己到底想要什么,最后这些东西自己会收敛成一个简洁的结果。我举个例子。不过在讲的同时,我想顺手做点别的:我来给它下个指令,说我想改一下这些浮层的 UI,我想用 Peter Yang 的风格,这是他的博客,做一个 HTML artifact,用来探索浮层和字幕的几种不同设计变体。好,在我看来这也是规划——因为我在做的事情,本质上是在搞清楚我到底想要什么,所以它更像一次探索。你会注意到我做的一件很关键的事:我给了它一个参考物。我把你的网站给它之后,它就能去抓那份 HTML,然后开始干活。所以这个就先跑着,我趁这个空当讲讲我做规划时还会干哪些事。其中一件是:搞清楚转写到底是怎么工作的。我觉得这一步其实相当重要,因为它能提前告诉你很多边界情况。这里的转写用的是 Whisper,Claude Code 就给我整理了这么一份讲解,说实话挺惊艳的。对我来说最重要的部分是「哪些地方会出错」——这也是我在 plan 里专门要求它的:给我讲清楚 Whisper 是怎么回事,以及有哪些边界情况。它就列出来了,比如一段静音会被识别成「thanks for watching」;再比如一个词会被切成两段;它没有说话人识别能力,等等。这里面有一堆各式各样的边界情况,我觉得这些内容都挺扎实的,让我对用 Whisper 这件事建立起了信心。


[11:17] Thariq

Um but having these edge cases and knowing sort of what the limits are upfront really helped me like avoid this case where I I build this complicated workflow during whisper and then you know I realized there are things going wrong um and I like sort of didn't have these unknown unknowns, right? And so this case is sort of like me sort of doing planning, but really it's like me discovering my unknowns. And um I think that can take a lot of different shapes. It can be learning, it can be technical specs, right? It can be mock-ups and exploration. Um yeah, I I'm starting to like I feel like the word planned is maybe uh too broad right now. So

而且提前知道这些边界情况、知道它的能力边界在哪儿,帮我避开了一种很糟的情况:我吭哧吭哧围着 Whisper 搭了一套复杂的 workflow,跑起来才发现这儿那儿都不对,而这些「未知的未知」我事先完全没意识到。所以这个环节表面上是我在做规划,实际上是我在把自己的未知项挖出来。我觉得这件事可以有很多种形态:可以是学习,可以是技术方案,也可以是原型稿和探索。嗯……我现在越来越觉得「plan」这个词可能太笼统了。


[11:57] Peter

is it's it's more like exploration and understanding like what you're trying to do basically.

所以它其实更像是探索、更像是先搞明白你到底要做什么。


[12:02] Thariq

Yeah. I like to say uh like getting rid of your unknowns, you know, like I think whenever you have a task,

对。我更愿意把它说成是「消灭你的未知」。我觉得每次你接到一个任务——


[12:08] Thariq

it it kind of like almost always uh there's a lot that you don't know either you don't know how things work or what you want and it's very very iterative, you know, and so it's not just like a you write it all down once and then you implement it. I think there's like many steps and uh different passes. So

——几乎总是有一大堆你不知道的东西:要么不知道某个东西怎么运作,要么不知道自己到底想要什么,而且这个过程非常非常迭代。它不是「一次性全写下来然后照着实现」,中间会有很多步、很多轮。


[12:26] Peter

and yeah, and and dude, this is like a beautiful plan, man. Like, dude, do you have like is this like the claw template or something? Like it has images.

还有,老哥,这份 plan 也太漂亮了吧。你这是用了什么 Claude 模板吗?里面还带图。


[12:33] Thariq

This is using the front-end design plugin. I think you know like I think like uh yeah, it's not uh yeah, there are uglier plans here. Like I've gotten this like reotion plan. Um

这是用的 front-end design 那个 plugin。其实也不是每份都这样,也有难看的,比如我之前生成的那份 Remotion 的 plan 就……


[12:44] Thariq

I I think that like you know the the design of it doesn't matter so much as sort of like you really just want to make sure it's something that you really do read, you know, and kind of get a sense of like not all of it, but like there's important parts in it. And I think one failure mode I see is that people still sort of like glaze over, you know, the plans and explainers. So, um, yeah.

我觉得吧,它长得好不好看没那么重要,关键是你真的得去读它,心里大概有个数——不用全读,但里面有些重要的部分你得看。我看到的一个常见失败模式就是,大家还是会把 plan 和这些讲解一眼扫过去、根本没看进去。所以,嗯,就这样。


[13:05] Peter

Yeah, it becomes really because like AI can write all these, you know, crazy markdown files and they're usually pretty long and then at some point like I just get lazy. I'm like, okay, you know, just just just do it. Just [laughter] do it.

是啊,很容易就变成这样——AI 能刷刷刷写出一堆疯狂的 markdown 文件,而且通常都特别长,看到某个点我就懒了,心想:行吧行吧,你直接干就完了。就……直接干。[笑]


[13:14] Thariq

Yeah. Yeah. Yeah. Exactly. I I think that's like the thing that, you know, it happens to all of us, right? Like a like the prompt box can definitely just be a lazy button, right? Where you're just like, hey, just do the thing. Um, but usually, you know, like uh you end up paying for that, right? Because if you're if you're trying to do something serious uh and you know, like you're taking the lazy step at each way, it it'll it'll end up taking longer, maybe costing longer, too. So, um,

对对对,没错。我觉得这事儿谁都躲不掉,对吧?那个输入框完全可以当成一个「偷懒按钮」——你就打一句「诶,把这事儿办了」。但通常你是要为此买单的。因为如果你做的是件正经事,而每一步你都选了偷懒的那条路,最后反而会拖更久,可能也更烧钱。所以说……


[13:42] Peter

so it's kind of this iterative. So, so you ask about like the the whisper and then you kind of like learn a little bit more and then you ask to make another plan and then at some point you have like a plan that you can share, right?

所以这是个不断迭代的过程。你先去问 Whisper 那块儿的事,然后多摸清一点,接着让它再出一版计划,到某个时候你手上就有一份能拿出去共享的 plan 了,对吧?


[13:51] Thariq

Yeah.

对。


[13:52] Thariq

Exactly. Yeah. Yeah. So I I I I did a lot of for this video recognition stuff. I did a lot of like you know research into how different video like algorithms worked, right? Like I I think I did one on like video segmentation. Um I wanted to put like text behind a subject and so this was like something I like explored and learned more about

没错。对,做这个视频识别的东西,我确实做了不少功课,研究了各种视频算法到底是怎么跑的。我记得有一轮是研究 video segmentation(视频分割)——我想把文字放到画面主体的后面,所以就去摸索、去多学了一些。


[14:12] Thariq

and um I ended up finding that like there wasn't something reliable enough here for me to use. But um yeah, I think there's like just a lot of this like iterative process of like finding out what do I want, you know, and what is possible right before I can do it. And so um it looks like this overlay is maybe almost done. So we'll we'll we'll see it soon. Yeah.

结果我发现,这块儿并没有哪个方案可靠到能让我直接拿来用。不过对,我觉得这就是个反复迭代的过程:先搞清楚我到底想要什么、以及什么是做得到的,然后才谈得上动手。看样子这个 overlay 快跑完了,我们一会儿就能看到。


[14:32] Peter

And how about like on the team? So have you got the rest of the team to review HTML? Is that a markdown or

那团队那边呢?你有让团队里其他人也用 HTML 来 review 吗?还是说用 markdown,或者……


[14:38] Thariq

Yeah. Yeah, for sure. I mean I think like everyone is different, right? So I think that like but I think HTML artifacts I mean we launched artifacts, right? Um, currently it's only on teams and enterprise, but um, hopefully coming to Maxin Pro. Um, and uh, yeah, that that's like how we share things now at the company. It's like we ask Claude to make an artifact and this can be, you know, of a plan of a PR that we've already done. Uh, it can be, you know, like a status report, like an incident report, things like that. So, um,

有的有的,肯定有。我觉得每个人的习惯都不一样。不过说到 HTML artifact——我们不是上线了 artifacts 嘛,目前只有 Teams 和 Enterprise 版能用,但希望之后能开放给 Max 和 Pro。对,这就是我们现在在公司里共享东西的方式:让 Claude 生成一个 artifact,内容可以是一份 plan、一个已经做完的 PR,也可以是状态报告、事故复盘之类的。


[15:10] Thariq

yeah, it's, uh, definitely how we do it. Yeah.

对,我们现在肯定是这么干的。


[15:13] Peter

All right, let's see what it generated here.

好,来看看它生成了什么。


[15:15] Thariq

Yeah, let's let's do it. So let's say open overlay style HTML. Okay. So yeah, here are some of the like uh you know the options it's made. I think it's probably maybe like indexed more on the stack over or the uh Substack brand versus your brand. You know what I mean?

行,我们看看。那我就说「打开 overlay 的样式 HTML」。好。对,这就是它做出来的几个方案。我感觉它可能更多是照着 Substack 那套品牌调性来的,而不是你自己的品牌。你懂我意思吧?


[15:32] Peter

Yeah. Because I don't I don't have a brand. Yeah.

是啊。因为我压根就没什么品牌嘛。


[15:35] Thariq

Yeah. Yeah. Yeah. No, I think you do, right? I think you do. Like I think you've got the red and white. We can probably iterate on it there. Um but this is one of the things where I'm like you know there's quite a lot of difference between these different uh like you know designs right and um yeah one of the ways I like to to plan is is to like do this exploration especially because I'm not a designer um so like I just really just only know it when I see it you know.

不不不,我觉得你有的,你有的。你不是有红白配色嘛。我们完全可以在这个基础上继续迭代。不过这也正是我想说的一点——这几版设计之间的差别其实挺大的。对我来说,做规划的一种方式就是先这样铺开探索一遍,尤其我又不是设计师,只能是「看到了才知道自己要什么」。


[16:01] Peter

Got it. Got it. Um like just to wrap up the plan conversation like

明白,明白。那我们把 plan 这部分收个尾——


[16:05] Peter

yeah you know I've been writing like product specs for like 10 years and like you know they usually have like what's the problem we're solving what's the solution what's the goal so on and so forth right but I feel like part of this stuff is like read by agents now

我写产品 spec 写了差不多十年了,这些 spec 通常都有固定套路:我们要解决什么问题、方案是什么、目标是什么,等等等等。但我感觉现在这些东西有一部分是写给 agent 读的。


[16:16] Peter

and I I I feel like the different sections of your spec needs to change or or maybe like the product spec and technical spec is like one thing like how how do you guys do it on the team like you have like one section for the humans to read and one section for the agents to read or or how do you think about it?

我觉得 spec 里各个章节的写法可能得变一变,或者说产品 spec 和技术 spec 干脆得合成一份。你们团队是怎么做的?是分成一部分给人看、一部分给 agent 看吗?还是说你们另有一套思路?


[16:29] Thariq

Yeah, good question. Good question. I I think that it is very tied together, right? Like I I think a spec kind of can evolve even towards like planning like I think one of the things I think I'm showing here, let me see um implementation. Yeah, I think like one of the things that you sort of see here uh sometimes is that when you run something the uh the model can find things that it didn't anticipate or you didn't anticipate when you're implementing, right? So I see

好问题,好问题。我觉得这两件事是紧紧绑在一起的。spec 本身甚至可以一路演化成 plan。我这儿正好在演示的一点——我看一下——implementation(实现)这块。对,你在这儿有时会看到:真跑起来的时候,模型会冒出一些它当初没预料到、或者你当初没预料到的东西。


[17:01] Thariq

um this is like I I don't think of specking just happening at the start, right? It's like you you start with like the human request and then the agent does some like technical exploration. It comes back, maybe you do some mockups, some explainers trying to understand your unknowns. You refine that. Uh you give it to the agent again. It might start implementing it. uh I ask it to keep implementation notes as it goes so that it like finds out you know like what are the you know what are things that we we're not expecting about this implementation and once we have that we can actually you know respspec if we need to right like it depending on how things go. So yeah I think it's much less like there's like one handoff of spec to implementation and more this like back and forth process. Yeah.

所以我不认为写 spec 只发生在一开始。流程更像是这样:先是人这边提出需求,agent 去做一轮技术探索,回来之后你可能再做几个 mockup、写几份说明,把未知的部分尽量搞清楚;打磨一遍,再交回给 agent,它可能就开始动手实现了。我会让它一边实现一边记 implementation notes(实现笔记),这样就能沉淀下来——这次实现里有哪些是我们原本没料到的。有了这些,需要的话我们完全可以回头重写 spec,看情况而定。所以我觉得这远不是「spec 写完一次性交接给实现」,而更像是来回拉扯的过程。


[17:48] Peter

Yeah. cuz I guess it's pretty cheap to build now. So you can just like maybe ask it to build the simplest version of this and like there's probably a lot of bugs and issues and you can keep iterating, right?

对,因为我猜现在做东西成本很低了嘛。你可以直接让它先做一个最简版本,里面肯定一堆 bug 和问题,然后你就一轮轮往下迭代,对吧?


[17:56] Thariq

Yeah, exactly. Or like the prototype version of this, right? Like that's what how I think about these overlays. These are like prototypes of the, you know, of the design, right? And

对,正是。或者说先做个原型版本。我就是这么看这些 overlay 的——它们其实就是设计的原型。


[18:06] Peter

okay,

好的。


[18:06] Thariq

um if we like uh

如果我们……呃……


[18:09] Thariq

like it then we can do the more expensive version, which is instead of HTML, we can do it in React. that means you have to like you know sort of rerender the video and do all the code changes. Um so like what's the like smallest step you can take to prove out the concept that you want to like you prove out the spec more. Yeah.

……如果觉得这版行,那我们再上更贵的那个版本——不用 HTML,改用 React 来做。那就意味着你得把视频重新渲染一遍、代码也得全改。所以问题就是:要验证你想要的那个概念、把 spec 再往前推一步,你能迈出的最小一步是什么?


[18:27] Peter

And like I Yeah. I love how it takes implementation. So So the next time you start a new section, it can just refer to the HTML, right? It's like a living document.

而且我特别喜欢它会记 implementation notes 这一点。这样你下次开一个新章节的时候,它可以直接去参考那份 HTML,对吧?就像一份活的文档。


[18:35] Peter

Yeah. Exactly. Yeah. Yeah. Got it. What percent of your work now is done through clot tech on Slack versus in like the terminal or like you know the cloud app?

对,没错。明白了。那你现在的工作里,有多大比例是通过 Slack 上的 Claude Tag 完成的,多大比例是在终端里、或者在 Claude 应用里完成的?


[18:45] Thariq

Yeah, I I think that like the way for me it's trending is that like there's a lot of parallel stuff happening in cloud tag and so any multiclouding is often happening in cloud tag unless there's a reason why it needs to happen locally, you know. Um I think one of the things we sp put a lot of time into is like making sure that our environment can run um in in remote and so um yeah I I multi-clotting is happening in cloud tag you know initial explorations PR specs like trying to understand something is happening in cloud tag and then once I get into there's usually one thing I'm focusing on and that's happening in cloud code and it's like more you know like back and forth iterative right um and So yeah, I think that's how I'm using it, but I think everyone at the company has sort of like different like approaches and mixes to it.

对,我觉得我这边的趋势是:大量并行的活儿都跑在 Claude Tag 上,所以只要不是非得在本地跑的,multi-Claude(同时开多个 Claude)基本都发生在 Claude Tag 里。我们花了很多时间做的一件事,就是确保我们的开发环境能在远端跑起来。所以对,multi-Claude 都在 Claude Tag 里;初步探索、写 PR 的 spec、想搞明白某个东西,也都在 Claude Tag 里。然后等我聚焦到某一件具体的事情上,那就在 Claude Code 里做,那种更偏来回迭代。这就是我的用法,不过公司里每个人的路子和配比其实都不太一样。


[19:35] Thariq

And when you say like what do you mean by multicloud? Oh yeah, like like just like if I have like multiple tasks happening at once, I especially if I'm like trying to involve someone else, like if I am um you know, I've got a PR that I'm trying to get merged, you know, like what one thing I'll do is like I'll you know, ask it to babysit uh the PR fix test and then tag a reviewer and my like reviewer will get tagged in the same slack channel and we'll like be able to talk there. Um but just generally multiling is like anything any background work where before I was having you know like five different clouds uh in my cloud code now like it's mostly one active cloud code session and then a bunch of cloud tag sessions. [snorts]

那你说的 multi-Claude 具体是指什么?——哦,就是我同时有好几个任务在跑的时候,尤其是需要拉上别人一起的时候。比如我有个 PR 要合进去,我会让它去盯着这个 PR、把测试修好,然后 tag 一位 reviewer,我的 reviewer 就会在同一个 Slack 频道里被 @ 到,我们就能直接在那儿聊。不过总体来说,multi-Claude 指的就是任何在后台跑的活儿——以前我是在 Claude Code 里同时开五个 Claude,现在基本上是一个活跃的 Claude Code 会话,外加一堆 Claude Tag 会话。[笑]


[20:16] Peter

Oh interesting. Okay. And um so you talk to cloud tag both through like DMs on Slack and also like in share team channels I'm guessing or

哦,有意思。好。那你跟 Claude Tag 打交道,是既通过 Slack 私聊,也在共享的团队频道里?还是说……


[20:24]

um

嗯……


[20:25] Peter

primary. Yeah.

主要是私聊?嗯。


[20:26] Thariq

Yeah. In in Slack. Yeah. Yeah. and both in my private like like I have a yeah my thoric claude slack channel where I do like most of my work and then uh yeah we have like team channels like feedback and things like that where we um or like project specific engineering channels as well um that's like a common pattern we see yeah I guess that makes sense because I I do think like uh these coding apps right now are like primary single player experiences like you're kind of talking to the agents through different threads

对,就在 Slack 里,对对。两种都有——我自己有个 thariq-claude 的 Slack 频道,大部分活儿都在那儿干;然后团队频道也用,比如 feedback 这类频道,或者按项目分的工程频道。这算是我们看到的一种常见模式。/嗯,这我能理解,因为我觉得现在这些写代码的应用基本上还是单人体验——你就是在一个个不同的 thread 里跟 agent 对话。


[20:52] Peter

and and if you think about it like the the cloud app actually kind of looks similar to Slack's like a bunch of threads Like just like Slack has a bunch of channels. So I guess like the idea is like Slack is now the multiplayer cloud experience, right? Because like everyone's there already.

而且你仔细想想,Claude 这个 app 其实长得跟 Slack 挺像的——一堆 thread,就像 Slack 有一堆频道一样。所以我理解你们的思路是:Slack 现在成了 Claude 的多人协作版体验,对吧?因为大家本来就都待在那儿了。


[21:05] Thariq

Yeah. I mean I I think like this is you know where it's starting, right? Like I I think ultimately we think cloud will be you know this like sort of proactive agent that's sort of like meeting you where you are you know and I think Slack is where anthropic is right. Um and uh yeah it's a very natural way to explore and yeah it's surprisingly good at coding. can like uh you know there are some people who just do all of their coding almost completely in cloud tag. Yeah.

对。我觉得这只是个起点。我们最终的设想是,Claude 会变成一个主动型的 agent,你人在哪儿它就出现在哪儿。而 Anthropic 内部就活在 Slack 里,所以从这儿切入特别自然。而且它写代码好得出乎意料——真有人几乎所有代码都是在 Claude Tag 里写完的。真的。


[21:27] Peter

But okay maybe this is a dumb question but how do you like uh like you know in cloud code like easily trigger scales and stuff but like if I'm in cloud tag like do I just tag cloud and slash the scale or how is it?

好,这问题可能有点蠢——在 Claude Code 里触发 skill 很方便,但如果我人在 Claude Tag 里,是直接 @Claude 然后打个斜杠调 skill 吗?还是怎么弄?


[21:38] Thariq

Um yeah you can just tell it to use the scale.

嗯,对,你直接跟它说用哪个 skill 就行。


[21:40] Peter

Okay. Okay. [laughter]

哦。好吧。[笑]


[21:42] Thariq

Yeah. Yeah. Yeah. There is still I I think there's still UX iteration we're working on around all of this stuff. Yeah.

对对对。这一块的交互我们还在打磨,还有得迭代。嗯。


[21:48] Peter

Okay. I guess do you think uh do you agree like I feel like the future for this like because you you gave me a talk right on on human agent interaction

好。那你同不同意这个看法——因为你之前跟我讲过一次人与 agent 交互(human-agent interaction)的分享嘛。


[21:55] Peter

and like um I feel like the future is just like the agent is just like another employee like you got you got to onboard an employee you can talk to it through Slack you can like give give it a phone phone call you know we'll have to think

我感觉未来 agent 就跟公司里多了个员工似的——你得给它做入职,可以在 Slack 上跟它说话,甚至能给它打个电话。这些我们都得琢磨琢磨。


[22:07] Thariq

yeah um I think it's a good question I I think that um I think these metaphors can sometimes be helpful but also limiting in some ways I I think that like One of the things you know when we talk about identity is that like in cloud tag every agent every channel has its own memory right and so um that is like I think one choice right like you could also imagine that there are like uh you know multiple clouds you tag like each one has a different slack identity and you're tagging them and things like that and and um I'm not like I I think it is kind of helpful to think of an agent that is like sort of has persistence and uh you know uh memory but um I think they're also different from co-workers in in in some ways right but I think they're like they're proactive and like you know yeah it's proactive it has memory it has identity um but yeah it's like uh just sort of like an evolution of cloud code and I think we want to see where like you know uh where the models will uh will take us there versus sort of like putting it into a box you know

嗯,这问题问得好。我觉得这类比喻有时候挺有用,但某种程度上也会框住你的想象。拿身份(identity)这件事来说——在 Claude Tag 里,每个 agent、每个频道都有自己独立的记忆,这本身就是一种设计选择。你也完全可以想象另一种做法:有好几个 Claude 供你 @,每个在 Slack 里是不同的身份,你按需要 @ 不同的那一个。我觉得把 agent 理解成一个有持续性、有记忆的东西是有帮助的,但它跟同事在某些方面还是不一样。它是主动的,有记忆,有身份——但说到底,它就是 Claude Code 的一次演进。比起一上来就给它套个框,我们更想看看模型最终会把我们带到哪儿去。


[23:16] Peter

yeah that's a good point yeah Like it definitely has a lot better memory than any human. [laughter]

嗯,说得有道理。它的记性肯定比任何人类都强。[笑]


[23:21] Thariq

Better and worse sometimes. You know what I mean? Like it's spiky, right? So yeah.

有时候更强,有时候更差。你懂我意思吧?它的能力是尖刺状的(spiky)——有的地方特别强,有的地方特别弱。就这样。


[23:25] Peter

Yeah, makes sense. Okay. All right, dude. Why don't I do something fun? I I want to show you my clock setup. I think we talked about this in person. I feel pretty proud of this. I I built this podcast production skill

嗯,有道理。行,那咱们来点好玩的吧。我想给你看看我自己的 Claude 配置。我记得咱们当面聊过这个,我还挺得意的。我做了一个播客制作的 skill。


[23:35] Peter

and uh what it does is like it takes a transcript of an interview that I did. I I actually interviewed your colleague Jess and uh it it kind of generates a bunch of stuff for me. So it generates thumbnails and like stuff to cut. So basically I I just tag it and I paste a transcript and then it starts generating like you know clickbaity YouTube thumbnails and stuff. [laughter]

它干的事是这样:把我做的某期访谈的文字稿丢进去——我前阵子采访了你同事 Jess——它就帮我生成一堆东西,比如封面缩略图、该剪哪些片段。基本上我 @ 它一下,把文字稿一贴,它就开始生成那种标题党式的 YouTube 缩略图之类的东西。[笑]


[23:56] Thariq

Yeah.

嗯。


[23:57] Peter

Yeah. So it generates stuff and and like I I basically give it like my examples to try to keep it on track.

对,它就生成这些东西。我基本上会喂给它一些我自己的样例,好让它别跑偏。


[24:03] Thariq

Yeah.

嗯。


[24:04] Peter

But I guess that this skill is kind of like trying to do a lot of things. So maybe like I'm curious if you have any feedback or you know.

不过我觉得这个 skill 想干的事有点太多了。所以挺想听听你有没有什么反馈之类的。


[24:09] Thariq

Yeah. This is cool. Can I see what it produces like the the clips or like you know

嗯,挺酷的。能看看它产出的东西吗?比如那些片段什么的。


[24:13] Peter

Oh what it produces? Yeah. So some of it what produces is is just like pure text. It's like here's a news post here some takeway

哦,产出的东西?行。有一部分纯粹就是文字——比如“这是一条贴文”“这是几个要点”。


[24:19] Thariq

copy into YouTube. Yeah.

直接复制到 YouTube 上。嗯。


[24:20] Peter

Yeah. And then I have this other skill called the video post skills. It's kind of similar to yours, but I'm sure it's not as sophisticated, but like it basically takes the YouTube video for this thing.

对。然后我还有另一个 skill,叫 video post skill,跟你那个有点像,肯定没你的精细。它基本上就是把这期节目的 YouTube 视频拿过来。


[24:30] Thariq

Cool.

酷。


[24:30] Peter

And then it uh extracts it and and then it gives me some ideas for clips to to make.

然后它把内容抽出来,再给我一些可以剪成短片段的点子。


[24:36] Thariq

Yeah.

嗯。


[24:36] Thariq

Yeah.

对。


[24:37] Thariq

Does it do the clips as well?

它连片段(clips)也能一起剪出来吗?


[24:38] Peter

Yes, it actually does. So I I said do two and then it uses uh I don't actually know what it uses. It uses a bunch of random stuff to to

对,还真能。我跟它说“做两条”,然后它就用……说实话我也不知道它具体调了什么。反正它拿一堆七七八八的东西来——


[24:45] Thariq

probably fmp and stuff, right? Yeah.

大概是 ffmpeg 那一套吧?嗯。


[24:47] Peter

Yeah. Probably fm and then it makes a it makes a video. Yeah. And it adds captions.

对,八成是 ffmpeg,然后它就把视频给做出来了。对,而且还会自动加字幕。


[24:51] Thariq

Yeah. Yeah. That's awesome.

嗯嗯,这也太爽了。


[24:53] Peter

So So yeah, it's not perfect though, but but yeah. Mhm.

所以……对,虽然还谈不上完美,不过大概就这样。嗯。


[24:57] Thariq

Yeah. I mean, um this is great. How how like uh how well do you feel like it matches what you want, you know, like or do you know like what it would look like to be better? Um, I wish it could like add some like, you know, B-rolls and the stuff that you showed me like overlays

嗯,我是说,这个真挺好的。你自己感觉它做出来的东西跟你想要的贴合到什么程度?或者说,你心里有没有一个“再好一点该是什么样”的画面?——嗯,我希望它能自己往里加点 B-roll,还有你之前给我看过的那种叠加特效(overlay)


[25:16] Peter

and stuff like that

之类的东西。


[25:17] Peter

and like I I I wish it was smart enough to know how to pull in like for for the video clip like um, you know, if the cloud logo or or something you can just find it online.

还有就是,我希望它能聪明到知道该往视频片段里配什么素材——比如需要 Claude 的 logo,那种网上随手就能扒到的东西。


[25:26] Thariq

Yeah.

嗯。


[25:27] Peter

Yeah.

对。


[25:27] Peter

So, should I should I just tell cloud code to do all this stuff or

那我是不是干脆把这些事全丢给 Claude Code 就行了?还是说……


[25:29] Thariq

I I think you can. Yeah. I mean, I think that like are are you working in one persistent repo or like um I think one of the things I think about is like sometimes you want a skill sometimes you want a repo with a lot of scripts and things that you are like you know like it's more of like a a workspace that you're working in, right? And like I think of a skill Yeah. Like I I think sometimes a skill can be instructions on how to create that workspace, right? And so

我觉得可以。嗯。我是说……你是一直固定在同一个 repo 里干活吗?还是说……我经常琢磨的一点是:有时候你要的是一个 skill,有时候你要的其实是一个塞满脚本和各种小工具的 repo——那更像是一个你日常干活的 workspace(工作区),对吧?而我理解的 skill 是……嗯,我觉得有时候 skill 本身就可以是“怎么把那个 workspace 搭起来”的说明书,对吧?所以说——


[25:54] Thariq

um that that's maybe something to think about because like the more you know scripts and sort of like things that you build up the more the agent can the less it has to do from scratch you know um but uh yeah

嗯,这点也许值得琢磨琢磨。因为你攒下来的脚本和现成的东西越多,agent 能直接拿来用的就越多,需要从零开始现造的活儿就越少。嗯……大概就这样吧。


[26:07] Thariq

I mean I folder each time

你的意思是,每次都新开一个文件夹?


[26:09] Peter

no I have all my skills at the user level

不是,我所有 skill 都放在 user level(用户级)。


[26:12] Peter

uh and and there's like this personal whatever personal OS folder that has like all the output and stuff.

然后还有一个……叫什么来着,personal OS 文件夹,产出之类的全堆在那里面。


[26:18] Thariq

I see. I see. Okay cool. Yeah. Yeah.

懂了懂了。行,挺好。嗯,嗯。


[26:20] Peter

But but you're saying like

不过你刚才的意思是说……


[26:22] Thariq

Yeah. I mean, I think you can sort of build like a video editing harness here. I I'm I'm uh curious about the thumbnails. Do you ever use like an image gen API like a Gemini or even an OpenAI or something like that? Yeah,

对。我是觉得,你完全可以在这个基础上搭出一套做视频剪辑的 harness(外壳/编排层)。另外我挺好奇封面图(thumbnail)那块——你用过图像生成 API 吗?比如 Gemini,或者 OpenAI 之类的。


[26:34] Peter

I found it really bad at uh changing my face. So, like for example, if I have a smiling thing and that has to make it like a shocked face,

用过。我发现它特别不擅长改我的脸。举个例子,我原图是一张笑脸,要让它换成那种震惊的表情——


[26:42] Peter

it makes me look super ugly. Dude, [laughter]

它能把我弄得奇丑无比。老哥……[笑]


[26:46] Thariq

that's funny. That's funny.

太逗了,真的太逗了。


[26:47] Peter

But um

不过话说回来——


[26:48] Peter

Yeah. Yeah. But I think it's pretty good at like like I don't if I give up my face and I tell you to change the background of the text, it's pretty pretty good.

对对。但我觉得它有些方面还是挺行的,比如说……我要是把我的脸原样丢给它,只让它改背景或者改文字,那效果就相当不错了。


[26:54] Thariq

Yes.

是的。


[26:55] Peter

Yeah.

嗯。


[26:55] Thariq

Yeah. I mean I think Claude is quite good at like like one of the things that Cloud is good at is using other tools. So like you could give it like the Gemini or OpenAI image gen APIs

对。我觉得 Claude 在这块挺强的——Claude 特别擅长的一件事就是去调用别的工具。比如你可以把 Gemini 或者 OpenAI 的图像生成 API 交给它,


[27:05] Thariq

and then you can ask it to look at your faces that it generates as well, you know, and sort of like tweak it there. So it can do this like interactively and pro progressively as well which is which can be helpful you know.

然后让它自己去看生成出来的人脸效果怎么样,再在那基础上做微调。所以它可以这样交互式地、一轮一轮往前推进,这一点还挺有用的。


[27:18] Peter

Oh okay interesting.

哦,这个有意思。


[27:19] Thariq

Yeah.

对。


[27:19] Peter

So so basically so basically what I do is I I basically just chain a bunch of skills to together like like you know

所以我现在基本上就是把一堆 skill 串起来用,就是那种——


[27:24] Thariq

cool

酷。


[27:24] Peter

prepare this thing and then use a thumbnail and so on and so forth.

先把这个准备好,然后再去做缩略图,一路这么串下去。


[27:27] Peter

I feel like I I know how to use skills now but like some of the other stuff you talked about online like dynamic workflows and stuff

我感觉 skill 我现在是会用了,但你在网上讲的另外一些东西,比如 dynamic workflow(动态工作流)之类的,


[27:32] Peter

like I have no clue. Right. I have no clue.

我就完全没概念了。真的,一点头绪都没有。


[27:34] Peter

Yeah. How would we use a workflow for for something like this? Right. I I think like one thing you can imagine is like when you're using

对。像这种活儿要怎么用 workflow 来做呢?——嗯,我觉得可以这么想:当你在用……


[27:41] Thariq

I I think your thumbnails example was a good one where or sorry your shorts example was a good one uh where maybe you want to generate 10 different shorts um or five different shorts or something. Workflows are a great example for that, right? So you can like say, hey, like um the main agent decides which five areas of the clip, you know, you want to like create a short for, right? And then the like workflow spins off a sub agent for each one. You also give it maybe a rubric for like what does a good clip look like, right? Like uh and then each one is verifying against it. Um, and then you're getting back at the end this like um, like you know, each clip has a maximum amount of compute put into it to make sure that it's matching what you want versus like if you're doing two or three simultaneously sometimes like I I think like um like Claude might like verify or put less work into any individual clip. So um,

我觉得你刚才说的缩略图那个例子就挺合适的——不对,是你说的 shorts(短视频切片)那个例子更合适。比如你想一次生成 10 条不一样的 shorts,或者 5 条。这种场景用 workflow 就非常对路。你可以这么干:主 agent 先决定这段素材里挑哪五个片段来做 shorts,然后 workflow 给每一个片段各自起一个 subagent。你还可以给它一份 rubric(评判标准),说明什么样的片段才算好片段,然后每个 subagent 都拿这份标准去自查。最后你拿回来的结果,是每一条片段都被投入了最大限度的算力去打磨、去确保它符合你要的效果。这跟你同时跑两三条的情况不一样——同时跑的时候,Claude 对单条片段的验证和打磨往往就没那么到位了。


[28:41] Peter

I see.

明白了。


[28:42] Thariq

And and to create a workflow, do I just like uh just tell to make a workflow basically? Yeah. or just be like, "Hey, like yeah, you know, create 10 clips here. Use a workflow. Uh this is my like rubric to to verify uh like what a good clip looks like, right? And this can also be a skill. So you can package a skill with the workflow. Um and then like you can the workflow is just a JS file and you can like ask it to like you save the JS file into the skill and now you have this like reusable skill that you can use. And this is like a dumb question, but like the main advantage over doing this workflow thing versus just using a scale is like uh it can sp sub agents and like keep the context clean or um yeah. So I I think it's like yeah, one of it is context. I think the other one is sort of like um laziness and verification, right? So like uh if you have a you know like a a short is one example of something where um you don't have a deterministic like hey is this a good short or not right and so if you have a rubric and you have a uh like uh you know verification agent that reads the rubric and then it looks like oh like hey let me review the short to make sure it's good and give feedback right uh that's something that the workflow enables as well and and we found that like you know we call it self-referential bias like when a model prefers its own outputs it's going to be like more lenient at like um uh it's going to be more lenient at like you know verifying it. Okay. So basically you want to have a separate cloud doing the work versus verifying the work, right?

那要创建一个 workflow,我是不是直接跟它说“做个 workflow”就行了?——对。或者你就直接说:“嘿,帮我出 10 条片段,用 workflow 来做,这是我的 rubric,拿它来判断什么样的片段算好片段。”而且这本身也可以做成一个 skill——你可以把 workflow 打包进 skill 里。workflow 其实就是一个 JS 文件,你让它把这个 JS 文件存进 skill,你就有了一个能反复复用的 skill。——这问题可能有点蠢:用 workflow 相比直接用 skill,主要好处是不是就在于它能拆出 subagent、把 context 保持干净之类的?——嗯,我觉得一部分原因确实是 context,另一部分是“偷懒”和验证的问题。比如 shorts 就是个典型——你没有一个确定性的标准去判断“这条短视频到底好不好”。所以如果你有一份 rubric,再有一个专门做验证的 agent 去读这份 rubric,然后说“我来审一下这条片子,确认它够好,并给出反馈”——这也是 workflow 能带来的价值。而且我们发现——我们把它叫做 self-referential bias(自我偏好偏差)——当一个模型偏爱自己的输出时,它验证起来就会格外宽松。——好。所以基本上,你是想让干活的那个 Claude 和验活的那个 Claude 分开,对吧?


[30:23] Thariq

Yeah. And in this case like a separate cloud coordinating the work uh so that your main agent is coordinating it coordinating it each one doing the work and and then verifying. Yeah.

对。而且在这个场景里,还有一个单独的 Claude 负责协调——你的主 agent 只做统筹调度,每个 subagent 各自干活,然后再有一个来做验证。对。


[30:33] Peter

Okay. And this way like the three separate clouds have like different context models and it's not just like less bias.

明白。这样一来,这三个各自独立的 Claude 就有各自不同的 context,好处还不只是偏见更少而已。


[30:38] Peter

Yeah. Exactly. And and they will both all use more compute I think like they'll put more like you know less likely for it to like stop early. Yeah. Think more. Yeah. Okay, got it. Um, awesome, dude. Well, let me ask you some like high level questions, dude. Since u it looks like you do you mostly use cloud in your in the terminal or do you actually use the app?

对,没错。而且它们都会投入更多算力,也更不容易提前收工。——嗯,想得更多。对。好,明白了。哥们儿太棒了。那我问你几个更宏观的问题吧:看你的样子,你平时主要是在终端里用 Claude,还是也会用桌面 App?


[30:58] Thariq

I'm a mix of terminal and desktop. Yeah, depending obviously we do a lot of like what we call ant fooding. So, it's sort of like um you know, whatever I feel like I need to test the most. Yeah.

我是终端和桌面端混着用。这也看情况——我们内部有个说法叫 ant fooding(自己人先吃自家狗粮),所以基本上是哪块我觉得最需要测,我就用哪块。


[31:08] Peter

Got it. Do you have any tips for like I I I feel like sometimes I get exhausted, man. Like like there's like five threads going on. at once for five different things and then like I'm I'm just like they're constantly paying me. It's actually worse than having backto-back meetings in some way. [laughter]

明白。你有没有什么建议?我有时候真的会被搞到精疲力尽,五个线程同时在跑五件不同的事,然后它们不停地来找我。某种意义上,这比连轴开会还累。(笑)


[31:23] Peter

Any tips for how to keep your own cult window clean

有什么办法能让你自己的 context window 保持干净吗?


[31:26] Peter

or you know?

或者说……你懂我意思吧?


[31:27] Thariq

Yeah, I mean this is a good question you know I think that this is like my goal for this year is to be more productive but work less you know and so um I think this is like I think something we should all sort of be able to push ourselves on. Um I think that like uh you know like I I think one thing we try and do is sort of like I try to have like one project I'm focusing on you know and and so even if there are other things that I'm just need to get unblocked like I need to have this build and merge and you know things like and explore something like I think one project that I'm really focusing on is very um helpful just uh because I find that the thing that cost me the most time is when I'm like yeah maybe a little bit lazy and and now I've like on a bunch of I'm like sort of multitasking these things. I do a lazy prompt and then I'm like, "Oh, like I've wasted this time now," you know, and so um yeah, I think that there's like just because like I think there's a optimal amount of multi multiclotting depending on, you know, who you are, what you're doing. Um but for me at least, it's something where like I tend to have like one task where I'm really focusing on the most. Yeah.

嗯,这问题问得好。我今年给自己定的目标就是:更高产,但工作更少。我觉得这是我们所有人都该往这个方向逼自己一把的事。我们试着这么做:我尽量在同一时间只专注一个项目。哪怕还有别的事得往前推——比如某个东西得先 build 完、合进去,或者需要去探索一下别的方向——但始终有一个我真正专注的项目,这一点非常有帮助。因为我发现,最浪费时间的情况恰恰是:我有点偷懒,同时开着一堆任务来回切换,随手写了个敷衍的 prompt,然后回头一看——完了,这段时间白花了。所以我觉得,“同时开几个 Claude”是存在一个最优值的,具体多少因人而异、也因你在做什么而异。但至少对我来说,我倾向于始终留一个我投入最多注意力的任务。对。


[32:36] Peter

Okay. So maybe like the AA agents take care of the rest or something, but like why not?

好。所以剩下的那些事大概就交给 agent 去顶着,反正也没什么不可以的,对吧?


[32:40] Thariq

Yeah. or even prioritization for yourself, you know what I mean? I I think can be like a good like angle, you know? Yeah,

对。或者甚至可以让它帮你做优先级排序,你懂我意思吧?我觉得这也是个不错的切入角度。嗯。


[32:46] Peter

makes sense. And and and like um do you have concerns? Like I I worry that um like you know when because the agents like work pretty hard and keep going and and like

有道理。那你会不会有些担心?我自己就有点担心,因为这些 agent 干活挺猛的,会一直往下推……


[32:55] Thariq

Yeah.

对。


[32:56] Peter

Maybe this is my problem like I I don't actually like like I said, I don't actually read everything that it produces carefully. Oh, [laughter] so then so then I worry that like the whole repo will just turn to slop at some point like if I don't

可能这才是我的问题——我其实……就像我刚说的,它产出的东西我并不会每一行都仔细读。(笑)所以我就有点担心:要是我一直不读,整个 repo 到某个时候是不是就变成一堆 slop(低质量垃圾产出)了。


[33:06] Peter

like do you have any like uh routines or jobs that clean this stuff up periodically or

你有没有什么固定的例行任务、或者定时跑的 job,隔一阵子来清理一下这些东西?


[33:11] Thariq

Yeah. So I mean um obviously we have things like simplify which Boris put out that like you know sort of simplifies the repo. I think it depends on what you're using it for as well, you know, like I I think someone like uh when you're using it for the outputs, like you're using it for the like the video outputs. um those are pretty uh like you know maybe the quality of the code matters less you know and the agents are very like you know persistent and and they'll figure it out but um I find organization is often more for me than the agent to sort of like you know make me feel better about the workspace um if I'm only caring about the outputs but yeah you can always just ask it to to simplify or organize um yeah

有。首先,我们有像 simplify 这种东西——Boris 放出来的那个,它能帮你把 repo 精简一遍。不过我觉得这也得看你拿它来干什么。比如你是拿它来出成品的,像你是用来做视频输出,那种场景下代码质量可能就没那么要紧,而且 agent 是很「轴」的,它自己会想办法搞定。但我发现,「整理」这件事往往更多是做给我自己看的,不是做给 agent 看的——就是让我对这个工作区感觉舒服一点。如果我只在乎最终产出,那其实无所谓。当然,你随时都可以直接让它帮你 simplify 一下、整理一下,就这样。


[33:56] Peter

okay okay got it and and you try to keep this con do you try to like minimize uh and try to keep the concept window clean like you try not to like have a bunch of you know MCPs on or like you know cloud MD has a super long like do you try to optimize that or

好,明白了。那你会不会有意识地保持 context window(上下文窗口)干净?比如尽量别开一堆 MCP、别让 CLAUDE.md 变得超长——这些你会去优化吗?


[34:11] Thariq

yeah I mean I I think that like yeah I yes I I think that one of the things we've noticed especially as the models have gotten smarter um is that like uh you know we'll be talking more about this we we cut down the cloud code system prompt by 80% um and the reason is that as the models have gotten smarter, they need less direction. They need fewer constraints and they need um fewer examples, you know, and so a lot of our system prompt would be like, okay, like here's the batch tool. Here are like five examples of using the batch tool. Never do it in these cases, right? And um the models are now kind of aligned enough that they know like hey uh we don't need to um like uh we like we don't the examples are almost constraining it you know because now it's like uh oh like you want things like this example and so if if you remove the examples it actually can be more free format and like the constraints can also constrain it too because like uh you oftentimes when you say never you really mean never. You just mean like most of the time don't do this. And if you give it the reason you don't want to do it instead, that can be more effective than the like don't do this constraint. So, um I think that like all this to say is that like you want to trim your context. I feel like cloud. MBS are probably too long right now and you probably want to shorten them more and more, right? Uh probably a lot of skills are too long. Um I think MCPs, you know, depends on the MCP. I think like obviously some of them can take up a lot of context but I think a lot of the MCP team has put a lot of work into this to you know make it better with tool search and things like that. So but yeah definitely cloudds like any sort of instructions the models just need like more room to run oftent times. Yeah. Then do you like instead of saying like uh you know like for example let's say writing a Twitter post like instead of saying like hey make sure it's like

会。我觉得……对,会。我们注意到的一件事是,尤其随着模型越来越聪明——这个我们之后会讲更多——我们把 Claude Code 的 system prompt 砍掉了 80%。原因就是:模型变聪明之后,它需要的指导更少了,需要的约束更少了,需要的示例也更少了。以前我们的 system prompt 会写:好,这是 batch tool,这里有五个用 batch tool 的例子,在这几种情况下永远不要用它,诸如此类。但现在的模型已经足够对齐,它自己就知道该怎么办。而且那些例子其实反而在限制它——因为它会想「哦,你要的是这个例子那样的东西」。你把例子删掉,它反而能更自由地发挥。约束也是一样会限制它,因为你说 never(永远不要)的时候,你其实很少真的是「永远」,你只是想说「大多数时候别这么干」。这时候与其写一条「不要这样做」的硬约束,不如告诉它你为什么不希望这样做——那往往更有效。所以总结下来就是:你应该给你的 context 做减法。我感觉现在大家的 CLAUDE.md 基本都太长了,你应该越删越短。很多 skill 大概也写得太长。MCP 的话得看是哪个 MCP,有些确实很吃 context,但 MCP 团队在这块投入了很多,用 tool search 之类的方式让情况好了不少。所以总之,CLAUDE.md 也好、任何指令也好,很多时候模型需要的其实是更大的发挥空间。(Peter)那你会不会……比如说写一条推文,与其说「嘿,一定要……」


[36:06] Peter

280 characters or less and do not do this like do you give it like more like principles to follow like you know like how do you prompt it then like is it more like

……「控制在 280 字符以内」「不要做这个不要做那个」——你会不会改成给它一些原则去遵循?就是说你现在会怎么写这个 prompt?是更偏向……


[36:15] Thariq

yeah I think a Twitter post is a good example where you might give your give it context on yourself. So you're like hey I am you know I work on cloud code I'm anthropic uh this is sort of like some of yeah some of the principles we follow. Obviously 280 characters is still like a good like um sort of constraint because that's like it does need to happen, right? But you can even just say it's a tweet and it will like sort of know um like or this is a good example where you might say like hey keep it under 280 characters. Uh but let's say that maybe there's a version of it that's better as a tweet thread with two tweets. You know what I mean? And so like in giving it the sense of like hey I want to write a tweet thread. I'd prefer it to be one tweet, you know? um gives us more freedom and flexibility. Yeah. To to find something good.

对,推文就是个很好的例子——你可以先给它一些关于你自己的背景。比如「我是做 Claude Code 的,我在 Anthropic,这是我们遵循的一些原则」。当然 280 字符这种还是个不错的约束,因为那是硬性要求。不过你甚至只要说「这是一条推文」,它就知道了。或者换个角度说,这也是个好例子:你可以说「嘿,控制在 280 字符以内」。但假如有一个版本做成两条推文的 thread 反而更好呢?懂我意思吧?所以你告诉它「我想写一个推文 thread,但我更希望能压成一条」——这样给了它更多的自由和弹性,去找出一个更好的答案。


[37:01] Peter

Okay. Got it. Okay. Um and and then let me ask this. Um so Boris has been saying like uh coding is like a solved problem, right? And like

好,明白了。那我问这么个问题吧。Boris 一直在说,编程基本上已经是个被解决的问题了,对吧?然后……


[37:12] Thariq

Yeah.

对。


[37:12] Peter

Um and and I feel like there's like becoming more technical these days is like a little bit like I guess my question is for someone like me who wants to actually, you know, learn how to work with agents more to actually learn what they're doing. Like how do you actually become more technical? like like it's not about the syntax or anything, right? Is that is it just like using it more or like how do you

我觉得现在「变得更技术」这件事有点……我的问题是:对于像我这样、想真正学会怎么跟 agent 协作、想搞懂它到底在干什么的人来说,你到底怎么才能变得更技术?我说的不是学语法之类的东西。是就靠多用吗?还是说……


[37:30] Thariq

Yeah, I mean I think for the first step is motivating yourself to learn things, you know what I mean? I I think that is like um honestly really hard and and like I find myself doing this as well where like uh you know if you don't need to learn something to get the job done maybe you won't right but I think that like um it is really important. I think the goal of learning to be more technical is to know my unknown unknowns, right? And so there are some things that like being technical and knowing the syntax of Typescript is not really very helpful, you know? But I think like being technical and knowing like okay like hey uh what are the like trade-offs of different backend services and and uh what are the different video encryption libraries and how do they work and what's the difference between a local or remote video encryption or transcription library right these are all like I think pretty helpful right and so I think oftentimes I'm trying to learn the constraints of the system right and so like what is possible how is it doing it right now how good could it be you know like what if we did something else. And um Claude can often brainstorm and teach you this if you like push it, right? But you really do have to push it. I think like um this is like, you know, just the hardest thing about education and what everyone says is sort of like it feels good to like try and learn something, but like actually learning something is more work, you know, and like it should feel like work. I think Kaparthi says this a lot, right? Like education should feel like work more than fun. So yeah.

我觉得第一步是先说服自己去学。说真的,这件事本身就很难,我自己也一样——如果不学某个东西照样能把活干完,那你可能就不会去学。但我觉得这真的很重要。学技术的目标,是搞清楚自己有哪些「未知的未知」(unknown unknowns)。有些东西,比如懂 TypeScript 的语法,其实帮助不大。但另一类就很有用:不同后端服务各有什么取舍?有哪些视频编码库、它们分别怎么工作?本地跑和远程跑的视频编码或转写库有什么区别?这些我觉得都挺有用的。所以我很多时候是在学这个系统的边界在哪:什么是可能的、它现在是怎么做的、最好能做到什么程度、要是换个做法会怎样。而 Claude 通常能陪你头脑风暴、把这些讲给你听——前提是你得推着它问,但你真的必须去推。我觉得这就是教育里最难的一点,也是大家常说的:「试着去学」感觉很爽,但真正学会是要费力的,而且它本来就该有「干活」的感觉。Karpathy 经常讲这个——教育应该更像干活,而不是像玩。


[39:02] Peter

Yeah, that's that's actually good. cuz cuz um cuz actually easier to just like for example with the videos thing, right? Like it's actually easier to just keep prompting cloud to just do it and then look at the output and then like like not actually learn anything, dude. Like just like go figure out and then it figs out. But the fact that you actually generate these like pretty detailed HTML reports and read them, I think it's probably the exception, dude. I think most people don't do this. Yeah. I mean, I think it's something I'm trying to push. Yeah. But like I think that like this is how you can learn to make just like I think the question for you is like okay like how do you go from making good shorts to making like really like the best shorts like highest production quality shorts out there. You know what I mean? And I think if that's the goal, right? Like I think you need to like then sort of probably learn more about like both about video production and editing and uh and like the technical concepts, right? And and then push yourself that way. And I think that like I think we all want to push ourselves towards like being better and faster and not just faster. Yeah. So,

对,这个说得真好。因为……其实就拿视频这事来说,最省事的做法就是一直催 Claude 去做,然后看一眼产出——结果你什么都没学到,兄弟。就是丢给它去搞,它也真能搞出来。但你居然会让它生成那些相当详细的 HTML 报告,而且真的去读——我觉得这大概是个例外,兄弟,大多数人不会这么干。(Thariq)对,这也是我一直想推的一件事。但我觉得这就是你真正学到东西的方式。对你来说,问题其实是:你怎么从「能做出不错的 shorts」,走到「能做出真正顶级、制作水准最高的 shorts」?懂我意思吧?如果那是目标,那我觉得你就得去多学一些——既包括视频制作和剪辑本身,也包括那些技术概念,然后往那个方向逼自己一把。我觉得我们都想让自己变得更好、更快,而不只是更快。


[40:01] Peter

okay. So, maybe I'll add uh some custom instructions to my cloud.

好,那我可能得往我的 CLAUDE.md 里加几条自定义指令。


[40:05] Peter

Be like, hey, make sure you generate HTML reports for everything so I can read that.

就写:嘿,所有事情都给我生成一份 HTML 报告,好让我能读。


[40:08] Thariq

Yeah. Yeah. Yeah. Well, I mean, you know, yeah, I think it's uh something you want to push yourself to as well, you know, to like figure out when are when do you want to understand how something is working.

对对对。嗯,我是说,这也是你得推自己一把的地方——去判断什么时候你是真的想搞懂某个东西是怎么运作的。


[40:18] Peter

Got it. Awesome, man. Thank you for giving the gift of cloud code to all of us and um yeah really excited for what what's next dude. I don't know if you probably can't share anything but you know really excited for what's next. A lot of what's next is cloud tag you know and it'll keep getting better but I I think it's just something that it's hard for us to understate like how much it's sort of changed work at anthropic here and so excited for everyone else to to get on board or to try it out. Yeah,

明白了。太棒了,兄弟。谢谢你们把 Claude Code 这份礼物送给我们所有人,真的很期待接下来会有什么。我知道你大概什么都不能透露,但真的很期待。(Thariq)接下来很大一块是 Claude Tag,它会一直变好。但我觉得有件事怎么说都不为过——就是它对 Anthropic 内部的工作方式改变有多大。所以也很期待更多人用起来、去试一试。


[40:42] Peter

if you have a really capable employee you're not going to like micromanage them, right? You just put, hey, tag them on Slack and I can't do this. Then hopefully it's done.

如果你手下有个特别能干的员工,你是不会去微观管理他的,对吧?你就在 Slack 上 @ 他一下,说「嘿,这个能帮我搞一下吗」,然后事情就办好了。


[40:50] Thariq

Or you want to like talk talk with iteratively with other people and collaborate. Yeah,

或者你想跟别人来回讨论、一起协作,对吧。


[40:55] Peter

you should build it to a point where I can walk by Claus's desk and just like ask some questions respond.

你们应该把它做到这种程度——我可以直接走到 Claude 的工位旁边,随口问几个问题,它就答上来。


[41:00] Thariq

Yeah, like a robot. Yeah, I mean that could be a hack project for you. You know, I feel like I could already do that. Yeah.

对,像个机器人一样。哈,我觉得这可以当成你的一个 hack project 啊。你懂的,我感觉这现在其实就已经能做出来了。


[41:05] Peter

Cool. All right, well um really great chatting and um Yeah, I I I think people know where to find you online, so I don't think we have to talk about that.

酷。行,这次聊得非常愉快。大家应该都知道去哪儿能在网上找到你,所以这个就不用多说了。


[41:12] Thariq

Yeah, sounds good. Sounds good. Yeah. Amazing. Thanks, Peter. Appreciate

好的好的,没问题。太棒了。谢谢你,Peter,非常感谢。