读见

Anthropic 如何构建产品,以及工程工作将如何改变|Thariq Shihipar

原题How Anthropic Builds And How Engineering Will Change Soon | Thariq Shihipar

约 57 分钟原文英文已翻译

视频由 YouTube 提供

推荐理由Anthropic 工程师 Thariq Shihipar 解释了 Claude Code 背后的工作方式:先给模型目标和充分上下文,把它当作思考伙伴,再用 schema、权限、Skill、artifact 与验证循环控制探索和交付。访谈的价值在于没有把自主性当成免费能力,它同时讨论了工作流设计、数据准备和持续运营的投入边界。适合希望从「让 AI 写代码」走向「让 AI 参与完整软件生命周期」的工程师与管理者。

看前速览

4 个要点

Anthropic 工程师 Thariq Shihipar 说明,团队可将前沿模型视为思考伙伴,并围绕它建立重视验证的 harness、工作流、技能与 artifacts,从而扩展软件工程的工作边界。

  1. 以目标和上下文将模型视为思考伙伴

    与其把智能体限制在措辞狭窄的修改中,访谈建议提升抽象层级:先共享目标,再让系统探索细节,并明确计划或 schema。

  2. harness 工程决定智能体能力能否安全落地

    权限、Auto mode、工作流、数据访问、schema 和验证被视为承重的软件层,它们让能力持续增强的模型能够承担范围更广的任务。

  3. 验证让循环式自动化成为有效工程工作

    对话区分了简单的定期请求与一组能够分流反馈、实施变更和监控问题的循环;后者要求团队投入技能和检查机制,确保变更正确落地。

  4. 更广泛的软件开发生命周期正在变得可编程

    Claude Code 被定位为擅长实现代码,而 artifacts 与智能体循环则可覆盖规划、评审、事故处理、反馈加工及生命周期中的其他环节。

完整摘要

这场技术访谈描述了一种工程模式:Claude Code 的能力不仅取决于模型本身,也取决于周边的 harness。Shihipar 主张给予智能体更宽的目标和充分上下文,再让它在 schema、数据源、权限和验证循环内探索、规划与执行。对话将 Auto mode、周期循环、技能、artifacts 与 Claude Code 视为更广泛软件开发生命周期的组成部分,而非孤立的编码功能。同时也保留了重要边界:当验证与数据准备能够证明投入合理时,自主工作会创造价值;但这些系统本身也需要高成本的设计与运营。

文字稿

查看原文

简要描述Brief Description

一段关于 Anthropic 工程文化、Claude Code 的开发、AI 辅助软件工作,以及这些工具可能给团队产品构建方式带来变化的完整对话。A complete conversation about Anthropic's engineering culture, the development of Claude Code, AI-assisted software work, and the changes these tools may bring to how teams build products.

目录Table of Contents

  • 对话开始
    The Conversation Begins
  • Anthropic 如何构建
    How Anthropic Builds
  • Claude Code 与工程工作
    Claude Code and Engineering Work
  • 不断变化的软件实践
    The Changing Software Practice
  • 展望未来
    Looking Ahead

对话开始了The Conversation Begins

说话者 1:在 LMS 之前,我们写的大多数软件都不太好。这位是 Dark,他是 Enthropic 云代码团队的一名工程师。我问了他们很多问题,想了解他们的工程团队如今是如何最大限度地发挥模型的作用的。你能不能提升到更高的抽象层次?我的意思是,你能不能构建一个用于构建系统的系统?你觉得有没有什么东西会成为下一个重大转变,并逐渐渗透到整个行业?是的,我认为有几个不同的方向。这是完整的一期节目。这次对话的目标,是尽可能多地向你了解,具体来说,在软件工程领域如何最大限度地发挥模型的作用,让行业中的人能够从 Anthropic 已经验证成功的最佳实践中学习。Speaker 1: Most software we wrote before LMS was not very good. This is Dark. He's an engineer at Enthropic on the cloud code team. And I asked them all about how their engineering team makes the most out of the models today. Can you move up like a higher abstraction level? You know, like can you build the system that builds the system? Is there something that you feel is kind of the next big shift that is going to diffuse into the industry? Yeah, I think there are a few different ones. Here's the full episode. My goal with this conversation is to ask you as much as I can about how can you get the most out of the models specifically for software engineering so that people in the industry can kind of learn from the best practices where anthropics having success.

说话人 1:那么,作为对话的开场,我想问你,假设我来自一家对 AI 的接受程度可能没那么高的公司,现在要加入你的团队,你会告诉我先做哪些最有影响力的事情,才能顺利完成入职?我认为,我们给无论是 Anthropic 内部还是外部人员的第一条建议是:如果你把 Claude 当作一个思考伙伴,并提供它所需的上下文,通常就能找出下一步该做什么。所​​以我认为,先从“好,Claude 能做到吗?如果不能,为什么?”开始,并以此作为切入点非常重要。我还认为,要始终思考:“好,你正在反思什么?能不能提升到更高的抽象层次?”比如,你能不能搭建一个系统,能不能构建出构建系统的系统,而不只是单纯地构建产品本身。我Speaker 1: And so to start the conversation off, I'd like to ask you, let's say I was coming from a company that's maybe less AI pill and I was onboarding onto your team. What are the most impactful things that you'd tell me to start doing to successfully onboard? I think the number one tip we have for you know both people inside and outside anthropic is that like if you treat Claude like a thought partner and give it like the context that you need then you can usually figure out the next steps you know and and so I think that like starting with okay can claude do it if not why not you know and uh using that as the starting place I think is really important and I think just like always thinking about like okay what's you reflecting on can you move up like a higher abstraction level you know like can you uh you know set up a system can you build the system that builds the system right instead of just like building you know the the product itself I

发言者 1:还记得我们以前给人做入职培训的时候吗?你会被分配一位入职伙伴,也就是那种非常熟悉代码库的人,你可以向他提出所有琐碎的环境配置问题。听起来 Claude 填补了很多这方面的空缺。实际上,是不是百分之百可以不需要入职伙伴,直接什么都问模型?你还是需要一位入职伙伴,但更多是出于社交和文化方面的原因,而不是技术方面。你明白我的意思吗?我觉得从技术角度来说,你基本上可以直接和 Claude 一起工作;如果你擅长使用它,就能获得入职所需要的一切。Speaker 1: remember when we used to onboard people you would get assigned an onboarding buddy so someone who kind of really knows the codebase and you can ask all of your trivial setup questions to it sounds like Claude fills in a lot of those gaps And in practice, is it 100% you don't need an onboarding buddy and you can just ask the model for everything? You do need an onboarding buddy, but more from like a kind of like social and cultural perspective than a technical perspective. You know what I mean? I I think like from a technical perspective, you can basically just like work with Claude and you know, if you're like good at it, like you can get what you need to on board.

说话人 1:但我觉得,了解如何与团队协作,以及如何让大家支持你正在构建的东西,或者了解团队是如何协同工作的,甚至只是有一个可以一起工作的朋友,这些都非常重要。所以,是的,我们仍然有入职伙伴,但现在不再像以前那样需要承担那么多技术方面的工作了。外界对 AI 能力的认知与 Anthropic 内部的实际使用情况之间存在很大的差异,因为我会和朋友们聊起这些,然后说:“是的,Boris 所说的就是现实。”Speaker 1: But I think just like having the context of you know how to work with the team and also just like how to like you know get buy in on what you're building or you know understand like how the team works together or just even like have a friend to work with you know I think is really important. So yeah we still have onboarding buddies but not um it's not like nearly as much technical lift as as it used to be. There's a big difference between the external perception of the AI capabilities and the internal enthropic usage because I'll talk to friends and say, "Yeah, what Boris is saying is the reality."

说话人 1:所以我的问题是,为什么这种内部认知和外部认知之间会存在如此大的差异?我觉得,我们在提出这类主张时,往往有着不错的记录。你知道,你会说:“哦,事实证明,只要时间尺度足够长,这些说法最终都是对的。”你知道,我觉得现在很多工程师已经不再真正使用 IDE 了。是的,代码确实还在编写中——我曾和大型企业客户交流过,他们可能已经有六个月没亲自敲过一行代码了,对吧?Speaker 1: And so my question is why is there such a big difference between that that internal perception and that external perception? I think we have a good track record kind of of when we make these like claims. You know, you're like, "Oh, you're you're like it turns out to be true on a long large enough time scale." You know, I think a lot of engineers are not really in the IDE anymore. You know, like yeah, the code being written is like I I talked to large enterprise customers where like, you know, they haven't like typed a line of code themselves in six months, right?

说话人 1:不过,我们会把这看作工作的一部分,你知道,就是想办法在更高的抽象层级上开展工作。比如说,如果我花一天时间试图弄明白怎样让 Claude 自主完成某件事,结果没成功,那也没关系,你知道,甚至可能是件好事,因为这样我就可以说:“哦,嘿,Claude 不擅长做这个。我们要怎样改进它呢?”你知道,但我觉得,如果你做的是一份普通的工作,你的职责就是产出成果,而我认为自动化总是有成本的,因为它是一项投资;如果奏效了,那当然很好,随着时间推移,你会从这项投资中获得回报。Speaker 1: though we think of it part of our jobs, you know, to figure out how to work at a higher abstraction level. And like if I spend like a day trying to figure out how to get Claude to like, you know, do this autonomously and I fail, that's like fine, you know, and maybe even good, you know, because now I can be like, oh, hey, like Claude is not good at this. How do we make it better? you know, but I think if you're working like an average job, you know, your job is to produce the output and like I think automation always has a cost because you're like it's an investment and if it works then great, you'll make you know a return on your investment over time.

说话人 1:嗯,不过如果现在还没有奏效,那你就等于浪费了这么多时间,所以我觉得这些模型的好处在于,你知道,通常来说,这项投入最终奏效的概率越来越高了,因为模型正变得越来越聪明。不过,作为个人,你还是得做出某种程度上的跨越。如果你一直在搭建自己的 harness,而没有交付代码,那你的老板肯定不会太高兴。嗯,但我觉得这主要还是一种文化,以及把它看作我们的职责:生活在未来,然后我们也会尝试把这种理念融入产品和 harness 中,这样你就不必进行那么多手动步骤了。Speaker 1: Um but if it doesn't now you've like wasted all this time and so I think the nice thing about the models is that you know generally the chance of the investment working out is higher and higher because like the models are getting smarter and smarter. Uh but you still have to sort of take that leap as an individual. Your boss is not going to be super happy with you if you're like, you know, uh if you've been working on your harness setup the entire time and like not shipping code. Um but yeah, I think it's mostly just like culture and thinking of it as our job to sort of live in the future and then we try and like build it into the product and our harness as well so that you don't have to do as much manual step.

说话人 1:是的。你想到有哪些例子,是那些你在 Twitter 上没怎么看到人们做、但实际上确实产生了很大影响,而且很有帮助、值得推荐的事情?比如,我觉得使用 claude code 来做知识工作非常有价值。如今,技术人员做知识工作的方式,我认为和非技术人员做知识工作的方式非常不同,因为你可以让模型来完成这些工作。所以我觉得,越来越重要的是,如果你能弄清楚:“嘿,这是一项任务,而这项任务是由一些类似代码的步骤组成的;那我该如何告诉模型要执行哪些代码步骤,才能把它做好?”——这样一来,我觉得你能做的事情就多得多了。比如,我个人确实会使用 cloud code 做很多会计工作,用 Python 脚本代替 Excel;或者,我会使用 ffmpeg 和这些库来进行视频编辑。Speaker 1: Yeah. Are there examples that you come to mind when you think of things you don't see people doing on Twitter that are really having making a big difference and enthropic that you'd kind of recommend? Like using claude code for knowledge work I think is really valuable. The way a technical person does knowledge work I think is very different than the way a non-technical person does knowledge work um these days because you can get the models to do it. And so I think like you know increasingly if you can figure out like hey this is a task the task is made up of codelike things you know and like how do I tell the model the code steps to take you know uh in order to do it right uh you can like uh you know I think you can do a lot more right so I I think I do like a lot of accounting with cloud code using on the personal side using like uh scripts in Python instead of Excel, you know, or like I do video editing using ffmpeg and these libraries

说话人 1:用于渲染视觉内容之类的东西。所以我认为,大多数知识工作,如果你仔细想想,其实都可以归结为代码,以及编码代理之类的东西。嗯,我觉得这是一个很大的区别——至少在我看来,这是其他人做得相对少一些的地方。我们刚才稍微谈到了模型和工具框架,我想问问,从获得最佳最终结果的角度来看,模型和工具框架之间是什么关系?显然,模型很重要。那么工具框架有多重要?你能不能分享一些例子?Speaker 1: to render visuals and things like that. And so I think most of knowledge work is like uh reducible to code and coding agents if you like think about it well, you know, and um I think that that's like one I think like big difference uh that I see like other people doing less of. We talked a little bit about the the model and the harness and uh I want to ask you what's the relationship between the model and the harness in terms of getting the best end results? Obviously the model's important. So how important is the harness and are there any examples you could kind of share of?

说话人 1:是的,我是说,工具框架非常重要。我我觉得,有时候人们会认为工具框架并不重要,因为模型会变得越来越好;如果模型能完美地完成所有事情,那还需要工具框架做什么,对吧?但我认为,实际上我们看到的是,模型越来越强,因此工具框架也需要变得越来越复杂,才能让模型完成更多事情,对吧?所以,这方面的一个例子就是自动模式。比如说,auto code 是一个分类器,它会在每次通常需要向 Claude 请求权限提示的任务之后运行。Speaker 1: Yeah, I mean the harness is super important. I I think you I I think that sometimes there's this idea that the harness doesn't matter because the models will get better and better and if the model just does everything perfectly then why do you need a harness at all right and I think that in practice what we see is like the models get better and better and so the harness needs to become more and more complicated uh to allow the model to do more things right and so um an example of this is uh auto mode and so auto code, you know, is a classifier that runs after every, you know, uh, task that you normally have to ask a permission uh, prompt for for Claude.

说话人 1:回想我们还在使用 Opus 4,甚至可能是 Opus 4.5 的时候,按下权限提示中的回车键其实没那么糟,因为你知道,每轮交互无论如何也只会持续几分钟,对吧?而现在 Cloud 正在运行,你知道,它可以运行好几个小时。所以你确实需要让它能够安全地执行工作、遵循你的指令,而自动模式本身就是非常复杂的软件。你知道,沙盒化也是非常复杂的软件。嗯,然后你还会想到这类事情:好吧,Cloud 现在能完成的工作实在多得多。Speaker 1: And back when we were like, you know, Opus 4 or even Opus 4.5 maybe, like it was not so bad to hit enter on the permission prompts because like you were, you know, the turns would only last a few minutes anyways, right? And now cloud is running, you know, it can run for hours. And so you really need that ability for it to, you know, like do work safely, stick to your instructions, and auto mode is really complicated software. You know, sandboxing is really complicated software. Um, and then like, you know, you also think about things like, okay, like cloud can do so much more work now.

说话人 1:呃,它是如何呈现自己完成的工作呢?它已经工作了大约八个小时,而你想知道这八个小时里完成了什么,对吧?所以这就是我们使用工件的原因,对吧?而工件本身也是一种提示,因为 Claude 要如何以有用的方式呈现这些内容,对吧?它可以用很多不同的方式来呈现这些信息。呃,所以我认为,大致来说,我们看到的是,工具链工程确实是科学与艺术的结合。我觉得它在很多方面都非常违反直觉。Speaker 1: Um, how does it represent the work that it's done? It's worked for like eight hours and you want to know what's done in eight hours, right? So this is what we use artifacts for, right? And artifacts themselves are a form of prompting because like how does Claude represent that in a useful way, right? Like there's a lot of different ways that it could represent that information. Um and so I think roughly what we see is like the harness harness engineering is definitely like this like mix of science and art. I think it's very unintuitive in a lot of different ways.

说话人 1:呃,但我觉得它好像确实有很大的能力,可以解锁模型行为的新部分,呃,你知道的。然后,嗯,我只是看到这些 harnesses 变得越来越复杂,而要真正凭感觉做自己的事情似乎也越来越难了。这对我来说有点反直觉,因为模型已经变得这么好了。呃,不过像自动模式、工作流之类的东西——它们其实都是相当复杂的软件组件——嗯,变得真的越来越关键了。Speaker 1: Um, but I think it has like just big abilities to like unlock new parts of uh, you know, like model behavior and uh, yeah, I just see the harnesses get more and more complicated and it's kind of harder and harder to like actually vibe core do your own, which is like a little bit unintuitive to me because of like how good the models have gotten. Uh, but yeah, things like auto mode and workflows and things like that that that which are like actually quite complicated pieces of software. um become like really loadbearing.

说话人 1:我觉得,随着 LMS 不断发展,越来越多的人为环节可以被移出流程。你知道,在 Anthropic,你或你的团队所做的更改中,有多大比例是完全自主完成的,而不是像大约一年前那样,实际上与模型进行配对协作?嗯,我觉得这非常取决于你认为什么算是自主完成的,以及你所在的团队或负责的职能是什么。比如说,设计师可能会给你一个 Figma 文件,然后你再把这个 Figma 文件交给 cloud code。Speaker 1: I think as LMS have advanced more and more of the human part can be taken out of the loop you know at Enthropic what percent of your or your team's changes are fully autonomously made versus actually pairing with a model like people were doing more of like around a year ago. Um I think it's very dependent on you know what you consider autonomously made or um what uh what team or what function you're working on as well. You know for example a designer might give you a Figma file and then you pass the Figma file to cloud code.

说话人 1:呃,Cloud Code 很擅长使用 Figma MCP,不过你知道,设计师们在里面投入了大量工作。嗯,我觉得大致来说,我们的目标是让 Claude 能够完成所有那种把一切串联起来的“胶水工作”,对吧?所以,好吧,假设你有一个 Figma 文件。我真的需要把它重新用 React 之类的东西实现一遍吗?可能不需要,对吧?我觉得这项工作已经完成过一次了,对吧?所以我对此的理解是:我每天需要完成的独特工作到底是什么,对吧?Speaker 1: Uh cloud code is great at using the Figma MCP but like you know the designers put a lot of work in there. Um, I think that like roughly um our goal is to sort of get Claude being able to do all of the like uh the glue work that like ties everything together, right? So, okay, you've got like a Figma file. Do I really need to like rewrite that in React or something? Like probably not, right? Like I think like that work has been done once, right? And so the way I think about it is like what's the unique work that I need to do every day, right?

说话人 1:嗯,我做得越多这种独特的工作,就越好。我觉得对独特的工作和思考确实有大量需求。而且,越是做以前做过的事情,我就会想:“好吧,这个 Claude 能做吗?”或者,如果我只是在翻译别人做过的东西,我也会想:“哦,这个 Claude 也能做吗?”这真的让界限变得模糊了——这到底意味着什么?即使代码提交完全是由 Claude 生成的,你可能也已经在这个过程中做出了很多决定,加入了大量上下文。Speaker 1: And uh the more I'm like doing that unique work, the better. And and like I think there's just a ton of demand for, you know, unique work and thinking. And the more I'm doing something I've done before, I'm like, "Okay, like can can Claude do this?" Or like if I'm just translating what someone else has done, you know, I'm like, "Oh, like can Claude do this as well?" It's really blurring the lines of like what what does it mean? Even even if cla is fully generated as PR, you've probably done a lot of made a lot of decisions and and add a lot of context along the way.

说话人 1:那么,我们距离这样一个世界还有多远:有人只要说一句“嘿,Claude,这是工单。等你完成后再告诉我。”是的。我是说,这取决于工单写得有多好。如果有人基本上已经为这个工单写出了一份完美的软件规格说明,那么,是的,实际上 Claude 可能就能做到,对吧?但我觉得,一开始,比如说我们拿到一个 GitHub issue,我们得先判断:这个问题值得修复吗?这是一个功能吗?很多时候,issue 也可能是功能请求之类的东西,其中可能同时涉及多件事情,而你或许会以另一种方式把它们组合起来,你明白我的意思吧?所以我觉得,其中有很多工作是在思考:产品的愿景是什么?我们想往哪里发展?我们该如何确保我们正在构建的东西是连贯统一的?所以我认为,对于一个具体的规格说明——足够具体的规格说明——Claude 在实践中可以做到。人们……Speaker 1: So, how close are we to a world where someone just says, "Hey, Claude, here's the ticket. Just don't tell me till you're done." Yeah. So, I mean, it depends on how good the ticket is. If someone has like perfectly written out essentially like a software spec for this ticket, then yeah, actually cloud can probably do that, right? But I think that like um to start you know like let's say that we get a GitHub issue that you know is this worth fixing is this a featur like oftentimes issues are like also feature request or something where there might be like multiple things happening that maybe you combine together in a different way you know what I mean and so I think that there is a lot of that work is okay what's the vision for the product where where do we want to go how do we like you know um make sure what we we're building is cohesive and so I I think for a specific spec like a specific enough spec claude can do it in practice people

说话人 1:还没有,没搞清楚他们真正想要什么,你知道吧,也还没弄清楚那些未知因素,或者问题的形态之类的。以前你可能会采用这样的方式:先开始写代码,然后你就会想,哦,我现在该做什么?或者说,你就是通过这种方式把它搞清楚。呃,但现在我觉得,你需要用新的方式去弄清楚那些你还不知道的东西,对吧?我觉得你确实还是可以和 Claude 聊聊。嗯,但我觉得这才是难点。我觉得一个肯定会出现的失败模式就是,你给 cloud tag 做标记,然后对它说:“嘿,请做这个。”Speaker 1: don't have haven't figured out what they really want you know and haven't figured out the unknowns or the shape of the problem and things like that and maybe the way you would have done it before is like you start writing the code and you're like oh like what am I supposed to do now like or like you know like you you figure it out that way uh now I think you need new ways of figuring about what you don't know yet, right? And I think you can still chat to Claude really. Um, but I think uh that's the hard part. And I think definitely a failure mode is like you you tag cloud tag and you're like, "Hey, please do this."

说话人 1:你知道,就用一句话或更少来描述,而且没有之前的上下文或记忆。嗯,然后它就做出来了,你会说:“哦,不,我不喜欢。”你知道,然后你就会一直这样迭代下去,对吧?相比之下,其实可以非常快地弄清楚自己到底想要什么。我在 Meta 工作时,任务的模糊程度通常与人的——我的意思是,级别大致成正比。软件工程里级别当然不是一切,但大体上,资深工程师会把那种模糊的业务需求转化成具体得多的东西,然后职业生涯还比较早期的人可能就负责实现工作。实习生项目甚至几乎都是逐行明确规定的。Speaker 1: You know, one sentence or less description, no previous context or memory. Um, and then it does it and you're like, "Oh, no. I don't like it." You know, and then you're like, you know, just iterating forever on that, right? versus like figuring out what you actually want like really quickly. when I was working at Meta like the ambiguity of the task really ranges oftentimes proportional to people's I mean levels aren't everything in software engineering but you know roughly senior engineers kind of take that ambiguous uh business need and convert it into something that's a lot more concrete and then people who are maybe newer in their careers to kind of do the implementation work um and like intern projects were kind almost line by line specified.

说话人 1:如果我还在 Meta 工作,而且手下有一名实习生,我可能会想,干脆把我的实习生工作规范交给 Claude,它大概就能完成了。那么,如果 Claude 已经能够处理这些工作,Anthropic 的实习生又会做什么呢?实际上,我们看到的是,出现了如此多以前从未有人做过的新型工作,对吧?我觉得我们都必须想办法弄清楚这一点。比如说,该如何进行评估?你懂我的意思吗?针对这些新的编码行为,该怎么做评估?比如,如何确保——你知道我的意思——如何衡量 Claude 在数百万用户中的表现,因为这些用户会执行各种各样的任务,而有时这些任务之间可能存在取舍。所以我认为,尤其是在研究方面,还有大量新工作需要完成。而且我觉得,编写这些规范变得越来越难,但与之相关的经验却越来越少。Speaker 1: If I was still uh working at Meta and I had an intern, I was like just kind of give the give Claude my intern spec and it would kind of do it. What kind of work does an intern do then at Anthropic if Claude can kind of handle it? What we see in practice is that there are just so many new types of work that no one has ever done before, right? And I think that like we all have to figure that out. And so for example, how do you do an eval? You know what I mean? Against like uh these new coding behaviors, right? like how do you make sure like uh that like you know how do you measure cloud's performance across like millions and millions of users u ac doing all sorts of tasks sometimes these tasks might have trade-offs you know so I think there's a lot of new work to be done especially like in the research side of things and um I think that like it's harder and harder to write those specs but there's also less and less experience that is relevant

说话人 1:你知道我的意思吗?所以,我觉得,拥有一些经验确实意味着你大概知道如何把事情做完,也知道该如何学习,但我认为这些技能在大学里同样能够获得。而且现在,作为一名实习生,我觉得尝试弄清楚“好吧,有哪些事情是人们以前从未做过的”,并去完成它,真的非常令人兴奋。我还觉得,嗯,是的,实习并不只是编写 React 代码,你知道我的意思吗?还有那么多新问题等着去解决。Speaker 1: you You know what I mean? And so like I think that yes, having some experience means that you can sort of like, you know, you know how to get work done and you know how to like learn, but I think you also get those skills out of college and and you know, now I think as an intern trying to figure out like, okay, what are the things that people have not done before and doing that I think is really exciting. And I think that there's um yeah, I think internships are less write the React code, you know what I mean? And there's so many new problems to solve.

发言人 1:我们需要有人来解决这些问题。如果能有一双全新的眼睛来审视它,会很有帮助,你知道。不过,这肯定比以前更加主动,也可能更具机会主义色彩。以前,如果你……那可能更像是一条流程。我们之前稍微聊到了知识型工作,这让我想到了计算机使用和浏览器使用。我想问问,你觉得这距离在行业内被广泛采用并产生影响还有多远?也许你可以谈谈 Anthropic 是怎么使用它的,因为感觉他们总是遥遥领先。Speaker 1: We need people to solve them. It's helpful if you have fresh set of eyes on it, you know. Um but it is definitely be more proactive and like opportunistic maybe than uh than before where if you're it was maybe more of like a pipeline. We talked a little bit about knowledge work and that makes me think of computer use and browser use and I wanted to ask you you know how far away is that from being widely adopted in the industry and impactful maybe you can talk about how anthropic uses it since it feels like they're always far ahead.

Anthropic 如何构建How Anthropic Builds

说话人 1:我觉得计算机使用和浏览器使用模型已经变得好得多了。我认为 Opus 5 是一个非常出色的计算机使用模型,但有一些奇怪的边缘情况。比如,它不能代替我输入密码,因为我的密码存储在 1Password 之类的地方,你知道,它无法访问那里,所以就会卡住。嗯,我觉得仍然存在这类边缘情况,这些算是有点 UXY 的边缘情况。然后我觉得,显然,计算机使用也包括——你知道,越来越多的人把 API 和 MCP 转变成使用云的新方式。Speaker 1: I I think computer and browser use the models have gotten a lot better. Opus 5 I think is like a really good computer use model but there are like these weird edge cases where like for example it can't type a password on my behalf because my passwords are in one password or something you know it can't access that and so like it gets stuck and um I think there's still like those edge cases which are kind of UXY edge cases um and then I think also obviously computer uses also uh you know the more and more people turn APIs and MCPs into like new ways to use cloud.

说话人 1:我认为,这也可以涵盖你使用计算机处理的大量用例,对吧?所以回到“是啊,知识工作,一切都是代码”这个话题。我觉得,有些事情确实没有 API,除了打开浏览器之外,没有其他办法通过代码来执行。但我认为,可行的方式正在越来越多。我觉得,cloud tag 就是一个很好的例子:我们只是尝试把所有这些事情整合成它可以使用的 API。因此,感觉它可以替你完成大量工作,尽管它并不是字面意义上运行一台虚拟计算机并点击各种东西。Speaker 1: I think that can also take a lot of the use cases that you're using computers for, right? And so going back to like, oh yeah, knowledge work, everything is code. I think like you know there are some things where there's no API, there's no way to execute in code other than just like opening up your browser. But I think increasingly there are more and more ways. And I think yeah, cloud tag is a great example of we've just sort of like tried to roll up all these things into APIs that it can use. And so um it feels like it can do a lot of work on your behalf even even though it's not literally running like a virtual computer and clicking things.

说话人 1:你知道,我注意到每当我使用任何类型的计算机操作工具时,感觉都慢得令人难受。我看着光标,它在那里停留了 10 秒,然后移过去,你知道,又在那里停留 10 秒。这些延迟到底是从哪里来的?你对此有什么感觉吗?我觉得,要做出一个真正非常擅长这件事的小模型很难。我想,主要是因为你需要掌握很多关于这项任务以及这些东西如何协同工作的知识之类的。所以,嗯,你需要一个聪明的模型,而聪明的模型嘛,你知道,确实需要多花一点时间。Speaker 1: You know, I have noticed that whenever I use uh any kind of computer use tooling, it feels painfully slow. I look at the cursor and it's sitting there for 10 seconds, moves over, you know, goes there for 10 seconds. What where is all that latency coming from? Do you have a sense? I think that like it's hard to make a small model that's really really good at it. I think just because there's a lot of knowledge that you need to have about this task and how these things work together and stuff. And so, um, you want like a smart model and smart models, you know, take a little bit longer time.

说话人 1:我觉得很多人可能都以为我们会更早达到这一阶段,但我认为这项任务确实比我们预期的更困难。嗯,我觉得之前有人告诉过我,关于计算机的一点是,它就像一个状态机,而你并不能控制整个状态。比如说,如果你在 DoorDash 网站之类的地方,想把某样东西添加到购物车,却错误地把它加了进去,那么现在你就需要通过一个新的流程来撤销操作。你知道,接下来你需要点击,然后还需要删除它,而在这个过程中你也可能犯错,对吧?Speaker 1: It's like I think a lot of people thought we'd get here sooner, but I think it's just been a harder task than we expected. Um I think like one thing I've someone's told me about computers before is that like it's a state machine where you don't control the entire state. If you are on the Door Dash website or something, you want to add something to the cart and you add it incorrectly. Now you have this new flow to like undo it. You know, now you need to go click and now you need to go delete it and you can make a mistake along that side as well, right?

说话人 1:比如在代码中,你多少可以撤销,嗯,你知道,你能够控制所有状态。但对于计算机使用而言,每个操作即使不是不可逆的,也会比其他操作更难,呃,你知道,更难以重新逆转。Anthropic,嗯,我的感觉是,员工在计算资源方面拥有很大的预算,可以用来加速他们需要完成的各种事情。所以,如果我们要激发模型使用者的想象力,让他们提高生产力,假设他们拥有无限的计算资源,那么如果他们有无限算力,你会开始建议他们采用什么类型的工作流程?Speaker 1: Whereas like in code you can sort of undo, get you know whatever you control all of the state. Um but for computer use like each action is if not irreversible it's like uh you know much harder to re reverse than than others. Enthropic um I get the sense that employees have a lot of budget in terms of the compute to kind of speed up whatever it is they need to do. And so to if we were to spur the imagination of people who use the models to make them more productive assuming they had infinite compute like what what type of workflows would you start telling someone to do if they had infinite compute?

说话人 1:我觉得这个差异比你想象的要稍微夸张一些。我想你明白我的意思吧?比如说,我周末会使用 Mac 子系统,而且我几乎从来没有遇到过 5 小时的限制。我觉得这些模型非常聪明,很多时候我们消耗大量算力,只是在尝试发掘某些能力,或者尝试各种不同的东西;更多的是我们在摸索模型的可能性,你明白我的意思吗,而不是在完成大量工作。Speaker 1: I I think this difference is slightly more exaggerated than you'd think. I think you know what I mean? I think that like for example I use my Mac sub on the weekends and I have almost never hit a 5 hour limit. I think the models are really smart and I think that like a lot of times when we're spending a lot of compute we're just trying to find sort of capabilities or we're trying a bunch of different things and and it's more about like us figuring out model possibilities you know what I mean than getting a lot of work done.

说话人 1:比如说,当我们测试数学能力时,我们试图了解这个模型有多聪明,而这对我们很有用。这是很有用的工作产出,有时它还能解决黎曼猜想之类的问题,或者取得一些进展。你明白我的意思吗?人们只要在更高的抽象层次上思考,就可以在家里复现我们所做的事情。比如,我想让 Claude 为你起草反馈。因此,我希望整个流程——从 Claude 起草反馈,到用户提交反馈——都做得非常好,对吧?Speaker 1: When we're testing for math for example, we're trying to understand how smart is the pro the the model and that is useful to us. That's useful output to work and it can also sometimes solve like the reman hypothesis or something or like not make progress. You know what I mean? People can replicate what we do at home just by thinking at a higher level of abstraction. For example, I'm trying to like get Claude to draft feedback for you. And so I want the funnel for like Claude has drafted some feedback to the user has submitted feedback to be really good, right?

说话人 1:所以我会监控这个漏斗,然后问 Claude。我自己有一些想法,但后来我又想,哦,要不我让 Claude 试着改进这个漏斗,你知道的,比如说:“这是一些想法。你也能提出一些吗?我们一起想办法。”所有这些事情,你现在其实都可以自己做。你知道,如果你想:“好,我在开发一个功能时,给它添加一些事件标注。”你知道,还要确保 Claude 能访问这些事件。呃,每天早上运行一个循环,检查有哪些事件被触发,以及做了哪些更改。Speaker 1: And so I monitor that funnel and then I ask Claude I I had some ideas, but then I was also like, oh, what if I ask Claude to try and improve the funnel, you know, and be like, here are some ideas. Can you come up with some as well? Let's figure it out. All of those things you can kind of do yourself right now. You know, if you're like, "Okay, let me when I'm making a feature, let me like uh annotate it with events." You know, let me make sure that Claude has access to those events. Uh let me run a loop in the morning every day to check, you know, what events have fired and what changes were made.

说话人 1:甚至可以主动提出一些想法,对吧?我认为,这些事情都可以在相当合理的算力范围内完成。实际上,我更常看到的是,人们遇到限制时,采取的做法恰恰相反。他们从一个范围较小的任务开始,你知道,就像“嘿,呃,你知道,按这种方式重构一下这个函数”,然后 Claude 完成了,可能还会产生一些后续影响,因为重构这个函数意味着你还得做一些其他工作,而结果并不完全正确;或者,你知道,你会一直在这个过程中迭代,结果就是花了很多时间。而如果你能够提升一个层次,把你的目标告诉 Claude,然后再弄清楚“好,具体细节是什么”,你知道,做一些探索,也许把 schema 或者类似的东西先写出来,然后和它一起协作,最后让它运行,你很可能就能得到同样的结果。Speaker 1: Maybe even like let me proactively suggest some ideas, right? This can all happen, I think, within a fairly reasonable amount of compute. I actually what I see more often is people running into limits where they've actually done kind of the opposite. They've started in a small midscope task. you know it's like oh hey like uh you know refactor this function in this way and then claude does it and and maybe it's like has some following effects because like refactoring this has means you have to do some other work too and that's not exactly correct or like you know you won't you're iterating there and it's like you know you just spent a lot of time whereas uh if you had sort of like stepped up a level told claude your goals then figure out okay what are the details you know do some exploration uh maybe write out the schema or like you know and and then work with it then let it run you could probably get the same output.

说话人 1:我记得当时“创建循环”这个想法好像有点火。呃,我是说,如果你只是让它不断地反复执行,这种东西的搭建成本确实感觉相当高。也许首先你能不能定义一下什么是循环工程?然后我很好奇你多久会用一次它;还有,如果你用 Max 计划做这类事情,会不会遇到限制?是的。所以我——好吧。循环工程大致就是:你不是直接向 Claude 提示,而是搭建一个向 Claude 发出提示的系统,你知道的。呃,如果你经常使用 claw tag,很多这类操作都会自然而然地出现。Speaker 1: I remember it was going kind of viral this idea of creating loops. Um and I mean that that does feel like a pretty uh expensive sort of thing to set up if you're just asking it to kind of keep hammering away. Maybe first could you define this loop engineering thing and then I'm curious how often do you use it and you know would you hit limits if you were on a max plan doing that kind of stuff? Yeah. So I Okay. So loop engineering roughly it's like uh instead of prompting claude directly you're setting up a system that prompts claude you know and uh you don't have to think of it if you use claw tag a lot of this comes naturally.

说话人 1:你只要像这样问它:“嘿,每天做这件事,你知道的。”呃,这就是一个循环,你现在当然可以做这类工作。但我认为,如果你想设置大概 10 个循环之类的,让它们去分流你的反馈、实施改动以及处理类似的事情,我们确实会做这类工作,但我们也会花很多时间确保我们的技能之类的东西确实有用,你知道的,而且擅长进行分流;我们还要确保自己擅长验证,这样就能确认这些改动确实落地。然后我认为,在那个层面上,这意味着现在有人在监控那些我们以前根本不可能持续跟进的问题,对吧?这会直接提高我们的软件开发速度,对我们来说价值非常高。所以,是的,我认为如果你的规模大致是这样:好吧,你希望它本质上能够自主地……Speaker 1: you just ask it like hey every day do this thing you know and uh that will uh that's a loop you can definitely do that sort of work right now but I think if you're trying to set up like let's say like 10 loops or something you know that are like uh triaging your feedback and implementing and things like that we do that sort of work but we also spend a lot of time making sure our skills and things like that are useful you know and like are good at like triaging uh that we can have we're good at verification and so that we can like make sure that the changes land you know and then I think at that level you know what it means is like now we have someone monitoring issues that we just could never have kept on top of before right and it just like increases our software development velocity and it's worth a lot of value to us and so yeah I think that like if you're kind of at the scale of like okay you want it to essentially be auton autonomously

说话人 1:运行软件工程工作,你知道,就是做软件工程师的工作。在某些情况下,我认为如果你把验证机制设置好,把技能配置好,再为它提供正确的数据源,它确实可以做到这一点,但这需要投入大量工作,对吧?而且我认为,你必须确保这些工作对你来说是有价值的,就像你雇用某个人时,也必须确保他的工作对你有价值一样。我们之前稍微谈到过,Anthropic 之所以有点领先,只是因为采用 AI 本来就是这家公司的职责。Speaker 1: running, you know, doing a software engineering job. For certain cases, I think it can do that if you set up the verification well, if you set up your skills well, if you give it the right data sources, but um it is a lot of work, right? And I think that like you have to make sure that that work is valuable to you in the same way that like if you hire someone, you know, you have to make sure that work is valuable. We've talked a little bit about anthropic being kind of just ahead because that's the job of the company on adopting AI.

发言人 1:有没有什么你觉得可能是下一个重大转变、Anthropic 也许已经感受到了,而且你认为它会扩散到整个行业?如果有的话,那可能会是什么?是的,我觉得有几个不同的方向。显然,Claude Code,我认为这就是我们目前开展大量工作的方式,对吧?我的理解是,Claude Code 非常擅长代码的实现,而 Claude Chat 则适用于软件开发生命周期的其余部分——比如获取反馈、进行代码评审、像照看孩子一样维护系统、构建 CI/CD、处理事故,以及其他所有这些事情。从更高层面来说,我认为未来的发展方向可能是:使用 Claude Chat 或类似工具,把软件开发生命周期的每个环节都变成某种例行流程或循环。嗯,我觉得生成式界面可能还在后面,我认为像 artifacts 以及你……Speaker 1: Is there something that you feel is kind of the next big shift that maybe Anthropics already felt that you feel is going to diffuse into the industry and if so what might that be? Yeah, I think there are a few different ones. Obviously cla tag I think is our, you know, the way we do a lot of our work right now, right? And I think the way I think about it is that cloud code is really good at the implementation of code and cloud tag is for the rest of the software development life cycle you know so like so uh getting feedback uh you know doing code review like babysitting building CI/CD incidents like you know all of these other things cla at a high level turning every part of your software development life cycle into kind of like a a routine or a loop using claw tag or something like that I think is probably where things are headed you know um I think probably generative interfaces are still to come and I think that like artifacts and you

说话人 1:知道,呃,没错,基本上我觉得,Artifacts 将会越来越成为你与 Claude 互动和阅读内容的一种方式。所以我觉得,我几乎什么事情都会用 Artifacts,因此我认为我们也会看到它逐渐变得越来越重要。我觉得这也和 Claude 有关联,对吧?比如说,假设你在用手机,而 Claude 已经为你完成了一大堆工作。它生成了一份报告。这份报告在手机上是易于阅读的,因为它把这个 Artifact 做得非常漂亮。Speaker 1: know uh yeah basically artifacts I think are going to be like an increasingly large way of how you like interact and read with claude and and so I think that you know I use artifacts for almost everything and and so I think that like we're going to see that also become big and I think that's also O ties into cloud tag, right? So like let's say that you are um on your phone and cloud tag has done a bunch of work for you. It creates a report. The report is readable, you know, on your phone because it's made the like the artifact look really great.

说话者 1:你能稍微解释一下 artifacts 吗?比如它们是什么,以及人们如何使用它们?artifacts 基本上就是——云端可以为你上传一个 Web 应用,供你使用,你知道的。我认为它的用途范围非常广。比如,它们现在可以调用你的 MCP。因此,你可以创建一个 artifact 来读取你的收件箱,并将其显示出来、排序或添加标签,对吧?这是一种用法。你也可以使用 artifact 向你展示一个编码计划,对吧?其中可能会显示图表、文件片段、代码和架构。Speaker 1: Could you explain uh artifacts a little bit or kind of what are they and how do people use them? artifacts are basically um cloud can upload essentially a web app for you to use you know and I think that uh you can use it in a really wide range of capabilities. They can now for example call your MCPs. So you can make an artifact for example to read your inbox you know and like display it or sort it or tag it right as like a one way. You can also use artifact to uh show you a plan for coding, right? And then in that it might show like diagrams and file snippets and code and schemas.

说话者 1:嗯,所以它会向你展示一些东西,有点像是——呃——针对你当前正在做的工作所提供的交互式界面,你知道的。随着 Claude 能完成越来越多的工作,我们意识到,对于所有事情来说,单纯的文本输入、文本输出可能并不实用,对吧?而且 Claude 在创建本质上恰好适合你的界面,并在恰当的时机呈现出来这方面,也做得越来越好了。嗯,我觉得这方面还有很多事情可以做。我还认为,这是另一件需要让你思考“哦,你知道,我是否可以用不同的方式与 Claude 互动,对吧?”的事情。Speaker 1: Um and so it shows you like sort of uh it's like an interactive display for the t for the job you're doing right now, you know, and as Claude does more and more, you know, like jobs, we're realizing that like just text in text out is probably not useful for everything, right? and Claude is doing is better and better at creating essentially the exact interface for you at the right time. Um, I think that there's like a lot more to do there. And I think it's another one of those things where you have to think about like, oh, you know, could I be interacting with Claude in a different way, right?

说话者 1:比如说,我能不能通过某个 artifact 与它互动?我能不能用它来进一步学习,或者更好地理解它,或者随时了解最新情况,或者改进一些我自己的知识工作之类的?所以,嗯,我觉得这确实令人兴奋。我们目前还算处于早期阶段。工程师们使用的日常主力模型会有所不同吗?还是说,人们通常只会选择 Enthropic 提供的最智能的那个?我确实认为,你知道,模型也是类似的:如果你使用智能模型,并且善加利用它们,为它们安排经过良好定义的任务,同时花一些时间搭建一个好的验证框架之类的,就能从它们身上获得很多价值。Speaker 1: Like could I interact with it through an artifact? Could I, you know, use it to like learn more or like to understand it better or stay in the loop or um improve some of my like own knowledge work or something? So, um, yeah, I think it's pretty exciting. We're still kind of early to it. Does the daily driver model vary among engineers or do people typically just pick the most intelligent one that's available at Enthropic? I do think, you know, similarly with models, if you use the smart models and you use them well and you give them task where they can, you know, are well shaped and you've spent some time setting up a good verification harness and things like that, you can get a lot out of them.

说话人 1:我不认为这就像是在合适的时间选择使用哪个模型,你懂吧?我觉得更像是:如何最大限度地发挥前沿模型的能力?嗯,因为我认为技术的发展方式就是这样,对吧?就像一切都会变得更加丰富、更加易于获得。嗯,所以我觉得我们现在处在一个有点奇怪的位置:你知道,我们目前还没有足够的算力,让每个人都能以 100% 的速率限制使用 Fable。嗯,但我不认为弄清楚“什么时候使用 Fable、什么时候使用 Sonnet”之类的事情,是一种值得长期培养的技能,对吧?所以,嗯,我觉得这里有些反直觉。不过在实践中,如果是今天,我会这样做:我会用 Fable 进行规划、头脑风暴、寻找未知项,以及制定详细规格;然后用 Opus 5 来实现它。嗯,而且我可能会将 Opus 5 与工作流结合使用,借助一种由 Fable 构建的验证辅助工具,比如 schema 或 harness,对吧?Speaker 1: I don't think it's like choosing which model at the right time, you know? I think it's like, oh, how do you get the most out of the frontier models? Um, because I think technology works the way it does, right? Like everything gets more abundant, more available. Um, and so I think we're in this current weird spot where, you know, we don't quite have enough compute for everyone to have Fable at 100% of the rate limits. Um but I don't think this is like a durable skill to build figuring out like oh when do you use fable and when do you use sonnet right so um I think it's like unintuitive there uh but I think in practice if you're today what I would do is like I use fable for planning for brainstorming for finding unknowns for coming up with the detailed spec and I'd use Opus 5 to implement it um and uh I would probably use Opus 5 with workflows uh using like a verification aid like schema or like harness that's built with Fable, right?

说话人 1:所以,对于那些高杠杆任务,我会使用 Fable。嗯,然后,呃,对执行和实施则使用 Opus 5。不过,是的,我觉得越来越有可能的是,明年你大概就不会再那么在意到底该用哪个模型了。你提到了“提示”这项技能,我听一些人说过,这并不是一项特别持久的技能,因为它在某种程度上确实非常特定于某个模型——这些模型几乎都有自己独特的、呃,我想可以说是“尖峰式”的智能。所以,如果你知道所有那些非常具体的、比如说今天的 Fable 的东西,而且你是今天 Fable 的大师,Speaker 1: So, I'd use Fable for those high leverage task. Um, and uh, yeah, Opus 5 for the execution and implementation. Um, but yeah, I think increasingly probably next year I I I think you're just not going to be thinking that much about like which model. you mentioned that skill of I guess prompting and I've heard some people they say it's not too durable of a skill because it's kind of it's really specific to a model like these models they almost have their own unique uh I guess spiky intelligence. So if you if you knew everything that was very specific to let's say today's fable and you're a master of today's fable.

说话人 1:我的意思是,也许一年后,当 Fable 三、四、五,或者不管是哪一代发布时,你根本不需要知道这些东西。假设你正在和一位寻求职业建议的软件工程师交谈,而他在想:嘿,我真的应该成为提示词工程大师吗?我确实想说,提示并不只是你输入的那一小段提示词。它还包括,你可能已经创建了某种技能,或者添加了某些数据之类的东西。它不只是你写下的一个提示词,而是你之前所做的一切,最终累积成你的上下文,对吧?Speaker 1: I mean maybe you don't need to know any of that stuff like a year from now when fable three or four or five or whatever comes out. Let's say you were talking to software engineer who's looking for career advice and they're thinking hey should I really become a master of engineering my prompt? I do want to say prompting is like a little bit more than just a prompt you put in. It's also, you know, you might have done made a skill or you might have like, you know, added some data or something. It's not just a prompt you write, but it's like everything you've done before that builds up into your context, right?

说话人 1:嗯,有时候人们看到我们写一些很短的提示词,就会问:“哦,那是什么意思?”但我们确实在测试框架、验证和技能上花了大量时间。所以,嗯,我觉得不断提升提示词编写能力真的会非常有价值。关于你刚才说的每个模型都不一样,我认为你说得对。我的意思是,我觉得每个模型都有点像它自身独特的、几乎有机的数字事物,你懂的,所以你必须学习它们的各种特性,同时也确实需要忘掉一些已经形成的习惯。Speaker 1: So, um, sometimes people see us write small prompts and they're like, "Oh, what does that mean?" But we've we just spend so much time on the the harness and the verification and and the skills. So, um I think it will be like really valuable to just keep better at prompting. I think to what you were saying about each model is different. You're right. Like I think each model is kind of its own kind of like almost organic digital thing, you know, and so there are quirks you have to learn and you do have to unlearn them.

说话人 1:所以我们最近写过一篇文章,讲的是我们如何从云端代码中移除了 80% 的系统提示,对吧?嗯,我们得到的经验之一是,我们需要从工具描述中移除示例。你知道,以前要想让模型产出高质量结果,唯一的方法就是通过工具,对吧?或者说,通过示例,对吧?所以你得告诉它:嘿,这是正确的工具,在这里使用它。这是一个正确写入文件的示例,这是一个错误的示例。嗯,而现在我们发现,示例大多是负面的影响,我觉得,除非你确实看到 Claude 做了某些你不喜欢的事情,因为它实在是非常有想象力。Speaker 1: So we recently wrote about like how we removed 80% of the system prompt from cloud code, right? Um, and one of the learnings we had was like we needed to remove examples from the tool descriptions. And you know, this used to be the only way you could get good output from the models was through tools, right? Or or through examples, right? So you'd have to be like, hey, this is the right tool. Use this here. Here's an example of writing a file well, and here's an example of not doing it well. Um, and now we found that like examples are mostly negative, I think, unless um, you really see Claude doing something you don't like because uh, it's just like quite imaginative.

Claude Code 与工程工作Claude Code and Engineering Work

说话人 1:它很擅长坚持你的意图并与你协作。嗯,所以我们删掉了很多示例。在这种情况下,是的,你确实需要在某种程度上进行适应,但你正在培养的能力正是适应能力。你学会了如何使用 Fable,现在你对 Fable 了解很多,但你也知道如何学习——你学会了如何与模型协作,对吧?所以,当 Fable 5.5 发布时,你还需要再次学习如何使用它,不过你会快得多,因为你的学习能力更强了。你已经更擅长与 Fable 5 协作了,你知道的。Speaker 1: It's good at sticking to your intention and working with you. Um, and so we removed a lot of examples. So in that case, yes, you do have to sort of like adapt, but the skill you're building is the skill to adapt. You learned how to use Fable and now you know a lot about Fable, but you also know how to learn you learned how to work with a model, right? And so Fable 5.5 comes out, you need to learn how to use it again as well, but you'll be much faster because you're better at learning. You're better working with Fable 5, you know.

说话者 1:对我来说,我接触的第一个模型应该是 GPT2。我记得,当时想让 GPT2 输出 JSON 是非常困难的。如果你能让它从你给出的类别中选出一个,那简直就太厉害了,你知道吧?所以,我觉得,虽然 GPT2 和 Fable 5 是完全不同的模型,但我在 GPT2 上培养的这种能力,似乎帮助我更好地提示 Fable 5。对于如今的模型,有没有什么不成文的经验或奇特的小技巧,是你认为人们应该了解的,这样他们在编写提示词时能获得更多效果?Speaker 1: And I think for me, I think the first model I worked with was GPT2. And I remember like it was it was so hard to get a JSON output out of GPT2. Like if you could just get it to like choose one of the categories that you gave it, that would be like incredible, you know? And so um I think that but like building that skill, GPT2 is such a different model than Fable 5, but I feel like the skill I spent doing that has like helped me be better at prompting Fable 5. Is there any like tribal knowledge or quirky tips in today's models where you'd say someone should should know that to get more when they prompt?

说话者 1:其实我需要反驳一种我觉得人们一直在说的观点,就是“哦,只要相信自己”之类的。我知道 Jared 关于 reman hypothesis 的那篇帖子,大概就是在说“继续努力,相信自己”。我觉得在这个案例中,Jared 主要是在说,用计算资源来解决这个问题是可以的,我允许你这么做,你知道吧。我觉得这和“我相信你”之类的话并不完全一样,你明白我的意思吗?它实际上只是允许模型使用计算资源。所以我觉得,现在我想对模型说的一件事就是:好,嘿,我觉得这是个很难的问题,使用子智能体吧,你知道的;如果需要,就使用工作流。Speaker 1: I actually need to counter one I think that people have been saying where it's like oh just believe in yourself or something. I I know that Jared Jared's post about the reman hypothesis had like he was just like keep going just believe in yourself. I think in this case it was mostly just Jared saying it's okay to use compute to solve this problem and I'm giving you permission to do it you know and I think that like that's not exactly the same as you know ju I believe in you you know what I mean it's really just like letting the model use compute so I think that that is something I would I like to tell the models right now is like okay hey I think this is a hard problem use sub aents you know use workflows like if you need it.

说话者 1:对吧?所以,我总是告诉它要运用自己的判断,但我是在允许你做这些事情,对吧?我觉得,呃,你得记住,模型默认会去做一般用户可能想要的事情,也就是希望它尽快作出回应并开始工作,大致完成任务,但不会在这上面耗费多得离谱的计算资源,你知道吧?所以我觉得,嗯,如果你想让模型以不同的方式做事,就得稍微引导它一下,对吧?Speaker 1: Right? So, like I always tell it to like use its own judgment, but I'm giving you permission to do this stuff, right? And I think that uh you have to sort of remember that the model is by default, you know, do what maybe the average user wants, which is like they want it to respond and start doing work as fast as possible roughly like complete the task but not spend like a crazy amount of compute on it, you know? And so I think that like um you have to sort of if you want the model to do it differently, you have to nudge it slightly, right?

发言者 1:所以你可能得这样说,比如:“好,嘿,我暂时不想让你做任何工作。我想让你先头脑风暴,你知道的,我想让你和我一起思考,对吧?”嗯,如果你这样提示它,它就会开始这么做。如果你想让它使用大量算力,可以这样说:“嘿,你知道,有时候我会说,嗯,是的,嘿,我觉得这是个棘手的问题。呃,尽管使用工作流。”如果我要让它运行一整晚,我可能就会说:“嘿,我要睡觉了。”你知道,设置一个 /goal 之类的,然后呃,让它运行下去。Speaker 1: So you might have to be like, okay, hey, like I don't want you to do any work yet. I want you to brainstorm, you know, I want you to like think with me, right? Um and if you prompt it that way, it will start doing that. If you want it to spend a lot of compute, if you're like, hey, you know, sometimes I'll say like, yeah, hey, I think this is a hard problem. Uh feel free to use workflows. If I'm running overnight, I might just be like, "Hey, I'm going to sleep." You know, set a slashgoal or something and then uh let it let it run.

说话人 1:所以,嗯,对,我觉得这就像是允许它去做你想让它做的事情。你们最近删掉了这么多系统提示词之后,是怎么证明最终结果变得更好的?我们有一大堆用户指标,比如你知道有多少人喜欢 Claw 的输出之类的。有时候你会收到那种调查问卷,也能看到结果。嗯,我们会针对内部评测和外部评测运行评估,看看它在这些不同任务上的表现。但我觉得这很难,因为有时候你不会意识到它们并没有覆盖这种情况:比如 Claude 告诉用户,它把所有工作都做完了,然后说“嘿,也许你该去睡觉了”。没有哪项评测是测试 Claude 会不会告诉你去睡觉的,你懂我的意思吧?现在我们就得想办法捕捉这种新行为。Speaker 1: So, um yeah, I think there is a uh just like giving it permission to do the thing you want. When you recently removed so much of the system prompt, how did you prove that the end result was better? We have a bunch of user metrics just like how you know how much do people like the output of claw? Sometimes you get that survey and you see it. Um we run evals against you know our internal eval uh and external evals to see like how it performs at these different task. Um but I think it is hard like sometimes you don't realize that they're not if cla is telling the user if it does all its work and then is like hey maybe you should go to sleep there's no eval for claude tells you to go to sleep you know what I mean and now we're like have to like catch this like new behavior.

说话人 1:嗯,这很难。我觉得我们基本上花了很多时间,就是呃,你知道,不断删除系统提示词中的内容、运行评估,看看效果如何,看看人们在内部是如何反馈的,然后再进行调整。但这对几个人来说,在很长一段时间内,几乎是一份全职工作。所以我不一定会建议每个人都这么做。我想这也正是我们为什么写那篇关于调整系统提示词所得经验的文章。我们认为这些经验具有相当的普适性。所以希望你们不必再经历这种疯狂的迭代过程。Speaker 1: Um so it is hard. I think we spent a lot of time basically just um you know like removing lines in the system prompt running evals uh seeing how it worked, seeing how people uh reported it internally and then like adjusting. But it was like a full-time job for several people over long periods of time. And so I don't think I'd necessarily recommend everyone do this. I think that's kind of why we wrote that post about what we learned from like adjusting the system prompt. And we think that's pretty general. So hopefully you don't have to like now go through this like crazy iteration process.

演讲者 1:Open AAI、Enthropic、Cursor 和 Verscell 都使用这款产品来让自己的工作变得更轻松。它所解决的问题是:当你在构建 SaaS 或 AI 产品,并希望将其销售给其他公司时,有许多要求需要满足。其中包括 SSO、SKIM、arbback 和审计日志。这些功能集成起来都需要时间,但并不是你的应用的核心重点。Work OS 是一个 API 层,只需几行代码就能让你满足所有这些要求。假设你有一款新的 SaaS 产品,并希望将其销售给其他公司。Speaker 1: Open AAI, Enthropic, Cursor, and Verscell all use this product to make their lives better. And the problem it solves is when you're building SAS or an AI product and you want to sell to other companies, there's all these requirements you need to meet. There's SSO, there's SKIM, there's arbback, there's audit logs. These are all things that take time to integrate but aren't the main focus of your app. Work OS is an API layer that lets you meet all of these requirements in just a few lines of code. So let's say you have a new SAS product and you want to sell to other companies.

说话人 1:Work OS 将为你解决所有这些关键的功能缺口。你可以访问 workos.com 了解更多信息并开始使用。我也很感谢他们支持我的工作,并赞助了这档播客。我觉得,很多人在使用 cloud code 时,如果是要完成非常客观的工作,往往能得到很出色的结果;但如果是要引导模型完成漂亮、有品位的工作,结果就不一定总是如你所愿,基本上更像是碰运气。所以,当你面对一个更主观的领域,比如前端开发时,要怎样才能最好地把你所追求的某种非常特定的风格或品味,灌输到模型的输出中呢?我觉得,做法大概就是让自己始终处于循环之中。我认为你应该给它提供参考,对吧?而且我觉得,你提供的参考资料越多、数据越丰富,效果就越好。比如,给它一个 HTML 文件就比给一张截图更好;给它一个 Figma 文件,也比给一张栅格图像之类的东西更好。Speaker 1: Work OS will solve all of these critical feature gaps for you. You can check them out at workos.com to learn more and get started. And I appreciate them for supporting my work and sponsoring this podcast. I think uh a lot of people when they use cloud code they get excellent results when it's kind of getting very objective work done but when it's kind of prompting models to do beautiful or tasteful work it's kind of not always you it's pretty much more hit and miss and so you know how do you best instill like a very particular style you're going for or particular taste in the models outputs when it's a much more subjective ive domain maybe like front end the way you do it is sort of like you stay in the loop I think you give it references right and I think the more references you give it with data the better so like it's better to give an HTML file than a screenshot right it's better to give a Figma file than like a raster image or something

说话人 1:对,因为现在如果 Cloud 想知道这个东西的圆角半径,它就会想,哦,Figma 组件的圆角半径是多少?然后我直接把它复制过来。所以我觉得,给它提供大量参考,最好是代码形式的参考,是让它坚持遵循这些规范的一个非常好的方法,对吧?嗯,我觉得如果没有这些参考,你就可以先要求它——如果你不具备设计背景,比如说你不是设计师,那么第一步可能就是先明确:好吧,我不是设计师,我对设计有很多不了解的地方,你知道的;而且我也不太懂如何迭代,我甚至不知道什么才算好,对吧?我觉得这正是与设计师合作的艺术之一:他们就是知道什么才算好,然后会指出,这样做还不够好,对吧?而且他们会通过提示词引导它。我认为这也是一种会越来越有价值、随着时间推移变得更加重要的技能:什么是好的产出,什么事情值得去做,对吧?Speaker 1: right because now if cloud wants to know the border radius of this thing it's like oh what's the Figma component border radius and let me just copy it And so I think giving it a bunch of references ideally in code is a really good way right of like getting it to stick to this. Um I think if not you can then ask it to if you don't have like uh let's say you're not a designer there's probably step one is being like okay I'm not a designer there's a lot I don't know about design you know and like there's a lot I don't know about iteration I don't even know what good looks like right and I think this is like part of the art of working with the designer is like they will just know what good looks like and they'll be like this isn't good enough in this way right and they like prompt it And thi that I think is also a skill that will keep getting valuable and even more valuable over time is just like what is good output, what is worth doing, right?

说话人 1:比如说,关于 reman 假设,我觉得 Jared 提出了这个想法,但在 Lev——你知道,他可是世界上最优秀的数学家之一——开始问“这个对吗?我该怎么验证它?”之前,他完全不知道这个假设是否正确。Lev 研究了这个假设,还问了大量后续问题,而我们完全跟不上。他说的内容我们一点都听不懂,对吧?但他确实非常感兴趣。所以我觉得,越来越重要的一点是,成为那种具有高品味的用户,并且对某个领域的问题有深入了解,这样才能获得高质量的输出,对吧?Speaker 1: Like I think uh for example with the uh the reman hypothesis Jared prompted it but he had no idea if it was correct until like Lev who was like you know one of the world's best mathematicians was like you know okay like how do I is this correct right and he worked with it and he asked it like tons of follow-up questions and we could not follow that at all. We had no idea what he was saying, right? But he was like really intrigued and and so I think more and more being that like high taste user and like knowing a lot about a problem in a domain space is how you get good outputs, right?

说,你就是这样解决这些问题的。呃,否则可能 Claude 已经解决了物理学之类的问题,只是你不知道,对吧?就好比你会想,呃,你对这方面了解得还不够。所以我觉得,当你谈到设计时,首先要做的就是:如何提升自己的设计品味,对吧?你也可以这样问 Claude,对吧?比如你可以说:“嘿,我不是设计师。我想提升自己的设计能力。我甚至连相关的术语都不懂。首先,也许我们可以找一些参考网站。”Speaker 1: That's how you solve these problems. Uh otherwise like maybe cloud did solve like physics or something but you just wouldn't know it, right? Like you're like uh you don't know enough about it. And so I think when you're talking about design, the first thing you do is how do you become more tasteful with design, right? And so you can ask Claude that as well, right? Like you can be like, "Hey, I'm not a designer. I want to be better at design. I don't even have the language. First, maybe let's find some reference sites."

说话者 1:然后你可能会找一些参考网站,接着说:“这是我喜欢的,或者这是我不喜欢的,对吧?”然后你就这样逐渐整理出那些参考资料,并把它们提供给 Claudet。现在你也许可以告诉它:“嘿,我们来做一些探索吧。这大概就是我的品味。”然后它就会制作几种不同的样稿,对吧?我喜欢把这些样稿都用 HTML 来做,因为它们完全自包含,易于编辑。等你有了这个参考——你知道,这份参考现在就成了一个参考。Speaker 1: And and then maybe you pull some reference sites and then you're like, "This is what I like or this is what I don't like, right?" And then you sort of build up that, you know, those references and you give Claudet and and now maybe you tell it, hey, let's do some exploration. This is sort of my taste. And then it'll do like a few different mockups, right? And I like to do these mockups all in HTML because it's all self-contained, easy to edit. And then once you have that, you know, that reference, now it's a reference.

说话者 1:所以现在你可以这样做:创建一个新会话,然后说:“嘿,这是我想要的设计模型。嗯,开始实现它吧。”然后,你知道,它会把所有内容都写进代码里,你也可以开始逐步完善。但我觉得真正困难的部分,只是要知道“什么时候已经足够好了”,对吧?相较之下,什么时候又可以再加把劲,对吧?你在很多数学证明中也会看到这一点,对吧?比如 Terrence Tao 会说:“好了,别再满足于只完成一半的定理了,直接把完整的定理做出来。”所以我觉得,这听起来很简单,但要达到这样的程度,需要大量的领域知识和专业经验,才能判断:“好吧,你看起来已经足够聪明,应该已经能做到这一点了,现在去做这个。”我做软件工程师时,有很多工作——我想可以算是编写胶水代码之类的工作——你完成了一些工作,然后写一篇发布公告,或者你参与了某个工作流,然后你……Speaker 1: So now you can be like, you can make a new session and be like, hey, this is a mockup of a design I want. Uh, start implementing this and, you know, it will have all of it in code and you can start getting there. Um, but I think that like the really hard part is just knowing like, oh, when is something good enough, you know, versus like when can you, you know, push harder, right? And you see this with a lot of the math proofs, too, right? when like Terrence Tao is like okay enough with the half complete theorems just do the full theorem you know and and so I think like it sounds simple but it takes a lot of domain knowledge and expertise to get to the point to be like okay like it seems like you're smart enough to have done that now do this when I was a software engineer there was a lot of um I guess it was like glue writing work kind of where you you finish some work and you write a launch post or you are part of some work stream and you

说话人 1:每两到四周就得发布一次更新,或者你可能有一份方向文档或设计文档,以及所有这些围绕你实际编写的软件而写的内容。我很好奇,想听听你的看法:在 Anthropic,这种情况有没有发生什么变化?其中有多少是由 LLM 编写的,又有多少仍然是人工编写的?我的经验法则是:如果我愿意把提示词展示给别人看,那我就会把输出发给他们,对吧?所以很多时候,提示词只是用来收集上下文,这是最常见的情况,对吧?Speaker 1: got to post an update every two to four weeks or maybe you have a direction doc or design doc and all this like writing around the software that you actually write and curious your thoughts on if that's changed at all at anthropic how much of that is written by LLMs and how much of that is you know human written still My rule of thumb is like if I would be happy to show someone the prompt, I would send them the output, right? And so a lot of times the prompt is just collecting context is the most common one, right?

说,比如说,呃,在每次和经理进行一对一沟通之前,我都会让 Claude,嗯,读取每一条 Slack 消息和 GitHub 消息,还有,嗯,或者 PR,然后汇总成一份类似于,嗯,我做了什么的报告,对吧?而且,呃,这些是我的经理所没有的上下文,因为你知道,他们不可能真的把每个 PR 之类的都读一遍。所以,如果,嗯,我的经理也可以运行这个命令,但他们没有我的上下文,而他们知道我用来生成这个命令的提示词就是这个,我也不会觉得不好意思,对吧?所以,嗯,我觉得同样地,如果你要分享更新之类的,你知道,你可能会想证明自己确实读过它。我认为这一点很重要,而且有时候,一些小的编辑也是证明你同样理解了这项工作的方式,对吧?所以,如果它只是一份数据读数,你知道,也许你会检查一下这些数字是否合理,或者是——Speaker 1: So, for example, uh before every one-on-one with my manager, I ask Claude to, you know, read every Slack message and GitHub message and, you know, or rep PR and compile like, you know, a report of what I did, right? And uh that's context that my manager doesn't have because you know they haven't been literally reading every PR or something. And so I don't feel bad if like you know like my manager could also run this command but it doesn't have my context and I don't feel bad with them knowing that this is the prompt I used to generate this command right so um I think likewise like if you're sharing updates or something like that you know like uh you might want to prove that you've read it you know I think this is important and and sometimes like little edits are ways of proving that you have also understood this work right and So if it's just like a data readout, you know, maybe you you're sanity checking like the numbers make sense and

说话人 1:这些就是你打算包含的所有数字,作为其中的一部分,也许你会用不同的方式来排版,或者代你加上一句简短的话,对吧?但我觉得归根结底,这是一份数据读出。大家都知道你写的提示词大概就是:嘿,基于这些内容,就这个功能生成一份读出,你觉得没问题,对吧?但我觉得,如果你是在推介一个新概念或一个新想法,而你的提示词是:帮我为这个产品想出一个新概念之类的,对吧?那你至少可能会希望别人知道,或者说,你想让别人知道你确实相信这个想法,对吧?所以,即使你觉得 Claude 的想法棒极了,原封不动地照搬也不会改任何东西,我会说,我可能会这样讲:嘿,这是 Claude 生成的,但我觉得它很棒,你知道,我——或者我已经做了一百次不同的生成,我觉得这个真的很好,然后这里有一些,你知道,那……Speaker 1: this like these are all the numbers you intended to include and as part of that maybe you format it differently or you add like a little sentence and on your behalf, right? And but I think ultimately it's a data readout. Everyone knows the prompt you wrote is like hey like generate a readout on this feature based on this and and you're fine, right? But like I think if you're pitching like a new concept or a new idea and your prompt is like help me come up with a new concept for you know this product right like you probably at least people want you to know that want to know that you've like believed in it right and so like even if you think Claude's idea is incredible and just verbatim you wouldn't change anything what I would say is like I'd be like hey Claude generated this um but I think it's great you know like I or I've did like a hundred different generations and I think this was really good and here is like something you know that

说话人 1:我想马上把你发出去,所以我觉得坦诚说明这一点是好的,对吧?因为我确实觉得,人们不喜欢的是那种感觉自己被稍微误导了的情况——比如“哦,我们以为你在做这项工作”,但你知道,嗯……这真的很棘手,对吧?而且我觉得,写作有时会涉及很多……写作中有些部分,单个词语是很重要的,你知道吗?有趣的是,我觉得推文就是一个例子,因为单条推文本身很重要,对吧?Speaker 1: I want to send you right um and so I think that like it's good to be upfront about it I think right because I do think what people don't like is when they feel like they've been like misled a little bit like oh like you we thought we you were doing this work but you know um it it's really clawed right and I think that like um writing sometimes can have a lot of like there are some parts of writing where individual words matter, you know, like funnily like tweets are I think an example of this where like the individual tweet matters, right?

说话人 1:所以,嗯,你会越来越觉得不能用 Claude 来做那件事,因为这就像是每一个词背后都有你投入的思考,以及你赋予它的意图。比如说,你知道,一份提案、一篇文章之类的东西。我们在 Anthropic 内部经常写这种文章,比如“嘿,这就是为什么我认为我们应该这么做”,而这类文章通常都是完全由人写的。我觉得,如果让 Claude 替你写文章,会非常受人鄙视,你知道我的意思吧?嗯,因为每一个词都是你有意斟酌过的。Speaker 1: So, um you like more and more you can't use claude to do that because it's like like every word has some thought that you've put into it and some intention that you've put into it. So like you know yeah a pitch or an essay or something like that. We do a lot of like internal essays at anthropic being like hey this is why I think we should do this and that's generally like all humanridden. It's very like looked down upon I think to have like Claude like your essay written by Claude, you know what I mean? Um because like every word is something that you like are intentional about.

说话人 1:所以听起来,写作中那些无聊的、机械性的内容,比如数据读数、一对一沟通更新、工作流更新,越来越多会由 AI 完成,但始终由人审核。然后那些新颖的想法、新的方向,仍然是由人来写,而且感觉即使模型再好一点,也应该保持这种方式。对,我觉得这就像,如果你,你知道,写作本身也是一种思考方式,对吧?所以,也许如果你需要更多地思考数据流或数据读数,那么你可能就需要把它总结一下,你知道的,而且……所以,嗯,但我觉得,尤其是收集背景信息这件事,是那种没人会因此责怪你的事情,对吧?就像,呃,你做了一堆研究,然后你知道 Claude 做了这个,但,是的,我不想让我的智能体去做同样的研究,你知道,这是一种捷径,但是……Speaker 1: So it sounds like the proportion of the writing that's all that boring route writing like the data readouts, the the one-on-one updates, the workstream updates that's increasingly becoming AI but always reviewed by a human. And then the novel thoughts, novel direction is still very human written and feels like it should remain that way even if the models were a little bit better too. Yeah, I think it's like if you're, you know, so like writing is also a way of thinking, right? And so like maybe if you need to think about the data stream or data readout more then maybe you need to like summarize it you know and and so um but yeah I think like especially gathering context is one of those things where no one will ever like hold it against you kind of right like uh oh like you know you did a bunch of research and you know Claude did this but yeah like I don't want to ask my agent to do the same research like you know it's a shortcut but like

说话人 1:仅仅确认这一点就很好。我之前和另一个人聊到过,他有个想法:如果能有点像 git blame,但针对的是提示词,也就是能够反向查找“生成这次变更的提示词是什么”,这样调试起来会很有价值。你们是否对生成软件的提示词进行了某种元版本控制,还是说目前仍然非常基础,就是普通的 git 历史记录?是的,这确实有点难,因为你知道,提示词中包含的不只是提示词本身,还包括上下文、技能之类的东西。Speaker 1: just acknowledging it is good. Someone else I was talking to, they had this thought of it would be valuable to have almost like a git blame, but it's like like a prompt blame of because it would be nice to reverse look up what was the prompt that generated this change to kind of debug things. Do you have any sort of metaverion control on the prompts that generated the software or is it still very vanilla, you know, git history? Yeah, that is a little bit tough because again like you know what goes into a prompt is not just the prompt but also like context and skills and things like that.

说话人 1:所以,可能你知道,一个提示词看起来很基础,但其实并不是。我觉得这有点难以判断,不过,回到我提交 PR 的时候,我觉得现阶段 PR 和某个制品,或者说 Claude 基本上完成了所有代码编写,并没有什么不同,对吧?所以,如果我给某人发一个 PR,通常也会附上我发送给 Claude 的每条提示词所对应的制品。嗯,包括失败的方案和诸如此类的内容,你知道,这样他们就能看到:好吧,我已经考虑过很多其他事情了。嗯,如果我没有这样做,如果这只是一次性生成的示例,我就会直接告诉他们:“嘿,这是一次性生成的示例。”Speaker 1: So like maybe you know a prompt might seem basic but isn't. Uh I think it's kind of hard to judge but I do you know like going back to like when I'm giving a PR I don't think a PR at this point is any different than an artifact or something like Claude is doing basically all the codew writing right? So, if I send someone a PR, I usually also attach an artifact of every prompt I sent to Claude. Um, including failed like approaches and things like that, you know, um, so that they can see like, okay, I've considered a lot of other things, you know, and if I haven't, if this is just a oneshot, I just tell people I'm like, hey, this is the oneshot example.

不断变化的软件实践The Changing Software Practice

说话人 1:这就是我使用的提示词,对吧?嗯,而且呃,我觉得这通常也会让他们觉得印象深刻、很有意思,因为他们会想:“哦,Claude 居然能一次性搞定这个,挺酷的。”嗯,但最糟糕的是,有时候你提交了这么一个 10,000 行的 PR,然后他们会说:“你觉得怎么样?你到底读了多少,或者说,你和 Claude 在这上面合作了多少?”而如果我在做一个大型 PR,我会尽可能多地展示我的工作过程。Speaker 1: This is the prompt I used, right? Um, and uh, I think that's like usually impressive and interesting to them as well because they're like, "Oh, like it's cool that Claude could oneshot this." Um, but the worst is when you get like, you know, you you just I'm just trying to avoid cases where I send in like this 10,000line PR and they're like, "Did you like how much have you like read this or like, you know, like how much did you work with Claude on it?" And if I'm doing like a large PR, I am going to like show my work as much as possible.

演讲者 1:关于代码维护,因为如今 AI 可以生成如此大量的代码。对于代码所有权和维护,在 Anthropic 你们有哪些实践效果很好,可以分享一些建议吗?我确实认为,你必须重新审视代码维护中哪些事情是重要的,对吧?所以我觉得,有些事情过去非常看重命名,对吧?因为这体现了你们团队如何理解这个抽象和功能。不过我认为,命名正变得越来越不重要。代码中的许多风格性因素也变得越来越不重要,你知道,而我认为,这对我来说并不等同于维护,对吧?Speaker 1: on maintaining code because AI can generate such high volumes of code at this point. Do you have any tips on what's worked well at anthropic for code ownership and maintenance? I do think you have to revisit like what is important with code maintenance, right? And so I think that like there are some things where like naming used to be really important, right? because like it was like how you as a team thought about this like abstraction and feature. Um but I think naming is becoming less and less important. A lot of stylistic things in code are becoming less and less important, you know, and I think that like this is not the same to me as maintenance, right?

说话人 1:所以,我觉得,呃,你们可能需要坐下来想一想:好吧,现在真正重要的事情有哪些,哪些不重要,我们有哪些其实无关紧要的观点?这是一个方面。然后我觉得,第二个方面,在维护层面,某种程度上就是要有良好的脚手架,对吧?所以我认为,呃,需要有一套好的验证工具,需要具备一些好的、我们经常使用的技能。我们经常使用简化技能,我觉得,有时候即使从模型的角度来看,它可能会做很多工作,然后哪怕只是允许它说“嘿,我觉得这是正确的思路,让我们把它简化一下”,也能给它这样做的许可,对吧?但你不希望模型默认先做一堆工作,然后再简化,对吧?Speaker 1: So I I think that like um if you you might want to sit down and be like, okay, like what things really matter now, what don't, what opinions do we have that don't matter? That's one. And then I think on the second on the maintenance side is sort of like having good scaffolding right so I think that it's like uh having a good verification harness having a good like uh sort of skills we use the simplified skill a lot I think that like you know sometimes even from a model perspective like it might do a lot of work and then like even just giving it permission to be like hey I think this is the right uh idea let's simplify it gives it that permission to do it right but like you don't want a model to by default do work and then simplify, right?

说话人 1:因为,呃,也许它并不正确,对吧?比如说,你不会想去简化那些本身就不正确的工作。这样就像是在浪费 token,对吧?所以我觉得人类也是这样思考的,对吧?他们会这样——你知道,你会进行生成式思考,尝试着靠近目标,然后也许你会稍微简化和抽象一下。呃,所以我觉得,在你自己的代码库里,或者在设置这些技能和实践方面,确实有一些工作要做。你不会只是提交第一次尝试,而是会先把它简化,并且实际试用一下。Speaker 1: Because uh maybe it's not correct, right? Like you don't want it to simplify work that's not correct. It's like um you're wasting tokens, right? And so I think this is also how humans think, right? They're like, you know, you think generatively, you try and approach and then maybe you like simplify and abstract a little. Um, so I think there's like some work inside your own codebase or like setting up those skills and that those practices where you're like, you know, you're not just submitting like the first take, but you've like simplified it and tried it.

说话人 1:嗯,然后,拥有一个非常出色的验证测试框架也很重要,让你觉得自己确实能捕捉到问题,也就是说,你很有把握 Claude 正在测试其中的每个部分。呃,比如说,当你向 cloud code 提交一个 PR 时,你会收到一段使用该功能并对其进行测试的录制,作为一个示例,对吧?然后,你可以非常非常有创意地想出各种不同的方法来测试东西。我的意思是,我觉得你基本上应该拥有大约——我想说,测试代码量应该比你以前有过的多一百倍左右,你懂我的意思吧?所以,呃,你应该为所有东西准备 fixtures;你可以直接提取生产代码,并即时为数据库创建 fixtures 和 mock。Speaker 1: Um, and then like yeah, having a really good verification harness where you feel like you're catching, you know, like you have a good belief that Claude is like testing every part of it. uh like you know when you submit a PR to cloud code you get a recording back of it using the feature and testing it as as an example right um and you can just get really really creative with different ways to like uh test stuff like I think you should basically have on the order of I'd say more like a hundred times more testing code than you've ever had before you know what I mean so like uh you should have uh fixtures for everything you can just pull production code and create fixtures and mockups on the fly for for databases.

说话人 1:你可以为前端之类的东西准备 story book。还可以采用各种不同的方式来测试和验证你的代码,我认为这对于可维护性来说确实非常有价值,对吧?这就像是,嗯,只是拥有所有这些验证代码的方式。呃,然后,嗯,当然,还有人为因素,比如你希望自己的代码库走向何方?如果你知道情况就是这样,那么你可能会开始思考,如何进行重放、撤销和重做就变得非常重要,对吧?Speaker 1: You can uh have story books for front end and things like that. And you can have all these different ways of testing and verifying your code and that I think is really valuable for maintainability, right? It's like um just having like all these ways of verifying it. Uh and then uh yeah, of course, like there's just like the human element of like where do you want your codebase to go? If you know that's the case, probably you start thinking about like, you know, how you'd replay and undo and redo becomes really important, right?

说话人 1:就是类似那种东西。所以,如果它只是单人使用的话,这一点其实没那么重要,你知道吧?比如说,普通用户不太可能会连续撤销 100 次之类的,对吧?所以,很多单人应用的撤销功能通常很快就不再继续工作了,比如只能撤销四五次,对吧?嗯,只是因为这并不是那么重要。但在多人协作中,把不同的东西组合在一起的能力非常重要,或者说,把不同的操作组合在一起的能力非常重要。Speaker 1: Like just like that sort of stuff. And so the but if it's single player only, that actually matters a little bit less, you know, like you like the average user is not going to undo a 100 times or something, right? And so like, you know, many like single player applications undo stop working pretty quickly, like you know, after like four or five times, right? um just because it's not that important. But in multiplayer, the ability to compose different things together is really important or compose different operations together is really important.

说话人 1:所以,嗯,这只是一个例子:如果你了解自己的代码库的发展方向,就会有一些你在意的事情,而你希望模型知道这些。你可以把这些内容纳入你的技能中。你也可以,嗯,这其实就是“可维护性”对我的意义:对代码库擅长什么、要往哪里发展有一个愿景,并让它始终保持一致。嗯,我确实认为模型正变得越来越好,几乎每个代码库可能都会有这样一个时刻:你会想,要不要直接让模型把整个代码库重写一遍?Speaker 1: And so um that's just an example where like if you know the direction of your codebase, there are things you care about and you want the models to know. And uh you know, you can include that in your skills. You can also just like you know like that's sort of what maintainability means to me is like having a vision for what your codebase is good at, where where you're going, you know, keeping it in line. Um, I do think the models are getting better and better and better and like almost every codebase probably I think will have this moment where you're like, do you just ask the model to rewrite all of it?

说话人 1:你知道,呃,因为现在你会想,哦,我可以用性能最好的语言来做。我可以混合搭配,你知道,按理说,世界上的每款软件都应该能在浏览器里的 WebAssembly 上运行。你明白我的意思吗?按理说,我不知道,比如你的 Xbox 游戏其实没理由不能在浏览器里运行,对吧?比如 Xbox——它的硬件,也就是主机——比你现在一般的 MacBook 弱得多。你明白我的意思吗?但问题就在于代码库,对吧?Speaker 1: You know, um, and like because now you're like, oh, like I can do it in the most performant language. I can mix and match, like, you know, like there's not a reason that every software in the world shouldn't run in web assembly in the browser. You know what I mean? There's not a reason why I don't know like your Xbox game can't run in your browser actually, right? Like the Xbox like the hardware like the consoles are much weaker than your average like MacBook right now. You know what I mean? But it's just like the code base, right?

说话人 1:嗯,不过我们可以,比如说,而且所以我觉得,可能在接下来一两年里,大家都需要思考一下这个问题,对吧?所以我不觉得你应该花太多时间,以这种可能很快就不再重要的方式去担心可维护性。我不是说可维护性不重要。你只是得更新一下自己的思维模型,重新想想代码的可维护性到底意味着什么。你知道,我之前在和一个朋友聊天,他说他会留下大量大量的技术债务,因为下一次迭代——你知道,下一次迭代,为什么要现在浪费时间去修复它呢?下一版 Fable 就会把这些技术债务一次性全部解决,并替我完成重构。Speaker 1: Um but we could like and and so I I think probably over the next year or two like everyone's going to need to think about that, right? And so I I don't think you want to spend too much time like worrying about maintainability in this like way that might not matter anymore. I'm not saying maintainability doesn't matter. You just have to update your mental model of like what does it mean for like code to be maintainable. You know, I was talking to this friend um who was saying that he leaves tons and tons of tech debt leaving around because the next, you know, the next iter why why waste time fixing that now when the next iteration of Fable is going to oneshot all this tech debt and refactor this for me.

说话人 1:嗯,挺有意思的。是的,我不认为那完全不对。这取决于具体情况,对吧?我觉得这也是创业公司里一个很经典的问题:你会想,哪怕是在普通的人类工程中,你也总会遇到这样的问题——我应该重构吗?我应该处理技术债务吗?还是应该交付更多客户价值?重构现在能帮助我交付更多客户价值吗?我确实认为,总的来说,你应该用更短的时间尺度来思考项目,比如说:“好,接下来一两个月我要如何交付价值?”如果你说的那个项目要在 6 个月或 12 个月内交付价值,那也许,是的,也许可以稍微等一等下一个模型,然后在较短的时间尺度上交付价值,确保交付的东西确实非常好。Speaker 1: So, kind of funny. Yeah, I I don't think that's completely incorrect. It depends on the circumstance, right? Like I think this is also just a classic thing in startups right where you're like you know even in normal human engineering you always have this problem of like um hey do I refactor do I do tech debt or do I deliver more customer value would refactoring help me deliver more customer value right now I do think that like just generally I think you should think on your projects on shorter time scales so you're like okay how do I deliver value over the next month or two and if the project you're talking about is delivering value over 6 months or 12 months, you know, then maybe yeah, maybe like wait for the next model a little bit, you know, and then like that like just deliver value on like the short time scale scale, make sure it's like, you know, really good.

发言者 1:如果这些模型还不够好——比如说它们可能很快就能达到要求——那就非常取决于具体情况,对吧?但我并不是说所有事情都是这样,只是你应该记住这一点。我和一些在 Google、Facebook 这类大型科技公司工作的朋友聊过,随着他们越来越多地采用 AI,人们注意到的一件事是,在使用过程中出现了更多事故或严重故障(sev)。这对这些组织来说很自然,因为他们对代码的审阅变少了,而产生的代码却更多了。Speaker 1: And if the models are not quite good enough, like they might get there soon. It it depends very much on the like specific case, right? But and I'm not saying this is true of everything, but like just something you should keep in mind. I've talked to some friends who work at big tech companies like Google, Facebook, those types of places and then they as they've become more and more AI pill one thing that people have noticed is there's a lot more incidents or sevs in in their usage and it's natural in those organizations because they they read the code less and there's more code flying out.

说话人 1:你知道,鉴于代码迭代速度快得多,enthropic 采取了哪些应对措施来很好地防止故障?是的,我觉得这有时就是加快速度的副产品,而这是我们必须想办法解决的问题。我的意思是,我觉得,呃,你知道,我也不认为我们的正常运行时间已经达到了我们想要的水平,但同时,作为一家公司,我们也还比较年轻,差不多快六年了,我想大概是这样。所以,之前没有哪家公司发展得这么快,而这很大程度上是因为我们能够比以往更快地创造出更多产品,对吧?所以你可以使用 claude 来改善正常运行时间,对吧?我觉得我们看待这件事的方式就是:什么才是理想的测试环境?理想的部署环境是什么?你能不能接收请求,然后在所有系统中,通过模拟数据库和固定测试数据之类的东西,对这些请求进行重放?Speaker 1: you know what counter measures have worked really well for enthropic to prevent breakages given that the code velocity is so much higher. Yeah, I think this is something that like is a byproduct of moving faster sometimes and we have to figure it out. Like I think that uh you know I don't think our uptime is exactly where we want it to be either but also as a company we're a little like almost six years old I think around right so it's like no company has grown this fast before and a lot of that is because we've been able to like create more products faster than ever before right and so you can use claude to make your uptime better right and I think that like the way we think about this is just like really good what's the dream testing environment the dream like you know deployment environment like can you like you know take requests and replay them across like you know mock databases and fixtures across everything.

说话人 1:你们能把所有东西都交给 Chaos Monkey 吗?你知道,在我个人的工作流程中,我有更多各种自定义的随机工具和脚本,它们能让一切变得更快。我只是好奇,比如说,在你们 Enthropic 团队里,是不是每个人都有一套能帮助他们完成各种杂事的工具?是的,当然每个人都有。我觉得这在某种程度上就是工作的一部分。我觉得有时候我们会尝试使用一些 harness。比如,团队里有些人会暂时自己搭建 harness,弄清楚“哦,这东西到底有没有用”,然后他们会判断它是否有效;如果没用,就会把它整合进去,对吧。Speaker 1: Can you chaos monkey everything? you know, in my personal workflows, I have so many more custom random tools and scripts that just make everything faster. And just curious, you know, on your team at Enthropic, for instance, does everyone have a set of miscellaneous tools that help them, you know, get random things done? Yeah, everyone does for sure. Like I I think part of this is is the job. Like I think that sometimes uh what we try and do is we play around with harnesses. Like sometimes some people on the team build their own harnesses for a little bit to figure out like oh is this like useful or not you know and then they they figure out if it works and if not they like integrate it right.

说话人 1:所以我觉得,这在某种程度上算是工作的一部分。嗯,我觉得其他一些类似 MISK 的东西也是这样,很多人都会有自己独特的 cla 配置。我觉得 claw tag 就是这类东西之一——你知道,你可以像我一样把它安排到日历里,对吧?所以如果有人想和我安排什么事情,我就会说:“嘿,你可以直接在这个频道里给 claude 加个标签”,然后不管它把什么内容放进我的日历,我都会接受。你懂我的意思吧?所以,嗯,我觉得还有一些类似的用法。我知道很多人会用它处理邮件;我还见过一些人做挺有意思的多重 clotting、类似 t-muxing 的配置,对吧?Speaker 1: So I think there's like that's part of the job uh in some ways. Um I think like other examples of like sort of like MISK stuff people will do a lot of people have like uh unique cla setups. I think claw tag is one of these things where like you know you can have it like I have it scheduled my calendar advice right and so like if someone wants to like schedule something with me that I'm just like hey you can just like tag claude here in this channel and I'll accept whatever it like puts on my calendar you know what I mean so um I think there's like some stuff like that I know like a lot of people use it for like email I think that um I've seen like some people do like interesting like multi-clotting sort of t-muxing like setups, right?

说话人 1:比如说,对你而言,展示 50 个不同的云代码的理想场景是什么?你知道,弄清楚任何时候到底发生了什么的最佳方式又是什么?所以,嗯,我觉得有很多不同的方法,而我们也在努力让云代码变得更易于修改,这样,嗯,更多人就可以,呃,甚至制作属于他们自己的云代码版本,让它变得更加多样化,每个人都可能在上面加入自己的一点独特风格。你在 Anthropic 的角色真的很有意思,因为你拥有很高的外部曝光度。嗯,我觉得很多人在提供职业建议时,都会说曝光度是一件好事,但他们并没有达到你这样的外部曝光度。所以,你是否建议软件工程师应该在 Twitter 和 X 上发帖?如果建议的话,在这方面你通常会给出什么建议?我通常对人们说的是,你应该在外部分享自己的工作。Speaker 1: Like where like what's the ideal scenario for you to like display like 50 different cloud codes and you know what's the best way to for you to figure out what's going on at any one time. So, um, yeah, I think there's a lot of different ways and we're trying to make cloud code more hackable as well, so that like, you know, more people can, uh, sort of like even, uh, make their own version of cloud code like more different and everyone might have their own little twist on it. your role at Anthropic is really interesting because of the external visibility that you have and um I think a lot of people when they give career advice visibility is a a good thing but they don't have this level of external visibility and so do you recommend to software engineers like they should be posting on Twitter and X and you know if so what what advice would you give in that sense generally the thing I say to people is that you should share your work externally

演讲者 1:尽你所能。尤其是,嗯,我觉得在某些公司里你可能做不到,但也许你有一些副业项目之类的。我觉得,在加入 Enthropic 之前,我做的事情就是花了很多时间和不同的公司合作,构建东西、写相关内容并进行讨论。嗯,而且,这真的非常有价值,因为这扩大了我遇到好运的机会范围,你知道,所以我觉得,嗯,其实门槛比你想象的低得多。基本上,每当有人向我寻求建议时,我都会说:“好,我……我会让他们坐下来。Speaker 1: as much as you can. Especially um I think within certain companies like you might not be able to but like maybe you have side projects or something like that. I think just um before I joined Enthropic what I did was like I spent a bunch of time working with different companies building stuff and writing about it and talking about it. Um, and uh, like this was really valuable cuz it like increased my surface area of luck, you know, and so I think that like uh it's really like the bar is much lower than you think. Like basically whenever someone askked me for advice, I'm like, "Okay, I I'll I'll sit them down.

说话者 1:我会这样说,我知道从统计上来看,我把这个建议告诉了很多人,但几乎没人会照做。嗯,而所有照做的人,要么从事着一份自己相当感兴趣的工作,要么在经营自己的公司。嗯,你会有不想这么做的理由。但我只能告诉你,就比如说,我根本不在乎你的简历——你知道的,别做那种事。嗯,你必须选择一个有趣的项目去做。你必须在上面非常努力地投入。你得全神贯注,然后把它做出来并写下来。Speaker 1: I'll be like, I know statistically I I tell this advice to a lot of people and almost no one does it. Um, and everyone who's done it is like either in a job that they're pretty excited about or running their own company. Um, and there are reasons why you're not going to want to do it. But like this is I just can tell you one like I don't care about your resume like like you know don't do that. Um, you have to choose like an interesting project to work on. You have to work really hard on it. You have to like lock in and then you have to ship it and write about it.

说话人1:你就是必须去做。你不能因为有那么多不想做的理由就不做。比如觉得还不够好,或者觉得你写的东西不太有趣之类的,但你必须去做,不能泄气,你知道的。也许第一次不会奏效,但你必须再试一次。嗯,也许 Twitter 不是合适的平台,可能是 Reddit,也可能是某个特定的 Reddit 社区,或者 Hacker News 之类的。你要做的部分事情,就是找到那些喜欢你所做事情的人,对吧?但我觉得,总的来说,人们确实很喜欢——你知道,我们消费的内容比以往任何时候都多,对吧?Speaker 1: Like you have to do it. You can't like there's going to be so many reasons why you don't want to. it's like not good enough yet or like you haven't like you think the write up is not very interesting or something but you have to do it and you can't get discouraged you know like maybe the first one might not work but you have to do it again um and maybe Twitter is not the right place maybe it's Reddit uh maybe there's a specific Reddit or Hacker News or something like that part of what you're trying to do is you're just trying to find people who like like what you're doing right but I think that like people in general want really like you know we consume more content than ever, right?

说话人 1:你知道这一点,对吧?我觉得人们想要的是非常高质量的内容。正如你所知道的,高质量内容需要投入大量工作。所以我想回到我们之前说过的,比如你会不会把自己写的提示词展示给别人,对吧?我觉得很多时候人们会想:“哦,有没有什么捷径?比如,我是不是只要让 Claude 管理我的 Twitter 账号,这样我就能获得增长?”而我会说:“不,你不应该这么做,对吧?你必须以真实的方式参与其中。”Speaker 1: And you know this, right? Like I think that like um people want really high quality content. High quality content, as you know, is a lot of work. And so I think going back to like what we said before about like would you show someone the prompt you did, right? Like I think a lot of times people are like, "Oh, what's the shortcut? Like oh, like should I just ask Claude to manage my Twitter account and is that how I like grow?" And I'm like, "No, like like you you should not do that, right? like you have to sort of engage authentically.

说话人 1:嗯,你得,比如说,发布内容,做出优秀的工作并谈论它,我觉得还要建立人脉之类的。但我认为,只要这是你的目标之一,并且你努力去做,我还没见过谁会在这件事上不成功。不过这确实很难。这有点像说,哦,我想每天去健身房,或者我想减肥之类的,你知道吧?有些事情看起来很简单,但需要很强的自律,而且很容易让人感到泄气。不过,如果你坚持去做,它们又确实值得。就我而言,我觉得发布内容,或者更具体地说,写下你的工作成果,真的真的很有价值。Speaker 1: Um you have to like post like you know do good work and talk about it and I think like build up networks and things like that. But I think that as long as that's one of your goals and you try hard at it, I haven't seen anyone not succeed at it. But it is really hard. It's kind of like saying like, oh, I want to like go to the gym every day or I want to like lose weight or something, you know? like there are simple things that you can do that take a lot of discipline and are easy to get discouraged with and um but like worth doing if you do it and I think like posting or more spec more specifically like writing about your work is like I think really really valuable.

说话人 1:你提到了“运气表面积”。能否举个例子,说明扩大运气表面积的价值?可以,我想想,我是怎么得到 Anthropic 这份工作的?我曾经在一家叫 Goodfire 的公司做过一次研究奖学金项目,参与了一些应用研究。他们是一家专注于可解释性人工智能的公司,而我当时一直在思考,如何利用可解释性来打造更好的产品。所以我了解了他们的研究,然后觉得自己想参与一个项目。对我来说,分享这个项目非常重要。因此,当我同意和他们合作时,我就明确表示,我的目标是分享我正在构建的东西。Speaker 1: You mentioned luck surface area. Do you have an example that kind of illustrates the value of expanding your luck surface area? Yeah, I mean okay, how did I get my job at Anthropic? I did uh a fellowship with a company called Goodfire where I did like some applied research and so they they're an interpretability AI company and I was trying to figure out like how do I use interpretability to in like to make better products and so I learned about their research um and I uh like felt like I want to work on a project and it was really important for me to like share it and so like I when I agreed to work with them I was like that's my goal is I want to like share what I'm building.

展望未来Looking Ahead

说话人 1:我觉得这对你来说也不错,因为 GoodFire 是一家初创公司,你知道,我希望他们能让人们了解他们,所以这就是我打算做的事情。我于是做了这个可解释性可视化项目,并分享了相关内容。这是我第一次在 Twitter 上发布这么大型的帖子,但当时只有大约 500 个赞之类的——现在看来,这对我来说不算多,但在当时,那是一篇影响很大的帖子。有几个人看到了,其中一些人还私信联系了我,然后我就这样获得了一个机会,被介绍进了这里的一个职位。Speaker 1: I think that's good for you as well because GoodFire is a startup and you know people I want they want people to learn about them and so this is what something I'm going to do. So I built this like interpretability visualization and I shared about it. This is my first like big post on Twitter, but it was only like 500 likes or something like at like now like you know that's like not very much to me but like it's like back then it was like a huge post and um several people saw it and like some of them DM'd me about it and then uh like I then got an intro into you know like uh into a role here.

说话者 1:所以,嗯,我觉得我当时大概花了一个月,主要就是在那个项目上。我觉得具体来说,事情也没那么疯狂。嗯,而且,呃,它确实向大家证明了我能做有意思的工作。而且,我也因此得到了报酬。所以,并不是说我是在免费做这件事。嗯,而且我觉得有很多例子表明,只要你展现出那种主动性,人们通常都很乐意为你做类似的事情,你知道吧。嗯,不过,是的,你必须——你真的得做有趣而新颖的工作,努力工作,同时也要为自己的工作感到自豪。Speaker 1: And so um I think that like I spent like a month on that project I think in particular. So, it wasn't like, you know, crazy. Um, and uh, yeah, it just like showed people that I could like do interesting work. And, um, and I got paid for it, too. So, it wasn't like I was doing it for free. Um, and and there's plenty of examples of like I think people are happy to do that sort of thing for you, you know, like if you like sort of show that kind of initiative. Um but yeah, you have to like it is like you really have to like do interesting and novel work and work work hard and be proud of your work as well.

说话人 1:我觉得,这并没有什么捷径。不过,如果你确实做到了,我想大家总是在寻找有趣的工作,也愿意支持你,想要雇用你,或者,嗯,给你钱——总之有很多好事。我经常看到 Anthropic 的一些内容中出现这个说法,嗯,也许是这样吧。我记得好像是 Boris 上了一些播客,而那句口号是“编程基本上已经解决了”。你知道,如果编程基本上已经解决了,人们还应该学习编程吗?我认为具备技术能力真的非常非常重要。Speaker 1: You know, there's not like a shortcut to that I think. But um if you do, I think everyone is always looking for interesting work and wants to support you and you know, wants to hire you or um yeah, give you money like uh lots of good things. I see this tagline going out a lot with some of the stuff that Anthropics been um maybe like I think it was like Boris went on some podcasts and the tagline was coding is largely solved. You know should people still learn to code if coding is largely solved? I think being technical is really really important.

说,了解计算机是怎么工作的?比如,嗯,对,计算机程序是怎么工作的?各种语言是怎么工作的?比如,哪些事情很难?后端服务是什么?缓存是什么?还有,嗯,你知道,内存分配是什么?所有这些东西其实都非常重要,值得去学习。嗯,我确实觉得,有时候很难激励自己去做这些事,就像,呃,你知道,手算数学对我来说并没有那么大的动力,但有些人就是喜欢数学,然后也就去做了。我觉得,这大概是每个人都得自己想明白的事情。我认为这真的非常值得;具备技术能力真的非常非常重要。就像我们一开始,或者说之前谈到的那样:比如,哦,你唯一能判断自己是否解决了黎曼猜想,或者取得了什么进展,或者解决了雅可比猜想的方法,就是成为一名出色的数学家,对吧?Speaker 1: Knowing how do computers work? How does like um yeah how does how do computer programs work? How do languages work? like what are the hard things and like what's a backend service like what's a cache like what's what like like you know what like what is memory allocation like all of these things are actually kind of really important to learn um I do think it's hard to motivate yourself sometimes to do in the same way that like mo you know doing math by hand was not that motivating to me you know but some people just love math and did it um I I think that like that's probably something that people have to figure out I think it is really worth it like being technical is really really important like we talked about at the start of or like earlier where like oh the only way you can tell you solved you know the reman hypothesis or like made progress or whatever is like or the Jacobian conjecture is like if you're a great mathematician right

说话人 1:同样地,判断你是否真正构建了优秀软件的唯一方法,就是看你是否是一名优秀的软件工程师。嗯,我觉得这件事很难,但我们之前也聊过其中一些方法,比如始终跟进最新情况,反思自己的流程并不断改进;你也可以用 Claude 来学习,让它为你讲解各种内容,把它当作一个思考伙伴。嗯,但说到学习,我真的觉得,正如 Kaparthi 所说,学习应该让人感到需要付出努力。你知道,我认为这正是难点之一:很多时候,即使你让 Claude 给你解释某件事,你可能也只是一路点头附和,心想“哦,对,我学会了”,但其实并没有,因为你根本没有付出任何努力,对吧?所以我觉得,这确实是非常技术性的事情。Speaker 1: and in the same way the only way you can tell if you're like built great software is like if you're a great software engineer um I think that like how do you do that is hard but like we've talked about some of this stuff before just like staying in the loop like you know like put like uh like putting like reflecting on your process and and getting better and and you can use cloud to learn as well and and sort of explain things to you. So like treating it like a thought partner. Um but learning like truly I think like you know Kaparthi says like learning should feel like effort you know and I think that's like one of the hard things is like a lot of times even if you ask cloud to explain something to you might just like nod along and you're like oh yeah like I learned it but you didn't really because you didn't put any effort in right so I think that like it is really technical.

说话人 1:你应该明白,学习本身很难,而且有时候学校强迫你做的事情,就是去学习这一点。嗯,我确实不知道,因为我不是从零开始学编程的,所以我现在也不太确切知道该怎么做。我想,如果没有更好的方法,我还是会输入代码、构建程序、运行程序,然后学习它们。你明白我的意思吗?嗯,可能也有一些更好、更充分利用云计算的方法,但我认为这非常重要。嗯,我觉得当鲍里斯说编程已经被解决了时,他的意思只是,嗯,你知道,我们不会再像以前那样陷入同样的困境。Speaker 1: You should learn it's hard to learn and and sometimes like what school forces you to do is to learn that. Um I don't know truly like I'm not learning programming from scratch so I don't know exactly what how to do it now. I think if short of better ways I would still like type out and build programs and run them and learn them. You know what I mean? Um there might be better ways that are more cloud informed as well but I think it's really important. Um, I think when Boris says coding is solved, I think it just means like, um, you know, we don't get stuck in the same ways that we used to before.

说话人 1:我觉得,编程过去是一件变数非常大的事情,你会想,这个 bug 是需要一天,还是可能要花两周?有时候你完全不知道,你懂我的意思吗?而且我觉得,总体来说,编程过去从实际情况看,是一件很少能顺利进行的事情。你明白我的意思吗?全世界能编写软件的人非常少,而且他们极其稀缺;即使把他们全都聚集到一起,也还有很多其他原因会导致事情无法奏效,对吧?Speaker 1: Like I think coding used to be this very high variability thing where you're like, oh, like could this bug take a day or could it take two weeks? You have no idea sometimes, you And I think like um on the whole coding used to be like in real terms like something that was very rare for something to go well. Do you know what I mean? like very few people in the entire world could write software and they were very very rare and even if you got them all together. There were so many other reasons why it wouldn't work, right?

说话人 1:编程曾经是世界上最罕见的事情之一,因为一个软件项目顺利进行的概率,从绝对意义上来说非常低,对吧?呃,如果你雇人来为你开发软件,而那又不是什么大型产品——比如说,你雇人给你的汽车经销店开发软件——你几乎肯定得不到自己想要的软件。你基本上就会觉得自己被骗了,你明白我的意思吗?嗯,这并不是因为有人想骗你,只是因为软件真的真的太难了。Speaker 1: And coding was this like one of the rarest things in the world where like the chance of a software going project going well was like on absolute terms very low, you know? Uh and if you were like hiring someone to like make software for you for something that's not like a huge product, like if you're hiring someone to make software for your car dealership, you were almost certainly not going to get the software you wanted. you're going to get like essentially scammed, you know what I mean? Um, not because anyone was trying to scam you, just like software is really really hard.

说话人 1:你知道,这些资源只能用于世界上最重要、最具可扩展性的事情。现在既然编码问题已经解决了,我想我们的意思是,你可以利用编码去做所有这些我们以前从未做过的其他事情。但这并不是说这仍然不是一项很大的工作。嗯,只是说它不再是那种极其罕见、极其困难、通常根本无法奏效的事情,也不需要你每天花八个小时全神贯注地埋头苦干。好吧,真正离谱、能够体现预期差异的是,以前我写软件时,如果它第一次尝试就能运行,我会感到震惊。Speaker 1: And you know, it could only be spent on like the most important scalable things in the world. And now that coding is solved, I think what we mean is that like you can use coding to do all these other things that we've not done before. But that's not to say that like that's not a lot of work still. Um, it's just like it's not this like incredibly rare difficult thing that mostly like just doesn't work and you have to spend like eight hours a day locked in to do. Well, what's really insane that shows the difference in expectation is when I used to write software, I would be shocked if it worked on the first try.

说话人 1:我当时就想,哇,等等,为什么这个能运行?你会预期自己得稍微撞一会儿墙,然后它才会正常工作。哪怕只是因为你漏了分号之类的。现在我的预期几乎反过来了:它不工作时,我会想,等等,什么?为什么?Claude 到底怎么了?这里发生了什么?通常我几乎会预期它能一次就运行成功,呃,差不多第一次就行。简直离谱,立刻就能搞定。对,对。我觉得人类真的很容易习惯于物质充裕,对吧?最近有人分享过一篇文章,大概是在讲参观一套现代公寓,谈论我们如今拥有的所有美好事物,而在过去,人们根本无法想象这些东西。Speaker 1: I was like, whoa, wait, why is this working? And you you expect to kind of bash your head against the wall a little bit and then it it works. even if it's just like you missed the semicolon or something like that. And now I almost have the flip expectation where when it doesn't work I'm like wait what why why did Claude what what happened here? Usually I expect it to work almost uh the opposite like on the first try. It's crazy immediately. Yeah. Yeah. I think humans get really used to abundance, right? Like there was this like um article someone shared recently about like going through a modern apartment and talking about all the like wonderful things that we have now that people could not have imagined before.

说比如一种可以按需播放、适合你心情的音乐的东西,你知道吧,就像以前你得雇一个音乐人,你知道,让他去创作那种令人难以置信的音乐,对吧?嗯,不过总的来说,我想现在靠制作音乐获得报酬的人可能比以往任何时候都多,对吧?比如,嗯,我觉得音乐触达的人也比以往任何时候都多,我觉得软件可能也会发生同样的事情,数学也会发生同样的事情,所有这些东西都会发生同样的事情。嗯,因为你知道,当你获得了充裕的供给时,人们就会想,太好了,我想要更多的充裕供给,我想要我的软件和其他一切东西,你知道,我想让我的音乐无处不在,你知道,所以,没错,没错。这个对话中还有一个可能说明人们仍然应该具备技术能力或学习如何编程的数据点,那就是我想我们在对话早些时候谈到了自动化知识型工作,而你提到那些具备技术能力的人Speaker 1: Like something that can play music on demand that's suited for your mood, you know, like before you'd have to like hire a musician, you know, to like go write like, you know, incredible music, right? Um but I'd say on the whole probably more people are getting paid to make music now than ever before, right? like um and I think that like music is reaching more people than ever before and I think probably the same thing will happen with software will happen with math will happen with all of these things um where you know when you get abundance people are like great like I want more abundance I want my software and everything you know like I want my music everywhere you know so yeah yeah one potential other data point from this conversation saying that maybe people should still be technical or learn how to code is I Think earlier in the conversation we talked about automating knowledge work and you mentioned that people who were technical

说话人 1:他们算是占了点先机,因为他们大概知道该如何协调 Claude 去做各种事情,比如调用 ffmpeg 来自动完成一些视频剪辑之类的。我觉得,不懂技术的人可能不会想到这一点。所以即使在模型能够完成很多工作的情况下,懂技术、了解计算机的运作方式,似乎仍然非常有价值。你知道,就像——可能最懂技术的 CEO 往往也是最优秀的 CEO,对吧?比如 Zuckerberg、El Yon,对吧?Speaker 1: had kind of a leg up because they could kind of understood how to coordinate claude to do a variety thing like you're calling ffmpeg to automate some video editing and like I don't think someone who is not technical would have that thought so it does seem like even in this case where models are doing a lot there's still so much value in being technical knowing how computers work. You know, in the same way that like look probably like the most technical CEOs are like the best CEOs are technical, right? Like Zuckerberg, El Yon, right?

说话者 1:但他们可能确实已经很长时间没有真正写过一行代码了,不过你知道,他们理解系统是如何运作的。他们理解,你知道,各种约束之类的事情,而这真的真的很重要。所以,嗯,你知道,即使所有这些工作都发生了变化,我认为具备技术能力仍然真的真的很重要。然后,最后一个问题是,如果你能回到刚入行的时候,带着现在所知道的一切给自己一些建议,你会说什么?它们有点像两匹狼之类的。Speaker 1: But like they probably haven't written like a line of code truly in a long time, but you know, they understand how systems work. They understand, you know, constraints and things like that and and that's really really important and so um you know, even if all that work has changed, I think like being technical is really really important. And then last question for you is if you could go back to when you just entered the industry and give yourself some advice knowing what you know now, what would you say? They're like kind of like two wolves sort of.

说话人 1:我觉得你必须相信自己,你知道吗?我认为这一点真的很重要,而且至少在我刚进入这个行业的时候,人们还不太会相信那些相对年轻的人。我觉得,这可能就是 Copinator 之类的项目存在的全部意义——尽早相信年轻人能够成就非常了不起的事情。所以我觉得,你知道,甚至回到我们刚才讨论实习生的那个话题,对吧?我认为,不要把自己看成是一个正在接受培训、准备去做某件事的人,而要把自己看成是一个能够立刻做出非凡成果的人,这一点真的非常重要,你知道吗?Speaker 1: I think like you have to believe in yourself, you know? I think like this is really important and I think that like at least when I joined in the industry, it was rarer to believe in people when they were kind of younger. Like I think that was like the whole point of why copinator or something was like believing in young people early on to do really great things. And so I think that like you know even going back to like the intern discussion we had earlier, right? Like I think that like thinking of yourself not as like someone who's like being trained to do something but someone who can do like something incredible right away I think is really important, you know?

说话人1:嗯,我想我希望自己当时做过更大、更大胆的事情,并把它们写下来、分享出去。我觉得有很多想法,当时我会想,哇,我觉得自己做出了原创性的工作,也许我真希望自己至少以某种形式分享过,哪怕不是那种能在互联网上一直留存下来的形式。你知道,这并不是我的目标,所以我希望自己当时能更大胆一些,去完成并分享其中的一些工作。但与此同时,你也确实能从别人身上学到很多,你明白我的意思吗?我觉得,嗯,人在年轻的时候往往会这样:要么你不够大胆,要么你没有充分学习;或者你太过大胆,却没有弄清楚别人之前做过什么,也没有弄明白为什么这行不通,对吧?这里面存在一种平衡,我觉得,呃,你……Speaker 1: And um I think I wish I had done bigger bolder things that I'd written and shared about. I think there were lots of ideas where I was like wow like I think I think I had like I thought I had done original work that I wish maybe I'd even shared in some form but maybe not like form that like survived the internet you know and it wasn't like a like goal of mine and so I wish I'd like sort of been bolder and like you know done and shared some of this work but at the same time you also there is a lot to learn from people you know what I mean and like I think that Um you like I think when you're young you're like you know you tend to fold fall follow either you're not bold enough or you're you're not like uh you don't like learn enough you know or like you're not like you don't like you're too bold and you don't like figure out what people have done before and figure out why this not working right um and there's this balance and I think uh you

说话人 1:每个人都有不同的失败模式,但我觉得,呃,我可能没有充分利用导师以及那些已经学到了很多东西的人。嗯,所以我想我可能因此不得不重新学习很多东西。嗯,因此可能不存在普适的好建议,但在你准备进入这个领域时,你知道,有些事情可以想一想。太棒了。嗯,非常感谢你抽出时间,Drake。我真的很感激。没事,当然。谢谢你,Ryan。聊得很愉快。嘿,感谢你观看这期播客。Speaker 1: everyone has different failure modes but I think like uh I think I probably didn't take enough advant advantage of like, you know, mentors and people who had learned a lot. Um, and I think I probably had to like relearn a bunch of things as a result. Um, so there's probably not universal good advice, but just things to think about as you're, you know, as you're entering. Awesome. Well, thanks so much for your time, Drake. I really appreciate it. Yeah, of course. Thanks, Ryan. It was fun. Hey, thank you for watching this podcast.

说话人1:如果你喜欢这个节目,也希望看到它不断发展壮大,请通过发表评论或点赞来支持我们。另外,如果你有什么想让我邀请参加节目的人选,也请留言推荐。像 Barbara Liskov、Mike Stonereaker、Mark Brooker,都是因为有人留言推荐,我才邀请他们参加节目的。换个话题,除了播客之外,我还在制作一款我希望现实中存在的人体工学键盘。这里可以看一下原型。这是一款分体式键盘,也就是分成两侧。这是装在外壳里的样子,不过,我们已经在 Kickstarter 上线了项目,并且上线八小时内就达成了目标。Speaker 1: If you liked it and you want to see the show grow, please support with a comment or a like. Also, if you have any recommendations for people you want me to bring on, please drop a comment. Guests like Barbara Liskov, Mike Stonereaker, Mark Brooker, these were all people that I brought on because someone left a comment. On another note, aside from the podcast, I'm working on building the ergonomic keyboard that I wish existed. Here's a glance at the prototype. It's a split keyboard, so there's two sides. This is in the case, but yeah, we launched on Kickstarter and we hit our goal within eight hours of launching.

说话人 1:如果你是抢先购买早期设备的用户之一,我真的非常感谢。嗯,我们现在正踏上漫长的工具开发之路,所以如果你仍然想买一台,我在 Kickstarter 上保留了延迟认购通道,你可以在那里购买。我会在简介中放一个链接。再次感谢你收看本期播客,我们下期再见。Speaker 1: I really appreciate it if you were one of the people who grabbed one of the early units. Um, we're now working on the long journey of building the tooling now and so if you still want to pick one up, I've left the late pledges open on Kickstarter, so you can grab one there. I'll put a link in the description. Thank you again for watching the podcast and I'll see you in the next

值得记下

harness 至关重要。
为了让模型完成更多事情,harness 也需要变得越来越复杂。
在某些场景下,只要把验证、技能和正确的数据源准备好,它就能承担软件工程工作。