Sonnet 4.5最显著的变化之一是它主动尝试通过文档和实验来建立对问题空间的知识。
为自己写笔记
模型在没有提示的情况下将文件系统视为自己的记忆。它经常编写(或想要编写)摘要和笔记(例如CHANGELOG.md、SUMMARY.md,但不是CLAUDE.md或AGENTS.md),既为用户也为自己的未来参考。这表明模型被训练为外部化状态,而不是纯粹依赖上下文。当模型更接近其上下文窗口末尾时,这种行为更加明显。
当我们看到这一点时,我们对可能移除一些我们自己的内存管理并让模型处理它的可能性感兴趣。但在实践中,我们发现这些摘要不够全面。例如,它有时会转述任务,省略重要细节。当我们依赖模型自己的笔记而没有我们的压缩和摘要系统时,我们看到了性能下降和特定知识的空白:模型不知道它不知道什么(或者它将来可能需要知道什么)。很可能这些笔记可以通过提示来改进。你只是不应该认为你可以免费获得一个完美的系统。
在某些情况下,有些幽默的是,我们看到智能体花费更多令牌写摘要而不是实际解决问题。我们还注意到模型的努力程度不均匀:模型倾向于在上下文窗口越短时生成更多的摘要令牌。
在我们的测试中,我们发现这种行为在某些情况下有用,但当我们明确指示智能体使用其先前生成的状态时,效果不如我们现有的内存系统。
这是一个有趣的范式和模型发展的新轴,特别是对于更简单的智能体架构或围绕子智能体委托构建的系统。这显然是Anthropic的一个新方向:可能指向一个未来,模型更加上下文感知,这成为多个智能体相互通信的方式。强化学习还没有完全发展到可靠的程度,但我们将跟踪它的发展。
测试以创建反馈循环
Sonnet 4.5在编写和执行短脚本和测试以创建反馈循环方面明显更加主动,并且在何时使用这种能力方面表现出良好的判断力。这通常提高了长时间运行任务的可靠性,尽管我们偶尔看到它在调试时尝试过于创造性的变通方法。例如,在编辑React应用时,我们注意到模型获取页面的HTML以便在过程中检查自己的工作,以确保行为正确。在另一个案例中,当试图修复一个与两个本地服务器试图在同一端口上运行相关的看似无害的错误时,模型最终使用这种行为创建了一个过于复杂的自定义脚本,而不是解决根本原因问题(终止进程)。