Transcript

00:00:00AI代理的主要问题是上下文窗口有限,这限制了它们对之前操作的记忆。
00:00:06当我们给Claude代码一个更大的任务时,它在尝试实现一个功能时会多次压缩上下文,从而忘记了被要求实现的主要任务,这使得它在长时间运行的任务中效率较低。
00:00:17Anthropic刚刚发布了一个解决方案,该方案基于真实团队在实际工程环境中的工作方式。
00:00:22他们找出了它在长时间任务中失败的两个主要原因。
00:00:26我们许多人都曾尝试一次性完成整个应用程序或某些大型功能,但这样做会导致模型耗尽其上下文。
00:00:34经过反复压缩后,上下文窗口会刷新,但功能只实现了一半,并且没有关于功能进度的记忆,这导致了不完整的实现。
00:00:43第二个问题是,由于测试能力不足,Claude会将未经测试的功能标记为已完成。
00:00:49它会假设功能已完成,即使它实际上无法正常工作。
00:00:53他们的解决方案是让初始化代理和编码代理协同工作,灵感来源于真实软件团队的工作方式。
00:00:59这个工作流程最初是为自己构建的代理设计的,但我意识到它也适用于Claude代码实例。
00:01:06第一个代理专注于正确初始化你的编码代理,这里你需要耐心,因为它需要一点时间。
00:01:12我有一个空的Next.js项目,我想构建一个在线Python编译器。
00:01:16开始之前,使用init命令创建一个Claude.md文件。
00:01:20这个文件是你的代码库文档,位于项目根目录,包含概述和所有重要信息。
00:01:27接下来,在项目根目录生成功能列表JSON文件。
00:01:30它应该列出所有功能及其相应的测试步骤,并且所有测试最初都标记为失败,这样Claude就会被迫去测试它们。
00:01:38我们使用JSON而不是Markdown,因为JSON文件在上下文中更容易管理。
00:01:43由于Claude只能测试代码,无法测试我们在浏览器上看到的界面,所以我连接了Puppeteer进行浏览器测试。
00:01:49之后,创建一个初始化脚本来指导启动开发服务器,以及一个进度跟踪文件,以便系统能够跟踪项目完成状态。
00:01:57根据指导,Claude需要在每次运行后更新progress.md,并在实现每个功能后进行测试。
00:02:04最重要的实践是提交到Git。
00:02:07我们低估了在可合并状态下提交的重要性。
00:02:10带有清晰日志的Git提交会显示已完成的内容,并且如果实现失败,你可以回滚。
00:02:15最后,Claude不应修改功能列表,除了将功能标记为已实现。
00:02:20环境准备就绪后,我们进入编码部分。
00:02:23想法是根据功能JSON文件,逐一实现每个功能。
00:02:27Claude还在每个测试功能后创建了描述性的提交消息,并在需要时启动了浏览器。
00:02:33一旦它验证应用程序正常工作,它就会将JSON字段从false更新为true,并更新progress.md文件,记录到目前为止已完成的内容。
00:02:42最后,它提交了更改并验证提交是否成功。
00:02:45这种增量方法的优点是,即使会话终止,你也可以从上次中断的地方精确地恢复。
00:02:51所有内容都在Git日志中跟踪,所以你不必担心破坏代码。
00:02:55Claude可以从Git日志和进度文件理解项目,而不是从代码本身,因此你可以轻松恢复会话。
00:03:02你的下一个提示就是简单地实现下一个标记为“未完成”的功能。
00:03:06这种方法还减少了Claude在没有充分测试的情况下将功能标记为已完成的倾向。
00:03:11每次迭代都确保应用程序通过真实测试进行端到端构建,有助于发现仅从代码中不明显的错误。
00:03:19我们重复这个循环,直到所有功能都标记为true。
00:03:22你可能会认为这与BMAD方法类似。
00:03:24它有相似之处,但我认为Claude的工作流程在某些方面更好。
00:03:28它更容易,因为你不需要单独调用代理,而且上下文利用率也更好。
00:03:33在实现了这么多功能后,它只使用了84%的上下文,而BMAD由于其生成的大量“故事”,可能已经压缩了两次。
00:03:42尽管如此,BMAD仍然是一个开箱即用的完整系统,而这仍然是一个需要实现的想法。
00:03:48但BMAD可以借鉴其中的一些东西,比如Git系统。
00:03:51在教会数百万人如何使用AI进行构建后,我们开始自己实施这些工作流程。
00:03:57我们发现我们可以比以往任何时候都更快地构建出更好的产品。
00:04:00无论是应用程序还是网站,我们都能帮助你将想法变为现实。
00:04:04也许你看了我们的视频后会想:“我有一个很棒的想法,但没有技术团队来构建它。” 这正是我们能提供帮助的地方。
00:04:10把我们看作你的技术副驾驶。
00:04:12我们将教给数百万人的相同工作流程直接应用于你的项目,将概念转化为真实可行的解决方案,而无需招聘或管理开发团队的烦恼。
00:04:22准备好加速将你的想法变为现实了吗?
00:04:25请通过hello@autometer.dev联系我们。本视频到此结束。
00:04:29如果你想支持本频道,帮助我们继续制作此类视频,你可以使用下方的“超级感谢”按钮。
00:04:36一如既往,感谢你的观看,我们下期再见。

Key Takeaway

Anthropic推出了一种受真实软件团队启发的新代码范式,通过结构化初始化、增量开发和强制测试与Git提交,有效解决了AI代理在长时间编码任务中上下文受限和测试不足的问题,显著提升了开发效率和项目可恢复性。

Highlights

AI代理在长时间编码任务中面临上下文窗口有限和测试能力不足两大核心问题。

Anthropic推出了一种受真实软件团队工作方式启发的“代码新范式”,通过初始化代理和编码代理协同工作。

该解决方案要求创建结构化的项目文档(Claude.md)、功能列表(features.json)和进度跟踪文件。

强制使用Git提交和集成Puppeteer进行浏览器测试是确保代码质量和项目可恢复性的关键实践。

采用增量开发方法,AI代理逐一实现、测试并提交功能,确保每次迭代都通过真实测试。

与BMAD方法相比,Anthropic的新范式在上下文利用率和易用性方面表现出优势。

Autometer.dev利用这些AI工作流程帮助客户将想法转化为实际可行的产品,充当技术副驾驶。

Timeline

AI代理面临的挑战

本节首先指出了AI代理在执行大型任务时面临的主要问题,即有限的上下文窗口导致它们在多次压缩上下文后忘记主要任务。这使得AI代理在长时间运行的任务中效率低下,常常导致功能实现不完整。第二个问题是测试能力不足,Claude会将未经测试的功能标记为已完成,即使这些功能实际上无法正常工作。这些挑战为Anthropic即将提出的解决方案奠定了基础,强调了现有AI代理在实际工程环境中的痛点。

Anthropic的解决方案与环境准备

Anthropic的解决方案灵感来源于真实软件团队的工作方式,通过让初始化代理和编码代理协同工作。环境准备包括创建`Claude.md`文件作为代码库文档,其中包含项目概述和重要信息。接着,生成一个JSON格式的功能列表文件,列出所有功能及其测试步骤,并初始标记为失败以强制Claude进行测试。此外,还需连接Puppeteer进行浏览器测试,创建启动开发服务器的初始化脚本,以及一个用于跟踪项目完成状态的`progress.md`文件。最重要的是,强调了在每次运行后更新`progress.md`并在实现功能后进行测试,以及提交到Git的重要性,以便跟踪进度和回滚。

编码流程与增量开发方法

本节详细描述了编码代理如何根据功能JSON文件逐一实现每个功能。Claude在每个测试功能后都会创建描述性的提交消息,并在需要时启动浏览器进行验证。一旦应用程序通过验证,它会将JSON字段从false更新为true,并更新`progress.md`文件以记录已完成的内容。最后,它会提交更改并验证提交是否成功。这种增量方法的优点在于,即使会话终止,也能从上次中断的地方精确恢复,所有内容都在Git日志中跟踪,大大提高了项目可恢复性和代码稳定性。

与BMAD的比较及优势

视频将Anthropic的新范式与BMAD方法进行了比较,指出其在易用性和上下文利用率方面的优势。尽管BMAD是一个开箱即用的完整系统,而Anthropic的方法仍是一个需要实现的理念,但Anthropic的工作流程在上下文管理上表现更好。例如,在实现了多个功能后,它只使用了84%的上下文,而BMAD可能已经压缩了两次。这表明Anthropic的方法在长期任务中能更有效地利用资源,并且BMAD也可以借鉴其中的一些优点,比如Git系统,以提升其自身的效率和可恢复性。

Autometer.dev的服务与展望

视频的最后部分介绍了Autometer.dev提供的服务,即利用这些AI工作流程帮助客户将想法变为现实。他们强调自己是客户的技术副驾驶,能够将概念转化为可行的解决方案,而无需客户招聘或管理开发团队的烦恼。这部分旨在推广其咨询和开发服务,并邀请潜在客户通过hello@autometer.dev联系他们。最后,视频感谢观众的观看,并鼓励通过“超级感谢”按钮支持频道,以帮助他们继续制作此类视频。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video