推荐微信扫码登录以获得更好的体验!另:🎉建议更新到最新版,以体验新功能!🎉 版本更新记录→

【AI编程】新技能!v1.3 带来 /pr /impleme

共 1 集

剧集目录

集标题时长
P1【AI编程】新技能!v1.3 带来 /pr /impleme14:34

P1 · 【AI编程】新技能!v1.3 带来 /pr /implement-spec /retro p01 中英字幕 (P1)

字幕摘录

时间英文中文
0:00Hello folks, version 1.3 of My Skills Repo is out各位好,"我的技能"第1.3版已经发售
0:04and it brings three very important skills它带来三个非常重要的技能
0:07that have become central to my workflow.成为我工作流程的核心
0:09Today I'm gonna show you about implement spec,今天我要告诉你关于执行细节
0:11I'm gonna show you about PR,我要告诉你关于公关,
0:13and I'm gonna show you about retro.我会告诉你关于回顾。
0:15And retro, I think, is the one that I've just seen我想,我刚刚看到的就是回顾
0:19absolutely go nuts on socials.绝对疯狂的社交。
0:21People going crazy for this skill人们为这种技巧疯狂
0:23and it has felt incredibly powerful to me too.感觉也非常强大
展开字幕全文(373 条)
序号英文中文
1Hello folks, version 1.3 of My Skills Repo is out各位好,"我的技能"第1.3版已经发售
2and it brings three very important skills它带来三个非常重要的技能
3that have become central to my workflow.成为我工作流程的核心
4Today I'm gonna show you about implement spec,今天我要告诉你关于执行细节
5I'm gonna show you about PR,我要告诉你关于公关,
6and I'm gonna show you about retro.我会告诉你关于回顾。
7And retro, I think, is the one that I've just seen我想,我刚刚看到的就是回顾
8absolutely go nuts on socials.绝对疯狂的社交。
9People going crazy for this skill人们为这种技巧疯狂
10and it has felt incredibly powerful to me too.感觉也非常强大
11And the first place I wanna start我第一个想开始的地方
12is the implement spec skill.是执行 spec 技能。
13The main flow of my approach我的方法的主要流经
14for landing huge chunks of work at once为了马上降落大块的工地
15is essentially two different entities.本质上是两个不同的实体。
16You have a spec and then you have the tickets你有一个规格,然后你有票
17that implement that spec.执行这个规格。
18The spec kind of acts like the place where you're going光谱就像你要去的地方
19and then the tickets break that destination down然后门票就打破了目的地
20into a set of sessions that you can then run进入一组会话,然后可以运行
21in a single coding agent.在单一编码代理。
22If you try to implement the spec all in one coding agent,如果你想用一个编码代理来执行光谱
23you would go into the dumb zone of that coding agent,你会进入那个编码代理的哑区,
24you might end up hitting auto-compact.你可能会撞到自动协议。
25And while that works sometimes and it is getting better,虽然它有时有用,它越来越好,
26I still think that breaking things down我仍然认为 打破的东西
27into individual tickets is just a lot cleaner.进入个人票只是很多清洁。
28Now the way that you orchestrate those tickets,现在,你协调这些票的方式,
29the way that you give them each to one coding agent你给每个编码代理的方式
30has always been a little bit confusing for users对用户来说总是有点困惑
31and I've kind of been sort of going back and forth我有点回过头来
32over the way that I recommend you do this.我建议你这么做
33The most annoying and manual way to do this最烦人的手工方法
34is managing it yourself where you, the user, say,正在自己管理它 在你,用户,说,
35okay, agent, we are gonna implement our first ticket.好吧,探员,我们要执行我们的第一张票。
36You wait for it to be complete, you clear the context,你等待它完成, 你清除背景,
37and then you say, okay, implement ticket two.然后你说,好吧,执行第二票。
38You wait, you clear the context,你等着,你清理背景
39you say implement ticket three.你说执行票三。
40You're kind of acting like a for loop there.你表现得像个圈子
41It's not really workable.这不是真的可行。
42So that is what I would describe as the manual loop there,所以这就是我所说的手动循环,
43which is not much fun.这不是什么乐趣。
44But you can change that by having a deterministic loop但你可以改变这一点, 通过一个决定性的循环
45where you have a script that reads each ticket里面有读票的脚本
46and then runs implement on it itself.然后自己执行
47This is how I recommend that most people do this我建议大多数人这么做
48because once you've set up your deterministic loop,因为一旦你建立了你的决定圈
49it's gonna run the same way every time,它会运行的方式 每次一样,
50it's very reliable, and it's cheap, right?非常可靠,而且很便宜,对吧?
51Because you're not using an agent因为你没有用经纪人
52or you're not using a human to run that loop.或者你不会用人来操作这个循环
53You just essentially get a script to do it for you.你只是得到一个剧本 为你做它。
54But setting this up is quite complicated但是这个安排很复杂
55and requires a lot of patience并且需要很多的耐心, 需要很多的耐心,
56as you sort of refine your loop就像你细化你的循环
57and get it better and better.并获得它更好和更好的。
58And so I see this as out of range for beginners所以我觉得这超出了初学者的范围
59and so I wanted some way of allowing beginners所以我想让初学者
60to see not have to manually loop it themselves.不需要手动回路。
61And so I decided, okay, why don't we try a middle ground所以我决定,好吧,我们为什么不尝试一个中间点
62where we have subagents go through and implement the loop?我们的副剂经过那里 执行循环?
63In other words, an agent does the babysitting换句话说,当保姆是经纪人
64instead of a human.而不是人类
65This means that all of the tickets这意味着所有的门票
66will be implemented by subagents.将由副代理人执行。
67And this has recently gotten possible这最近才开始
68because subagents can themselves spawn subagents.因为亚剂本身可以产下亚剂.
69So before subagents were kind of a little bit nerfed,所以在副剂有点神经质之前
70whereas now they're actually as powerful而现在他们其实也一样强大
71as orchestrator agents.作为管弦乐的代理。
72And so this is what ImplementSpec does这就是执行Spec的工作
73is the agent sits there looking at all of the tickets,代理坐在那里 看所有的门票,
74orchestrating them, and then implements them in subagents.然后用副剂执行
75This is, I would say, worse than doing a deterministic loop这比做决定性循环还糟
76because the deterministic loop, again, it's deterministic.因为决定的循环, 又是决定的循环。
77It works the same way every time.每次都一样
78But ImplementSpec is a good way to get started但执行Spec是开始的好办法
79with AFK workflows, away from keyboard workflows带有 AFK 工作流程, 远离键盘工作流程
80where you step away and it implements the entire spec.在那里,你走开, 它执行整个规格。
81Before you use any skill, you should read the entire skill在你使用任何技能之前,你应该阅读整个技能
82and it's not particularly long here.这儿不长
83There are nine steps in its process这一进程有9个步骤
84and it's got a little bit of reference material里面有一点参考材料
85just at the top.只是顶端。
86One crucial thing is it goes for parallelization关键是它要平行
87where it can.在它能够。
88So this says, the tickets are not a list of steps.这张票不是台阶表
89They're a task graph with blocking relationships他们是一个任务图 与阻断关系
90between them.他们之间。
91That means there's always a frontier of tickets也就是说 门票总是有边际的
92that are ready to be grabbed.准备被抓住
93If we take a look at the steps,如果我们看看这些步骤,
94we can see it reads the spec and tickets.我们可以看到它读 规格和门票。
95It does a little bit of exploration in its own subagent.它在自己的副剂中做一点探索.
96It creates an integration branch它建立了一个融合分支
97and then it goes and uses implementer subagents然后它开始使用执行器子剂
98to implement each ticket using TDD用 TDD 执行每张票
99and using work trees too.还用工作树
100Once that's done, it merges its work一旦完成,它就会合并它的工作
101to the integration branch with a subagent与子代理人合并的分支
102and then pings off more implementer subagents然后调用更多执行器子代理
103until all the work is done.直到所有的工作完成为止
104And once the work is done,一旦工作结束,
105it goes and calls code review on the integration branch.它去呼叫代码审查 整合分支。
106Then it cleans up all of its work然后它清理所有的工作
107and makes the PR ready for review使公关做好审查准备
108so you get a single PR off this huge, great big spec.所以,你得到一个单一的公关 从这个巨大的,伟大的光谱。
109I've been reaching for this a lot more我为这个做了很多
110than I thought I would,比我想的还要多
111especially on systems where you haven't set up特别是你还没有建立系统的
112these deterministic scripts yet,这些决定性的剧本,
113where you don't have your software factory dialed in,在那里你没有你的软件厂拨号,
114I suppose.我想是这样吧
115Implement spec has been really, really useful.执行 spec 一直非常非常有用。
116It's been in progress for a while now,已经有一段时间了
117but I thought now's the moment,但我认为现在是时候
118let's graduate this so people can use it我们把它毕业吧 这样人们就可以用它了
119and fiddle around with it随心所欲
120and build their own version of this too.建立他们自己的版本 这一点。
121This is a basic version这是一个基本版本
122of how you might implement your own spec.如何实施你自己的规格。
123You could do something totally different to this.你可以做一些完全不同的事
124You could use stacked PRs.你可以用堆叠式公关
125You could do all sorts of stuff.你可以做各种各样的事情。
126And in fact, talking of PRs,事实上,说到公关
127one of my most used recent skills我最近用过的技巧之一
128必须是公关技术, 所以prskill.md.
129我对Dex Horthy很感兴趣
130I recently got to meet up with him in person我最近要见他一面
131and he has this gorgeous skill called ShowMe.他拥有一种叫ShowMe的华丽技巧.
132What ShowMe does is it helps the user understandShowMe所做的就是帮助用户理解
133the current topic visually with concise diagrams.以简洁图表显示当前主题。
134And it uses all of this really nice pseudo code.它使用这些非常漂亮的假代码。
135This looks a little bit garbage,这看起来有点垃圾,
136but actually when you see it in the context of a PR,但事实上当你从公关的角度来看待
137it really makes the PR a lot easier to read and review.这真的让公关更容易阅读和审查.
138PRs are still the main bottleneck for work getting to main.公关仍然是工作进入主干的主要瓶颈。
139And my goal with this PR skill,我的目标与这种公关技巧,
140某种灵感来自ShowMe,
141is to make human review as easy as possible.尽可能让人性审查变得简单
142And in the skill, we provide essentially a template在技能方面,我们基本上提供了一个模板
143for writing a PR body.写公关机构。
144That's all the skill does.这就是技巧的全部。
145We first start with a summary我们首先要总结一下
146based on the kind of ShowMe template,基于ShowMe模板的类型,
147which we include in the skill.它包含在技巧中。
148And then we ask for evidence, so before and after.然后求证,故前后.
149This evidence is an essential part证据是关键
150of learning to trust your agent,学会相信你的经纪人
151learning to trust your agent's outputs.学习信任您的代理输出。
152And actually prompting it to provide evidence并促使它提供证据
153often means it runs an extra test常表示它运行额外测试
154or it takes an extra screenshot if it has that ability.或者如果它有这种能力 需要额外的截图
155And it provides you runtime information它为你提供运行时间信息
156on that it's actual change说到实际变化
157is doing what it thinks it's doing.正在做它认为它在做什么。
158Without asking for hard evidence,不要求确凿证据
159it's very easy for agents to say,特工们很容易说
160yeah, that probably works because I've read the code.是啊,这也许有效 因为我读过代码。
161But no, verification is something但是,不, 核查是一种东西
162I'm beginning to be really obsessed with,我开始沉迷于
163especially after my recent interview with Lauren.尤其是我最近接受劳伦采访之后
164And then the third heading here is merge danger.第三个方向是合并危险
165So how dangerous is this PR going to be to merge?这个公关会有多危险?
166One metaphor I've really liked here is,一个我很喜欢的比喻是:
167is this a one-way door or is this a two-way door?这是单向门还是双向门?
168A two-way door is a door that you can walk back through.双向门是可以走回去的门.
169In other words, we can easily revert this PR.换句话说,我们很容易恢复这种公关。
170But a one-way door is a PR但单向门是公关
171that's going to do something out in the world.这会在世界上做一些事情。
172It's going to delete some data它会删除一些数据
173or it's going to be expensive in some way to roll back.否则会很贵的
174And then finally you have blast radius here.然后你终于有爆炸半径了
175So the potential ramifications of the changes.因此,变化的潜在影响。
176So if you have a very small blast radius on a two-way door,所以,如果你有一个非常小的爆炸半径 在双向门,
177then you really don't need to review that PR very hard.那你就不用仔细检讨公关了
178And so having this at the bottom,所以有了这个在底部,
179probably the first or second thing也许第一或第二件事
180that the person is going to see is essential.这个人会看到这一点至关重要。
181So for instance, here's one of the PRs in my repo举例来说,这是我的公关之一
182that has been provided by the PR scale.由公关比额提供。
183This is essentially merging two algorithms这基本上是合并两个算法
184that were basically the same.基本一样
185And we can see the files deleted我们可以看到文件被删除了
186and the files added in the right context.和在正确的上下文中添加的文件。
187We understand the functions,我们理解这些功能,
188the sort of the call stack that's being structured here,什么样的呼叫堆 正在这里的结构,
189but crucially we have the evidence.但关键是我们有证据
190We have a before and after on a real entity.我们有一个真正的实体。
191So there's no intro in this one,所以这里面没有介绍
192but afterwards it adds the intro,但后来它增加了介绍,
193which is kind of the behavior that we want here.这是一种我们想要的行为。
194And finally, we can see that the merge danger is two ways.最后,我们可以看到合并的危险有两种方式。
195Just a pure refactor plus one deliberate behavior change仅仅是一个纯粹的因子 加上一个故意的行为改变
196and the blast radius is small.爆炸半径很小
197So this PR skill is just become所以,这种公关技巧 刚刚变成
198absolutely indispensable to my flow.绝对是绝对不可缺少的我的流量。
199It is also one of the most consistently invoked这也是最经常援引的
200model invoke skills that I've seen.模型引用我见过的技能。
201You, the user don't have to worry about it at all.你,用户不必担心它。
202It seems to just invoke it every single time,它似乎只是每次引用它,
203至少在Opus 5.5上。
204So you should just be able to download it所以你应该可以下载它
205and just see your PR bodies get better.看着你的公关身体好转
206And of course, if you already have a PR body skill,当然 如果你已经有公关的体能
207then why not just steal what you can from this?那为什么不从这里偷你所能的东西呢?
208Now, before we talk about the retro skill,现在,在我们谈论回溯技巧之前,
209we should mention that there has been a big change我们应该提到,已经发生了巨大的变化
210in how my, especially grill with docs function.在我的,特别是烧烤 与Docs的功能。
211So let's take a look at domain modeling here让我们来看看域名模型
212and domain modeling skill.和域建模技巧。
213Now, instead of writing to context.md, writes to glossary.md.现在,不是写到上下文,而是写到词汇表。
214The inspiration for this skill came from DDD,这种技能的灵感来自DDD,
215came from Eric Evans' book, Domain Driven Design.来源于埃里克·埃文斯的著作"域驱动设计".
216And for that, I was essentially using a file name为此,我基本上使用一个文件名
217based on the concept of bounded context from DDD.以来自DDD的限定上下文概念为基础。
218And so this used to be context.md like this,所以这曾经是背景。 像这样,
219but now I've sort of moved away from the DDD style flow.但是现在我有点远离了DDD风格的流.
220I mean, I still use DDD in all but name,我的意思是,我仍然使用 DDD 除了所有的名字,
221but I wanted a slightly less overloaded term here.但我希望这里能少点超载
222Context.md just felt way too vague.情况有点模糊
223It didn't sort of trigger the agent to pull it in它没有触发 特工把它拉进来
224at the right moment.在正确的时刻。
225And for users, it was pretty confusing.对于用户来说,这相当令人困惑。
226I also ended up reducing the amount of stuff in glossary我最后也减少了词汇里的内容
227or in context.md until it was literally just a glossary.或从上下文。 md直到它只是一个词汇表。
228So there really is no point anymore.所以真的没有意义了。
229Glossary.md is now what we're going.词汇表MD现在是我们要去。
230This is also updated everywhere.这一点也随处更新。
231And so loads of my skills rely on seeing a glossary.md所以,我的技能 依赖于看到一个词汇表。 微额
232in order to behave properly,为了行为正常
233in order to use the domain language at all points.以便在所有点上使用域语言。
234And so you will need to definitely update this.因此,你需要 绝对更新这一点。
235There's no other behavior changes about the skill.技能方面没有任何其他行为变化.
236It's really literally just a file name change.这实际上只是一个文件名称的改变。
237And I think that this is one that folks have been wanting我认为这是人们一直想要的
238for a while, so I'm glad to ship it.有一阵子,所以我很高兴把它运走。
239But now let's take a look at the retro skill但现在让我们看看 复古的技巧
240and let's actually do it by running it.让我们真正做到这一点 通过运行它。
241What I noticed with my skill set is that I impose a lot,我用我的技巧注意到的是,我施加了很多,
242I ask a lot of you, the user.我问了很多你,用户。
243And what I was kind of asking of you我问你的是什么
244is you were responsible for over time,你对时间负责
245making changes to the repo that would improve it.改变可以改善它的回购
246In other words, I was asking you to manage your agents.md,换句话说,我要你管理你的特工 医生,
247to manage your skills,管理你的技能,
248to make sure that your repo was token efficient,以确保你的回购是象征性的高效,
249to make sure that your environment was good and safe确保你的环境是好的和安全的
250for the agent to write code in,对于代理写代码,
251that you had good lint rules,你有一个很好的规则,
252that you had good navigation.说你有良好的导航。
253And I realized that I personally was doing a lot of stuff我意识到我个人做了很多事情
254to my repos, to my agents,到我的地盘, 我的代理人,
255in order to make them easier for me to work with为了方便我和他们一起工作
256to make them more performant.让他们更能表现
257And so I realized, why don't I bundle that up into a skill?所以我意识到,我为什么不 捆绑起来的技能?
258And this is what retro does.这就是反省的作用。
259It is short for retrospective.它简短的回顾。
260You run it on a coding agent session,你运行它在一个编码代理会话,
261either the current one or 10 that I've currently got,无论是现在的还是现在的10个
262or let's say the previous one,或者说前一个
263and it will suggest improvements for next time.它将建议下一次作出改进。
264The cool thing about actually reading real sessions here真正在这里读真实的课的酷事
265is that it's able to look at what happened with the agent.就是它能看透那个特工的遭遇
266It's able to see the inefficiencies它可以看到效率低下
267that maybe the agent actually hides from you.也许特工真的躲着你
268I really like this post from Andre.我真的很喜欢安德烈的这篇文章
269Retro by Matt Parker's Game Changer.马特·帕克的"游戏改变者"的翻版.
270My agents are bumping into all kinds of problems我的特工们遇到各种麻烦
271that went undetected, but due to persistence,未被发现,但因坚忍,
272the features still got built one way or another.这些特性仍然以某种方式建立。
273In other words, the agent doesn't complain,换句话说 特工不抱怨
274I think, as much as it should,我想,尽管它应该,
275and doesn't try to fix its own mistakes.而不是试图弥补自己的错误
276You kind of need to get another agent你需要找另一个探员
277to look back on those sessions and see where it went wrong回头看那些会话 看看哪里出了问题
278and see how to help.并看看如何帮助。
279And so this is what our agent has found here.这就是我们探员在这里发现的
280The agent ran an irreversible public action特工进行了不可挽回的公开行动
281before you picked a fix.在你选择修补之前
282The agent found why the 1.3.0 release was missing,特工发现为什么1.3.0释放失踪
283and then it ran a release without actually asking.然后,它运行 一个释放,没有实际询问。
284This is why, by the way,这就是为什么,顺便说一句,
285when you actually look at the releases,当你真正看 释放,
286you'll see there's no 1.3.0 release,你会看到没有1.3.0的释放,
287only a 1.3.1 release.仅发布1.3.1版.
288Claude kind of screwed this up.克劳德搞错了
289I don't honestly care that much about it,我其实不关心它,
290so I don't mind this one in my context.所以我不介意这个在我的背景。
291We can see that this particular repo in我们可以看到,这个特别的回购在
292has no actual guardrails.没有真正的护栏
293So there is a PNPM check script,所以有一个PNPM检查脚本,
294but nothing actually runs it.但实际上没有运行它。
295So it's suggesting adding a CI pipeline here.所以建议在这里增加一个CI管道.
296And here we can see there's context loss happening在这里,我们可以看到 发生背景损失
297between compactions in long sessions.在长会话的紧凑之间。
298So I use animatics to kind of create my videos所以我用动画制作我的视频
299or early drafts of them now.或者是现在的草稿
300And it's saying that there's some loss when you compact.它说,有些损失 当你压缩。
301And so it's saying move some of the repeated instructions所以它的意思是移动一些重复的指示
302into an animatic skill.变成一种动能。
303This is definitely a really good one,这绝对是一个非常好的,
304and I'm definitely going to implement that for sure.我一定会执行的
305Oh, look at this one.哦,看看这个。
306A custom CLI that I've created我创建的定制CLI
307for my course video manager wastes tokens.为我课程的视频经理 浪费代币。
308So Retro looks at token inefficiency too.因此,Retro也看象征性的低效。
309Wiki, which is another custom CLI,维基,这是另一个定制的CLI,
310is not on path locally,当地没有在路上,
311and Wiki AI Hero has gaps.和维基AI 英雄有差距。
312So Retro is merciless.故复是无情.
313It will look at your actual sessions它会看你实际的会话
314and see what is going on,看看发生了什么
315and it will pretty much always find ways to improve.而且它几乎总是会找到改进的方法。
316Now what I'd say with Retro现在我要跟Retro说什么
317is you want to use your human judgment你想用你的判断力
318when you look at these.当你看着这些。
319I know, for instance,我知道,比如说,
320the thing that it thinks is most serious事情,它认为是最严重的
321is actually not that bad.其实没那么糟
322It's just a release.唯解脱.
323I can always create and cut new releases.我总是可以创造和剪除新的发行。
324And so the way Retro works故复古之法则
325is it's designed to be human in the loop.它被设计成是人环。
326It's not designed to just keep creating它不是用来继续创造的
327these fixes random.这些修正是随机的。
328Pretty much everyone, when I show them this,几乎所有的人, 当我给他们看这个,
329they go, ooh, I'd love to automate this.他们走了,哦,我想 自动化这个。
330No, you don't want to automate this.不,你不想 自动化这个。
331Automating this means that the agent自动化意味着代理
332will get itself into a loop将进入循环
333where it continually finds false positives,在那日,它经常发现假阳性,
334it continually tries to fix things,它不断试图修复事物,
335and you'll end up in this weird trajectory你会陷入这个怪异的轨道
336where it just takes the repo它只是需要还款
337and your agent into a place it shouldn't really go.和你的经纪人进入一个不该去的地方
338So I recommend you run Retro所以我建议你跑步
339on a sampling of your agent sessions.您的代理会议样本。
340Every time you've got a free moment每次你有空的时候
341and you realize, oh, I haven't run Retro in a while,你知道,哦,我已经很久没有 运行逆流,
342just try getting it to run through试着把它弄过去
343your most recent sessions,您最近几届,
344maybe a session that has gone wrong, let's say,说不定是错的
345or you feel the agent has done something weird,或者你觉得经纪人做了奇怪的事
346and Retro will usually find a fix.而Retro通常会找到一个固定。
347We can see that inside the steps in the Retro skill,我们可以看到,在步骤 在复古技能,
348it has several categories for improvements它有几类改进
349that it looks for.它寻找。
350How easy is your code base to navigate?你的代码基础有多容易导航?
351Are there automated checks that we could add?是否有自动检查,我们可以添加?
352Could we add coding standards能否添加编码标准
353for the automated reviewer to enforce?自动审查员执行?
354How healthy is the globalagents.md?全球毒剂有多健康?
355Is the tool economy any good?工具经济怎么样?
356Are there any no ops in the instructions in steering files?向导文件中的指令中没有操作吗 ?
357Does the agent have access to all the information it needs?特工是否可以获取所有所需的信息?
358Overall, I've seen my token efficiency总而言之,我看到了我的象征效率
359and just the quality of work和工作质量
360{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我已经能够生产出大量的
361by running Retro regularly.通过定期运行Retro。
362And if you wanna see the quality of your work increase too,如果你想看到你的工作质量也提高,
363then I recommend you take my AI coding crash course,我建议你接受我的 AI编码崩溃课程,
364这是在aihero.dev。
365I'm updating this today我今天要更新这个
366with a new lesson focusing on implement spec.有了新的教训,侧重于执行规格。
367And if you wanna take control of your coding agent如果你想控制你的编码代理
368and utilize my skills better, then this is the place.并更好地利用我的技能, 那么这就是地方。
369But folks, thank you so much for following along.但是,各位,非常感谢你们跟随。
370Hopefully you enjoy skills v1.3.希望你们能享受技能V1.3
371Enjoy seeing the uncomfortable truth喜欢看到不舒服的真相
372of how bad your agent sessions are with Retro,你的经纪人和Retro的会面有多糟糕
373and I'll see you in the next one.下次见
该视频共有字幕 373 条。解锁更多字幕为会员功能,请移动到 价格