如何让 Claude 代码从自身错误中改进

2026年03月27日 由 alex 发表 1545 0

Claude 代码是一个极其高效的编码代理,你可以用它在电脑上完成大多数认知任务。然而,持续学习仍然是我们努力教导代理的一项任务。此外,持续学习是人类非常擅长的任务。


Gemini-Generated-Image-2-1024x559(1)


在本文中,我将讨论如何通过编码代理实现类似的持续学习。代理的持续学习仍是一个未解的挑战,但我会讲述我如何让编码代理从错误中学习并随着时间不断改进。此外,本文内容将使你的代理在你特别希望他们擅长的任务上表现更出色,无论是做股东演示、修复你特定代码库中的漏洞,还是完全不同的事情。


为什么我们需要持续学习

我们需要持续学习,因为我们总想在所做的任务中变得更好。想象一下,如果你做了多年程序员,却仍然犯一些基本错误,比如在 Python 中忘记在 if 语句后面加冒号。


显然,持续犯这种错误非常无效,这也是我们想避免的原因。我们想在任务中变得更好,变得更有效率,从而能够解决更难的问题。


在某个任务上工作更长时间,有助于你建立对任务的直觉,并帮助你解决该领域的更高级问题


你可以想象一个新员工是个新手编码代理。显然,他们一开始会犯一些错误,因为他们不了解你的偏好或代码库。然而,当你告诉新员工如何做某件事时,你期望他们随着时间学会这些。


如果你不采取具体措施让编码代理记住这些内容,他们很可能会忘记,这就是为什么你需要采取积极措施,确保编码代理持续学习。


如何实现持续学习

在本节中,我将介绍一些我每天用来实现持续学习的具体技巧。这些技术来自于与同领域其他人士交流、OpenClaw仓库的启发以及我自己的实验。


泛化知识命令

让Claude Code从错误中学习最简单且有效的方法是使用通用知识命令。这是一个简单的命令(也称为技能,简称包含提示的markdown文件),用于从给定线程中学习。


我通常在完成 Claude Code 的对话时执行这个命令,执行单一任务。例如,如果我有:


  • 完成了一个功能实现
  • 已解决一个bug。
  • 做了个演讲
  • 完成了生产日志的核查


我只需用以下方式执行命令:


/generalize-knowledge


这之所以有效,是因为我保存了一个通用知识命令,这个提示词和下面类似:


Generalize all the knowledge from this thread into claude.md and agents.md. 

Write down any information that would be useful for a future agent working
in this repository. Also note down any issues you encountered, and how you 
resolved them.
Write the tasks you performed to the done-tasks.md file with time and date, 
and a summary of the tasks.


本质上,我告诉模型从错误中学习,并记录下任何对未来互动有用的内容。


我还让代理写下它完成的任务,这样我就有一个包含所有完成任务的单一文件。这不是绝对必要,但我觉得有这种总结很方便。


还要注意,这假设你总是在某个 Claude Code 线程中执行单一任务,这绝对应该这样做以获得最佳效果。这同样适用于所有可用的编码代理,因为单一线程的单一任务能帮助代理保持专注,避免杂音填满上下文。


每日反思

为了在上一部分的基础上,你还可以设置每日反思设置。比如说,如果你一天中有多个代理在运行,你可以设置一个cron作业(一个在特定间隔执行的命令),用来查看你编码代理过去24小时内的所有日志,并记录下任何有用的信息。这基于通用知识命令,但作用在更高层次,因为查看日志的代理不仅能访问单个线程,还能访问你正在处理的所有内容。


这很有用,因为不同的视角会导致不同的笔记被记录下来,这将帮助你和你的编码代理提高效率。


技能

技能是我想介绍的另一个概念,这有助于持续学习,也帮助Claude Code从错误中学习。我之前讲过的部分,大多是写给通用的CLAUDE。MD,特工们。医学博士,WARP。多元文件。而技能则是更具体的文件,告诉代理如何执行特定任务。


这有点类似于“generalize knowledge”命令,但有些不同,因为通用文件会标注通用错误和解决方案,而技能则涵盖更具体的主题。一些技能示例包括:


  • 代理人在整理邮件时应该如何处理
  • 代理人在整理日历时应如何处理
  • 如何使用特定的 API 或包。这对于那些规模较小且未知的API和包尤为重要,这些API和包在LLM的预训练中未被充分涵盖
  • 如何解决特定仓库中的漏洞


正如你所见,技能更为具体。因此,每当你开始使用新的包、API或新的任务时,我建议你创建一个相应的技能。该技能应涵盖所有在使用API或完成任务时需要了解的有用知识。包括:


  • 如何解读给定主题内提供的任务
  • 如何解决任务
  • 之前犯过的错误,以及它们是如何被解决的


存储的信息越多越好。如果你开始做相关任务,你的编码代理通常会动态加载这项技能。


例如,如果你让客服帮你整理邮件,它会动态加载邮件分类技能,从而知道如何操作。这有助于你的编码代理避免之前在筛选邮件时犯的错误。


结论

在本文中,我讲述了如何让Claude Code和其他编码代理从错误中学习。我讨论了三种主要技巧,包括制作通用知识命令、每天阅读代理日志,以及在执行任务时主动运用技能。我相信从错误中学习对人类和机器都非常重要。如果你能有效地让你的编码代理从错误中学习,你会更高效地应用这些错误,从而相比那些不从错误中学习的代理获得显著优势。

文章来源:https://towardsdatascience.com/how-to-make-claude-code-improve-from-its-mistakes/
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消