Here we go. Now we're going to do the feature dev, feature dev, feature dev, 开始了。现在我们要做功能开发，功能开发，功能开发，
you can just put down and tab and then I'm going to say implement Jira ticket PL4 你只需放下并按 Tab 键，然后我会说实施 Jira Ticket PL4
and make a PL. That's it. That's all we're doing. Off it goes. It's connected to Atlassian, 并制作 PL。就是这样。这就是我们正在做的一切。关了就走了。它与 Atlassian 连接，
it's pulling PL4 and things are happening. I will see you back here in a minute. I know I'm 它正在拉 PL4，事情正在发生。我一会儿就回来见你。我知道我是
going to be amazed and shocked. Let's see what happens. Okay. It's come back and asked me 会感到惊讶和震惊。让我们看看会发生什么。好的。它回来问我
questions like before. The first one it's saying is for this V1 foundational ticket, 像以前一样的问题。第一个是针对这张 V1 基础票的，
should authentication be functional or just have placeholder routes? And it should be placeholder 身份验证应该起作用还是仅具有占位符路由？它应该是占位符
only, which I thought we were clear about in the ticket, but maybe not enough. So I'm going to 只是，我认为我们在票证中已经清楚地说明了这一点，但可能还不够。所以我要去
move to placeholder only. That's that question. For the front-end back-end integration, should 仅移至占位符。这就是那个问题。对于前端后端集成，应该
the current NDA form functionality remain client-side or should the form data be saved 当前的 NDA 表单功能保留在客户端，还是应该保存表单数据
persisted to the back-end? Let's keep it client-side. And that's it. That's the end of 坚持到后端？让我们将其保留在客户端。就是这样。就这样结束了
our questions. Off it goes. Back to thinking. Okay. It's now following the steps more precisely. 我们的问题。关了就走了。回到思考。好的。现在它正在更精确地遵循这些步骤。
It's got to the architecture design and it's asking me to review this. If you look at the 它涉及到架构设计，并要求我对此进行审查。如果你看一下
bottom here, it says, does this architecture approach look good to proceed with the 这里的底部，它说，这种架构方法看起来是否适合继续
implementation? So let's have a look at it. Let me see. I have a clearer sense. Here we go. 执行？那么让我们来看看吧。让我看看。我有了更清晰的感觉。开始了。
Static front-end fast API. That's good. Front-end Next.js static. That's fine. Fast API with UV. 静态前端快速API。那挺好的。前端 Next.js 静态。没关系。带 UV 的快速 API。
SQLite for future use. Yes. Placeholder is only. Yes. Single container multistage build. Yes. That's SQLite 供将来使用。是的。仅占位符。是的。单容器多阶段构建。是的。那是
what I like. This all looks good. Pyproject.toml. I'm pleased to see that's what it didn't do before 我喜欢什么。这一切看起来都不错。 Pyproject.toml。我很高兴看到这是以前没有做过的
that I didn't like. This seems sensible. That's sensible. This is a good structure. 我不喜欢。这似乎是明智的。这是明智的。这是一个很好的结构。
Oh, I hope that that's not going to be. Oh, yeah. It's got roots. Okay. Yeah. Yeah. I like that. 哦，我希望那不会是这样。哦，是的。它有根了。好的。是的。是的。我喜欢这样。
I like that. Docker compose is good. Fine. And this is all makes sense to me. I think this is good. 我喜欢这样。 Docker compose 很好。美好的。这对我来说都是有意义的。我认为这很好。
Add the database to gitignore. That's very sensible. Okay. I think this is good. 将数据库添加到 gitignore。这是非常明智的。好的。我认为这很好。
That all looks very sensible. Now, of course, if you are not familiar with these technical 这一切看起来非常明智。当然，如果您不熟悉这些技术
decisions, then that's good because it's got a chat with me. Chat about this thing where you can 决定，那很好，因为它与我聊天。可以的地方聊聊这件事
ask questions. Probe. This is where even if you're not from a technical background, you need to be the 提出问题。探测。即使您不是技术背景，您也需要成为
boss. Be like the inquisitive manager that asks some probing questions to make absolutely sure 老板。就像好奇的经理一样，提出一些探究性的问题以确保万无一失
you understand the different decisions because this is your opportunity to challenge. And, you 您理解不同的决定，因为这是您挑战的机会。你呢
know, increasingly, it's getting better and better. It's hard to find fault in this. But had it done 知道，越来越好。这很难挑出毛病。但如果做到了
this before in our prior project, PM, I would have noticed that it had a monolithic main.py 在我们之前的项目中，PM，我会注意到它有一个整体的 main.py
and other problems with it that I would have seen ahead of time. But it's not making that mistake 以及我提前看到的其他问题。但它并没有犯这样的错误
now, perhaps because it's been guided through this process. Okay. So I'm pressing one. Yes, proceed. 现在，也许是因为它已经完成了这个过程。好的。所以我就按一个。是的，继续。
And off it goes. Well, that's incredible. It says that it's done everything. It says that it's 然后它就消失了。嗯，这太不可思议了。它说它已经完成了一切。它说它是
tested it. All 76 tests pass, it says. And the API endpoints are done and that it's completed 测试了一下。它说，76 项测试全部通过。 API 端点已经完成并且已经完成
everything and it's made a PR. And so I guess we should now test it ourselves and then we can move 一切都已成为公关。所以我想我们现在应该自己测试一下然后我们就可以移动
on to the next. If we believe it, let's find out. We've got ourselves again a script that we should 继续下一步。如果我们相信的话，让我们来看看吧。我们又得到了一个我们应该的剧本
be able to run. We're going to do that now. So I bring up a new terminal window. Here we go. I'm 能够运行。我们现在就这么做。所以我打开了一个新的终端窗口。开始了。我是
going to do scripts slash start dash Mac dot shell. Okay, it's building something. It's done. 执行脚本 斜线开始 破折号 Mac 点 shell。好的，它正在构建一些东西。完成了。
It started it. It says right here. Let's open this up. Here we go. Click on here. Up it comes. It 它开始了。它说就在这里。让我们打开这个。开始了。点击这里。它来了。它
looks the same, but we know it's running through this this bigger infrastructure now. And I guess 看起来一样，但我们知道它现在正在通过这个更大的基础设施运行。我猜
we could just just quickly check that if we do New York that it appears over on the right, it does 我们可以快速检查一下，如果我们检查纽约，它会出现在右侧，它确实会出现
seem to. And what about the downloading? Is it still going to work? Yep, that still seems to work. 似乎是。那么下载呢？它还可以工作吗？是的，这似乎仍然有效。
Here we go. Here are my downloads. Recent download. And there it is. Fine. It's all working. 开始了。这是我的下载。最近下载。就是这样。美好的。一切正常。
It's that's great. On a different route on local hosted 8000. It's coming through just great. 真是太好了。在本地托管 8000 上的另一条路线上。效果非常好。
Amazing. Okay, so back we come here. And yeah, we can we can see that the tons and tons of stuff 惊人的。好吧，那我们就回到这里吧。是的，我们可以看到大量的东西
has been built for good back end and routes and lots of things here. Okay, so now I'm going to say, 已经为良好的后端和路线以及这里的很多东西而构建。好吧，现在我要说的是，
please merge the PR locally and push push to main and switch branch to main. 请在本地合并PR并将push到main并切换分支到main。
Let's make that happen. 让我们实现这一目标。
And then at the end of this, off it goes, it's doing all of its things. And what are we gonna 然后在最后，一切都结束了，它正在做所有的事情。我们要做什么
do next? We're just going to go push ahead and do do PL five, the next of our actions. So this is, 接下来做什么？我们将继续推进并执行 PL 5，这是我们的下一个行动。所以这是，
of course, a bigger one, I'm just going to go up here, feature dev implement JIRA ticket PL five 当然，更大的，我只是要在这里，功能开发实现 JIRA 票证 PL 5
and make a PR. Maybe maybe before we do this, not so fast, not so fast. Let's look at context. 并制作公关。也许在我们这样做之前，不要那么快，不要那么快。让我们看看上下文。
Always look at the context. Let's take a look. How are we doing here? Scroll up. Look at that. 始终查看上下文。我们来看一下。我们在这里怎么样？向上滚动。看看那个。
It is pretty full. Why don't we do something a bit different? Why don't we say, please 这是相当完整的。我们为什么不做一些不同的事情呢？为什么我们不说，请
update, add, add, add some concise details to the end of claude.md with an update on what has been implemented. 更新，添加，添加，在 claude.md 末尾添加一些简洁的细节，并更新已实现的内容。
And change anything else that we've done here. 并改变我们在这里所做的任何其他事情。
And change anything that's no longer accurate 并更改任何不再准确的内容
in claude.md because I remember there's a section at the top when we say this is what we've got. 在 claude.md 中，因为我记得顶部有一个部分，我们说这就是我们所拥有的。
Okay, so we'll let it do that because we're going to want to now reset it to do the next one. 好的，所以我们让它这样做，因为我们现在要重置它以执行下一个操作。
And this is a good practice because if we just leave it going, it's going to fill up the rest 这是一个很好的做法，因为如果我们让它继续下去，它就会填满剩下的部分
of the context. Then it's going to do a compact. And as it does that compact, it's always a bit 的上下文。然后它会做一个紧凑的。当它如此紧凑时，它总是有点
risky. What you tend to find is that it selectively forgets some of the things that did really matter 有风险。你往往会发现它有选择性地忘记了一些真正重要的事情
from things like claude.md in its attempt to squash everything down. So people are afraid 来自 claude.md 等试图压制一切的东西。所以人们害怕
of compacting for good reason. You get used to this kind of fear of the compact once you've done 压缩是有充分理由的。一旦你完成了，你就会习惯这种对紧凑型的恐惧
this for a while because performance tends to degrade after it. All right, now we've done that, 这种情况会持续一段时间，因为此后性能往往会下降。好吧，现在我们已经做到了，
let's go and have a look at claude.md. Let's see what we've got here. Open preview. 让我们去看看claude.md。让我们看看这里有什么。打开预览。
And this is a SAS product, the current implementation supports it. Okay, with no 这是一个SAS产品，当前的实现支持它。好吧，没有
development progress, that's all good. AI design, it hasn't messed this up. It still says use your 发展进步，这一切都很好。人工智能设计，它并没有搞砸这一点。它仍然说使用你的
skill, color scheme, implemented status. Okay, good, good, good, good. All right, fabulous. 技能、配色方案、实施状态。好的，好，好，好，好。好吧，太棒了。
Now, now we can start again with Claude Code. We can clear the context with clear conscience, 现在，现在我们可以重新开始克劳德代码了。我们可以问心无愧地弄清楚背景，
and then get on with the next one. So we will get on with that. So I'm going to do slash clear. 然后继续下一个。所以我们会继续下去。所以我要清除斜线。
There we go. No content, it's all gone. Context, let's have a look at it. Nice and fresh. 我们开始吧。没有内容了，全部消失了。上下文，我们来看看。又漂亮又新鲜。
It's of course still got that memory in there. You can see that the memory file is 1.8k tokens. 当然，那段记忆仍然存在。可以看到内存文件有1.8k个token。
It's got a little bit in there. So we've got some stuff in there. Now, if I go up, 里面有一点点。所以我们里面有一些东西。现在，如果我上去，
up, up, here we go. Implement JIRA ticket PL5 and make a PR. But we may need to reauthenticate. 起来，起来，我们开始吧。实施 JIRA 票证 PL5 并制作 PR。但我们可能需要重新验证。
Should we just give it a try? Let's see what happens. If it's able to read JIRA or whether 我们应该尝试一下吗？让我们看看会发生什么。是否能够读取 JIRA 或者是否
it's going to get stuck. It's, let me see, we'll do this. I think this is a good sign. 它会被卡住。让我想想，我们会这样做。我认为这是一个好兆头。
This is what happens when it gets stuck. It just stays like this. When this happens, it means it 这就是当它被卡住时会发生的情况。它就这样。当这种情况发生时，就意味着
needs me to reauthenticate. So if this happens to you, that's what's going on. I know this from 需要我重新验证。因此，如果这种情况发生在您身上，那就是正在发生的事情。我从
bitter personal experience. So you press escape to interrupt like that. And now we've interrupted, 痛苦的个人经历。所以你按escape键就可以打断。现在我们打断了，
we do slash MCP and we come into our MCP service. We go into Atlassian. We're going to reauthenticate. 我们大幅削减 MCP，并开始提供 MCP 服务。我们进入 Atlassian。我们将重新进行身份验证。
Up comes this approve and back down here. Accept. That is now done. Return to Cloud Code. Back we go. 上来了这个批准并回到这里。接受。现在已经完成了。返回云代码。我们回去吧。
You see, I'm pretty quick at this now. Here we go. Try again. Now I think we'll find it. We'll 你看，我现在在这方面很快。开始了。再试一次。现在我想我们会找到它的。出色地
be able to do it quite fast. Running and it's off. There we go. Okay. I'll see you in a second. 能够相当快地完成。运行起来就关掉了。我们开始吧。好的。我一会儿见。
Okay. So it's asking me questions and they are really great questions. And these are the kinds 好的。所以它向我提出了一些问题，而且这些问题都非常好。还有这些种类
of questions that you might go back and ask your business sponsor or product person if you were 如果您是这样的话，您可能会回去询问您的业务赞助商或产品人员
trying to code this. Should the chat UI completely replace the form or coexist with it so your user 试图对此进行编码。聊天 UI 是否应该完全取代表单或与之共存，以便您的用户
can switch between the chat and the form view? I think number one, replace the form entirely. We 可以在聊天和表单视图之间切换吗？我认为第一，完全取代表格。我们
want a chat UI. That is the new way of doing things. So it's just going to be number one. 想要一个聊天界面。这就是新的做事方式。所以它只会成为第一。
That is it. One. Should the document preview live updates or only after the user live updates? For 就是这样。一。文档应该预览实时更新还是仅在用户实时更新后预览？为了
sure. Number one. How should the AI conversation begin? AI greets and asks first question. 当然。第一。人工智能对话应该如何开始？ AI 打招呼并提出第一个问题。
Yes. Let's do that. When all the required fields are filled in, what should happen? 是的。让我们这样做吧。当所有必填字段都填写完毕后，会发生什么？
AI confirms and show download. That sounds right. Yes. One. Okay. Submit answers. Great questions. AI确认并显示下载。听起来不错。是的。一。好的。提交答案。很好的问题。
Really good questions. They are like the sorts of things that one would ask typically. So yeah, 确实是好问题。它们就像人们通常会问的那样。所以是的，
this process, this anthropic built process to guide you through really does seem to work. 这个过程，这个人为构建的过程来指导你完成似乎确实有效。
Next up is going to be the architecture design and it'll ask me some architecture questions. 接下来是架构设计，它会问我一些架构问题。
Okay. It's responded with the architecture setup. Let's have a look at what it's saying. 好的。它通过架构设置进行响应。我们来看看它说了什么。
So it is saying, before designing the architecture, I have a few questions about the implementation. 也就是说，在设计架构之前，我有一些关于实现的问题。
Sorry, here we go. Phase four. Let me launch this. All three architecture approaches are 抱歉，我们开始吧。第四阶段。让我启动这个。所有三种架构方法都是
complete. So it launched three different agents. Minimal, clean, and pragmatic. Minimal changes. 完全的。因此它推出了三种不同的代理。简约、干净、务实。最小的变化。
Replace NDA form with chat interface. Reuse everything else. Stateless backend. Sure. Okay. 用聊天界面替换 NDA 表格。重复使用其他所有东西。无状态后端。当然。好的。
Clean architecture. Full session management. Database persistence. SSE. No, we don't want that. 干净的架构。完整的会话管理。数据库持久性。上交所。不，我们不想要这样。
Definitely not. Pragmatic balance. Streaming responses. Parallel field extraction. Stateless 绝对不是。务实平衡。流式响应。平行场提取。无国籍
backend. Clean. Blah, blah, blah. Two. Parallel. One for structured feature. Good UX. Simple to 后端。干净的。巴拉，巴拉，巴拉。二。平行线。一种用于结构化特征。良好的用户体验。简单到
implement. Let me see. That's a difficult one. I don't particularly think we need streaming 实施。让我看看。这是一件困难的事情。我并不特别认为我们需要流媒体
because we're using Cerebras, which is so fast that streaming is not going to be required. 因为我们使用的是 Cerebras，它的速度非常快，因此不需要流式传输。
And I'd rather we just have the structured extraction. I think I'm going to go for the 我宁愿我们只进行结构化提取。我想我会去
minimal one. I'm going to go here for two. It's going to let me chat about it. Yeah. I guess I'm 最小的一个。我要去这里两个人。它会让我聊聊它。是的。我想我是
going to chat about this. Say chat about this. Okay. Okay. So would you like to clarify? I'd 要去聊聊这个。聊聊这个吧。好的。好的。那么你想澄清一下吗？ ID
like the simple backend, the pragmatic choice, 喜欢简单的后端，务实的选择，
except I only want one LLM call and no streaming because Cerebras is so fast that streaming isn't 除了我只想要一次 LLM 通话并且不需要流媒体，因为 Cerebras 太快了，流媒体不是
necessary. One LLM call with structured outputs, including the response, is cleaner. 必要的。一次具有结构化输出（包括回复）的法学硕士通话更加清晰。
There we go. That's what we're going with. So it's a conversation. Let's see what it's thinking. 我们开始吧。这就是我们要做的。所以这是一次对话。我们来看看它在想什么。
It's thinking about that. Let's see what it likes about that. And hopefully it will build 它正在考虑这个问题。让我们看看它喜欢什么。希望它能够建成
this. But this is the kind of thing that makes sense. Cerebras is extremely fast and a single 这。但这是有道理的事情。 Cerebras 速度极快且单一
structure output call returns both the response text and the extra fields is cleaner. Let me 结构输出调用返回响应文本，并且额外的字段更清晰。让我
update the approach. Great. So I like that interaction. I like the fact that it made me 更新方法。伟大的。所以我喜欢这种互动。我喜欢它让我
think. You could see my cogwheels were turning there. And it was a decent question. It was a 思考。你可以看到我的齿轮在那里转动。这是一个很好的问题。这是一个
good debate. I could see why it would think that streaming would be a better experience. But I do 很好的辩论。我可以理解为什么它会认为流媒体会是更好的体验。但我愿意
think from my knowledge of Cerebras, it's so fast that it would just be like zipping through. It 根据我对 Cerebras 的了解，它的速度太快了，就像快速穿过一样。它
wouldn't be necessary. And it would be extra complexity for little benefit. So I'd rather 没有必要。而且这会增加额外的复杂性，但收效甚微。所以我宁愿
stick with simpler there. Okay. It's going on to implementation. I will see you in a second 坚持使用更简单的方法。好的。正在实施中。我很快就会见到你
when implementation is complete. 当实施完成时。