Fable 探索指南:释放智能体潜能与重构开发雄心 AI Engineer 2026-07-06

释放克劳德:能力溢出与开发范式重构

在人工智能与软件工程的交汇点上,Anthropic 团队推出了其全新的模型品类 Fable。如果将以往的模型开发比作新手教程,那么 Fable 的发布则标志着“开放世界”的正式开启。然而,随之而来的是更广阔的探索空间与更复杂的认知挑战。要真正发挥新一代模型的潜力,开发者首先必须理解能力溢出(Capability Overhang:模型实际具备的潜在能力超出了其表面展现或设计初衷)。在传统的单轮对话模型中,诸如“哪些神奇宝贝的名字以 AW 结尾”这类跨模态与字符级逻辑问题往往难以被直接回答,因为模型无法在单次前向传播中穷尽所有关联。而在以 Claude Code 为代表的自主化智能体环境里,模型能够主动通过编写脚本并执行代码来过滤数据,从而突破自身限制。这种从“纯文本推理”到“工具赋能”的转变,揭示了模型能力提升的非线性特征。同时,随着 Claude Tag 的推出,智能体在多玩家协作模式下具备了自我唤醒(Reactive Wakeup:模型基于事件驱动主动恢复执行的机制)的主动工作能力,这为下一代智能体的开发范式奠定了基础。

Original English Source Hey everyone, I'm Tarik. I work at Anthropic on Claude Code. Before we get started, we have a tradition on Claude Code where we take a selfie before a talk. So, if you don't mind, if you strike a pose with me, I'll take a quick selfie at AI engineer. Okay, incredible. Well, uh yeah, to kick things off, like we said, Fable is back. Um we're rolling it out later today. Uh keep stay tuned for exact timeline. Me and Kat Woo and Simon Wilson will be doing a fireside chat at 12:30. We might have some updates for you then. Um but Fable is a model I'm just so so excited about. It's one of those Anthropic models where you just like you're just going to remember it, like Sonnet 3.5 new, Opus 4, Opus 4.5. It's a model that I just have a lot of like affection and excitement for. And the best way to describe Fable to me is like the the map is opening up, you know, like you were playing like an RPG and you've been on the tutorial. And now you get to the point where the like, you know, the open world starts, right? And there's so much that you can do and explore. Uh but there's also it's also a little bit intimidating and confusing, right? Cuz there's so much you can do. And so, what I wanted to do in this talk is give you guys a field guide to Fable, right? How do you work with this new class of models? So, I've got four parts to it. I've been working on this as a series of articles and blog post. Uh but, you know, when we announced Fable is coming out, I was like, "Okay, let me do uh all of this at once at the talk, uh you know, uh speed run." So, the four parts: unhobbling Claude, finding your unknowns, dealing with the grief, and being unreasonable. So, first, unhobbling Claude. Um I think something we say really often is that the models are grown, not designed, right? We don't wake up and be like, "We need 99% on SWE-bench," right? Like, the models are, you know, something we we grow carefully. We give it data and feedback and compute. Um but, ultimately, it's, you know, something that we it's a little bit organic, and we sort of figure out and learn with the model as we use it. And so, um that what that also means is that what contains them is us, right? The harness we put them in and the way we prompt them is basically like a function of our understanding of Claude, right? And by unhobbling it, I mean, how can we understand Claude better to unleash it? And we need to understand Fable more. So, I think one of my points is that, you know, uh we're still so early, and I think there's a lot more it understanding in Fable uh to unlock. And uh I I think I'll give you a quick example about how models get smarter, cuz it's a little bit unintuitive, right? Like, there I saw this viral tweet a couple weeks ago being like, you know, "Why can't LLMs say which Pokémon end in AW? There are a thousand Pokémon, right?" And turns out there are two who whose names end in AW, Croconaw and Drednaw, right? And it turns out if you ask like a normal chat model, it can't answer it. Which is kind of confusing because like, you know, it definitely knows all the names of the Pokémon, right? But if you ask Claude Code, it can, right? Cuz what it does is that it fetches every Pokémon and writes a script to filter for AW, right? And so, this is what I mean by like unhobbling Claude. We call this capability overhang, right? Claude gets smarter in spiky ways. So, it doesn't just remember every Pokémon and reason through it, but if you give it the code execution tool, it can find the two Pokémon that end with AW, right? And so, this is I think part of the challenge with Fable is figuring out this capability overhang. What is now possible? And I think this is like a discovery that I'm excited to go on with you. Uh to make this a little bit clearer, I'm going to talk about a few different examples of how models have progressed in the past. Um one of the big examples obviously is like chat, you know, the chat models were had to be given context, right? Like maybe you paste in your code base and maybe naively you might have thought like, you know, the way we solve coding is by the context just gets really large and I can just paste in my entire code base, you know, it'll be a 100 million context window. But it turns out that instead, if you give it arms, like you give it the bash tool and ways to work with the environment, it can build and search its own context. And that's sort of like the insight that led to Claude Code, right? And so, again, spiky, like a new like innovation kind of, right? In how we think about and work with the model. And then recently we we rolled out Claude Tag. Uh and what sort of unlocked Claude Tag is its ability to work proactively in multiplayer. Uh Claude Code, you know, is something that you have to prompt for it to do work, right? And uh this ability for Claude to wake itself up and do work is something that we think is unlocking the new wave of agents. But there's there's more here.

提示词演变与生物学视角下的交互重塑

随着模型的演化,其提示词工程与系统提示词(System Prompt)的配置机制发生了本质性的转变。在早期 3.5 Sonnet 阶段,提示词的最佳实践是“精简的系统提示、极少的工具以及大量的示例”。然而,在 Fable 等新一代模型中,开发者发现过多的具体示例反而会形成认知约束,因为模型的原生联想与推理能力已经超越了人类提供的静态范本。因此,现代的系统提示词趋向于“更小的提示词体积、更丰富的上下文注入、更少的行为约束”。在交互维度上,提问工具(Questioning Tool)经历了显著的迭代:

  • Opus 4 时代,模型勉强能够调用基础的多选对话;
  • 演进至 Opus 4.5 后,模型能够主动对开发者进行深度的规范采访(Interview);
  • 在 Fable 与 Opus 4.8 阶段,模型已经具备了生成包含嵌入式动态问题的高级 HTML 报告的能力。

这一连串的演进表明,与大语言模型的交互应当被视为一种经验性生物学而非确定性物理学,开发者需要通过实证观察去探寻其边界,而非仅依靠生硬的代码约束。

Original English Source So, for example, uh, we recently removed 80% of the system prompt for Claude code, right? And this is one of the ways in which models, you know, and what they need uh, changes over time. So, originally, like, you know, maybe back in 3 sign of 3.5 new, the best practices for a system prompt was a small system prompt, few tools, and lots of examples, right? And then as the models get smarter, you can give it more information and more instructions, and they start following them. And so, it's a larger system prompt with lots of examples and many tools, right? But most recently, we found this new class of models want fewer what want a smaller system prompt. The examples tend to constrain it cuz it's actually more imaginative than the examples we give it. And so, uh, and we tried to give it context and not just constraints. We're really trying to avoid being like, "Do not do this." Um, which was really necessary for the previous models. Um, and so, this is like, uh, a way that the system prompt is changing and and probably will continue to change. Uh, another feature I really like is the ask you a question tool. This is something I worked on when I first got to Claude code. And and it's uh, when Claude, you know, is is planning or wants to ask you a question, it can show you a multiple choice dialogue. Uh, for Opus 4, it could barely call it. I had to like really tweak the tool to make sure that it was uh, that it would work, right? And then, sometime at Opus 4.5, I was like, well, what if I asked it to like, you know, ask me 40 questions about the spec. It could start interviewing me, right? And so, its ability to ask questions jumped, right? And then, most recently with Opus 4.8 and Fable, I can now build a whole HTML report with the questions embedded inside of them. And uh it's just like a whole new way of interacting with uh with Claude, right? And and so this progression of like how Claude can get information from you has also changed. Um speaking of which, uh Markdown and HTML is something I've also talked a lot about. Um you know, it turned Initially, Markdown was a a good output for the model. Um you know, it could show a little bit of rich information. And then, you know, with plan mode, it started to be for you. Like you could understand what Claude was about to do. Um and now, you know, Claude can build you these in-depth HTML reports, right? So again, a way of this the model is getting smarter in a spiky way. I really like to emphasize that this is closer to a biology than a physics, right? It's still very empirical, very organic. Um we don't know all the rules, but there is some sort of science behind it, right? Like there is an intuition to build as well. And so I really, you know, encourage you to treat Fable like that. Uh one of my favorite papers uh that at Anthropic that we've written is on the biology of a large language model. Um all of our research papers are meant to be read by, you know, people with various degrees of technical expertise, but this is one of my favorite. So uh if you're looking to learn a little bit more, suggest you check it out.

地图与疆域:探寻软件开发中的“未知”

在软件开发中,我们必须清醒地认识到地图不等于疆域(The Map is not the Territory:心中构想的设计图、Prompt 或 Spec 只是简化版的“地图”,而实际的复杂代码库与现实世界的边界条件才是真实的“疆域”)。当智能体在疆域中遇到地图未标记的冲突时,便会产生未知偏差(Unknowns)。为了使 Fable 能够有效导航而不迷失,开发者需要建立一套系统化的“知与未知”矩阵:

  • 已知之已知(Known Knowns):通常是我们在 Prompt 中明确写出的显性需求;
  • 已知之未知(Known Unknowns):我们明知尚未解决,但已有所预期的潜在问题;
  • 未知之已知(Unknown Knowns):那些对我们而言习以为常以至于忽略写入文档,但一旦看到便能立刻做出正误评判的直觉设计;
  • 未知之未知(Unknown Unknowns):我们完全没有考虑到且根本未曾意识到的盲区。

为了捕捉这些盲区,开发者可以利用 Fable 执行盲区扫描(Blind Spot Pass:通过静态扫描或历史关联分析挖掘未知隐患的行为),或者让模型主动进行架构访谈、生成多方案比对的原型,并利用执行日志和自我测试来保证人类始终保持在决策环路中。

Original English Source But so uh yeah, we talked about unhobbling Claude. But it turns out when you're working with Fable, you also need to unhobble yourself, right? And so one of the things that I think a lot about is that the map is not the territory, right? When I'm working on a coding problem, the plan and prompt and spec that I have in my mind is the map, right? But the territory is the actual code base, the real world, the constraints that Claude needs to navigate, right? And whenever Claude runs into something in the territory that's not in the map, I call that an unknown, right? Claude has to figure out what to do about it. It's a decision point that I haven't specified. And Fable is one of the first models where I felt that like I really have to figure out my unknowns because if not, it's going to traverse such a large area that like it's going to run into a lot of them. So, how do you figure out your unknowns? Um Yeah, it I Fable's bottleneck my ability by my ability to match the map and the territory to find my unknowns. So, a few um few ways to think about this. I like to think of it in a a matrix. So, like for any problem, I have a bunch of known knowns. This is usually like what I write in my prompt. What do I want, right? Then I have known unknowns. Things that like I know I haven't don't really know yet, but I just haven't figured out yet. I can um Uh yeah. Then I've got unknown knowns. Like what's so obvious that I just wouldn't write it down, you know, but I I'd know it when I see it, right? And then finally unknowns unknowns. What haven't I considered at all? What do I not know, right? Like what is something that if I knew could change how I prompt Claude? And and luckily, you can use Claude, you can use Fable to find your unknowns. So, I'm going to go over a few examples of how I do that with Fable. Um The first is I like to do what I call a blind spot pass. So, I like to say something like, "Hey, I'm working on a new auth provider that I know nothing about uh like in this code base. Can you do a blind spot pass to help me figure out my relevant unknown unknowns and help me prompt better, right?" And so, this like might have Claude go through the the auth module and figure out like, "Oh, you know, this is kind of like a hairy little uh dead end that comes up a lot." Maybe search in my Git diff or Slack. I might tell it where there's context, right? So, that I can learn about, you know, all the gotchas. And and you can use this very broadly, right? You can use it to teach you about new fields. I I recently did this for color grading when doing video editing. Um I think this is really powerful and and Sable is incredible at it. Um in many ways, the model knows more about you know, almost everything than I do. I just need to get it out of it. Um then I like to do some brainstorms and prototypes. Uh this helps me figure out my unknown knowns, right? Things like especially for design, it for me it's like know it when you see it, right? So, I might ask it to uh create a dashboard. Um and I tell it I have no visual taste. Uh make me an HTML page with four widely different design decisions so I can react to them, right? And then you know, you tweak this as you want, but like the idea is to sort of get an idea of like what are the things that you uh you know, you can't describe in words, right? And uh like work with the model to help figure that out. Uh then then interviews. So, once I have an idea of like, you know, this is what I want to do, uh there's probably still a lot of like uh unknowns here, right? Where I might not have considered something, I might not have specified it. And so, I'll ask Claude to interview me, right? And I'll give it a little bit more context. In any of these questions, like giving it a little bit more context about you and the work and the stage you're at, like, "Hey, yeah, prioritize questions that would change the architecture." is extremely helpful. Uh then references. One of the best ways to give Claude a map is to give it another map, right? So, instead of me writing out the spec, uh I can just say, "Hey, here's some code that represents what I want to be done, right? It could be in a different uh system or language. Uh but just read this code, understand it, and then use that to start your work, right?" And uh again, this can be in a lot of different ways. If I'm making a a React component, I might have an HTML mock-up that is my map, right? That I pass in as a reference. I think this is a really, really powerful. Fable is really incredible at it. Uh something else I've like really appreciated is implementation notes. So, if uh while you're running Fable uh and it runs into an unknown, ask it to log it, right? So that um you uh you can see where the deviations happened and then you can sort of figure out why as well, you know? It will usually give you some context about what happened. And then finally, I'd like to get a Fable to quiz me about what happened uh just to make sure I understand what I'm doing and I can represent this work, you know, when I'm creating a PR or merging it. Um this is a really great way of like making sure that you're like really in the loop with Fable. And I think that's like one of the most important parts of Fable is like staying in the loop and making sure that you uh you get what you want.

应对失落感:在无限带宽中打破传统权衡

当我们转向智能体辅助开发的全新范式时,许多深爱手工编写代码的开发者都会经历一种复杂的双重体验:一方面是效率的指数级提升,另一方面则是由于某种“掌控感”丧失所带来的心理失落感。然而,软件开发的核心本质是创造价值,而不是机械的编写过程。面对智能体提供的几乎无限的开发带宽,我们必须打破过去在“速度、质量、成本”之间做出的传统折中。Anthropic 内部提倡一种不合理准则(Being Unreasonable:不默认接受任何折中,而是通过极致的效能同时追求速度与质量的思维方式),即拒绝在优先级之间妥协。通过强迫现实展现其真正的物理瓶颈,而不是预先在思维中妥协,开发者能利用 Fable 等工具以极快的速度实现全方位突破。在这种全新的工程时代,真正的挑战不再是如何完成代码,而是如何在被极度缩短的迭代周期里,将我们自身的雄心壮志转化为真实世界里的颠覆性价值。

Original English Source So, um those are some of my tips for working with Fable. Uh I also want to say that the first time I used a Mithril class model, uh used Fable, I felt both a huge sense of like gain, but also a sense of loss. And I I wanted to talk a little bit about that, you know? Um when I think about coding before LLMs, it feels like a foreign country, you know? Like I used to run a YC startup about 30 people and we were just constantly forced into trade-offs because of how hard code was, right? Like we could make the the app fast or we could try prototyping new feature and and this might take a month or this would take 2 months. And so we had to choose. It was just really, really hard. Um and now I went back to that code base a couple weeks ago and I thought about some of the things that I wanted to do. And uh it was just way easier. It was like the things that would have taken me weeks, I could do in hours, you know? And uh at some point it's like, yeah, like how can you not laugh? Also, how can you not cry, all honestly? Like, it's like one of these things where I really, really loved programming and writing code by hand. I love the feeling of like seeing the code base in my mind and like rotating it. But I also remember just, you know, like staying up late nights trying to debug, working on things for weeks without working, right? I just remember swimming in failure. I just remember that like the most of the projects I've ever worked on have failed. Most startups go bankrupt, you know? I think just overall programming and coding is extremely hard. And like as much as I enjoyed those highs, I I cannot go back, right? And the way my reflection here is like the only way out is through, right? There's still a lot to learn with the gentle coding. There's a lot to learn with Fable. But I think if we try really hard and if we like stay in the loop, we on hobble it, we can get there, you know? And we can come out on the other side with just so much more. And so, the last bit I wanted to talk about is is the so much more part, right? I call this being unreasonable. One of my favorite parts of Anthropic is that we believe that tradeoffs are not real. Um, like I think that very often, I like in my previous company, I was very used to being reasonable. So I'd write down this list of priorities and I'd be like, well, I guess we can prioritize this against this, right? And like, you know, that makes sense. So we'll this will be our priority this quarter. But what if you just did all of it, you know? What if you forced reality to show you the tradeoff, right? Um, this is one thing I really valued out of our culture in Anthropic. And that my reflection going forward is that I'm going to be a lot less reasonable. Um, I think one of this like the math of Claude and Fable really changes how you think about tradeoffs. And there are so many tradeoffs that you make implicitly in your head, right? Like good, fast, cheap. Now it's pick three, right? Um I think that like the best way to like do more ambitious work is to uh like reframe and make big make ourselves more ambitious. Because I think the only way to prove that agents work is to do the best work of our lives faster than ever before. Um you know, for example, I made this deck last night in about 4 hours with Fable. I feel like it's a it's a deck I really like and I I really enjoyed it, but I also um you know, I did it really fast. Uh and I think that if you're here, you know, at AI engineer, the world is kind of looking at you to prove that AI works, right? That it's not just like a fad or something, but that it can make us more productive and also save us time. And and that's my resolution for this year is to work be more productive, but work less and spend more time with people I really care about. Uh I think it's also worth calling out that building is easier, but generating value is still hard. And I think this is something that we run into, you know, as AI engineers sometimes where we think so much about the process of building and our our setups. Um but the the point is to generate value, right? And uh there it takes a lot of swings, it takes a lot of tries to find the valuable stuff. Uh but that really is the goal and that's like, you know, again, what the world is looking to us to prove that AI can really transform it. So, to to end, I just want to say like go explore, make it real, and uh yeah, be less reasonable. Thank you.
📌 文中提及的人物和组织

公司/组织: Anthropic

产品/模型: Claude Code, Fable, Claude Tag

关键字: capability-overhang agentic-workflow prompt-engineering human-in-the-loop