AI编程上下文:优化的4个方法

在本文中,我将讨论我用来改善AI智能体上下文的具体技巧。

AI编程上下文:优化的4个方法
AI编程/Vibe Coding 遇到问题需要帮助的,联系微信 ezpoda,免费咨询。

你的AI编程智能体的上下文对其性能至关重要。它很可能是决定你能用编程智能体执行多少任务以及成功率的最重要因素之一。

在本文中,我将讨论我用来改善AI智能体上下文的具体技巧。我会具体解释我是如何做的,以及为什么这样做。理解为什么使用这些技巧很重要,这样你将来就可以开始开发自己的技巧,真正优化你的智能体编程。

无

这张信息图突出了本文将介绍的主要技巧,你可以使用这些技巧让你的编程智能体更高效。首先,我将讨论你应该如何始终更新AGENTS.md,其中包含跨线程相关的上下文。此外,我将讨论如何提供文档链接并提供IaC堆栈作为上下文。最后,我还将介绍为什么在新上下文工作时应该始终启动新线程。

1、为什么要优化智能体上下文

你提供给编程智能体的上下文是完成一项任务所需的所有信息。因此,如果你想让你的编程智能体工作良好,正确管理你的上下文是非常重要的。

如果你每天花很多时间编程,将上下文提高几个百分点将对你的效率产生巨大影响。因此,我花费大量时间,不断尝试用我的编程智能体优化我的编程。

我在下一节将介绍的四种技巧是我测试各种不同技巧和方法的结果。在本文中,我将只介绍四种最重要的技巧以及它们为什么如此有效。将来,我可能也会介绍一些失败的技巧并反思它们为什么不起作用。

2、4种具体技巧

在本节中,我将介绍四种我用来优化编程智能体上下文的技巧。这些技巧我按任意顺序编写,我认为它们对我尽可能成为一名高效的工程师都很重要。

2.1 始终更新AGENTS.md

我使用的最重要的技巧可能是不断更新AGENTS.md文件。LLM的持续学习仍然是一个未解决的问题,因此我们需要提出自己的解决方案来让编程智能体记住我们的偏好。

我为我的编程智能体编写了一个规则文件,其中规定了我的一些偏好:

  • 如果使用Python,始终编写Python 3.13语法
  • 从不使用Any类型
  • 始终为函数使用类型和文档字符串

这些是我在所有接触过的代码库中都有的偏好,因此我希望我的智能体始终遵循这些偏好。我建议花时间反思你自己的编码规则并将其指定给你的智能体。

此外,每当我的编程智能体犯错时,我会帮助它纠正错误并告诉智能体在AGENTS.md中记住这个修复。这确保智能体将来避免这个错误,只是让智能体更快更高效。

如果你持续这样做,随着时间的推移,你会注意到智能体在显著改善,更擅长执行你要求它执行的任务。这可能是:

  • 实现新功能
  • 修复错误
  • 检查生产日志

这非常有效,因为你正在向编程智能体提供你拥有但从未写下的必要上下文。通过在AGENTS.md中告知编程智能体,你为模型提供了解决问题的关键上下文。

请注意,你可以使用任何你喜欢的Markdown文件。Claude Code使用CLAUDE.md,Warp使用WARP.md,Cursor使用.cursorrules。但是,我发现大多数编程智能体总是读取AGENTS.md,这使它成为存储智能体记忆的好文件名。

2.2 提供文档链接

另一个技巧是向模型提供相关的文档链接,或明确告诉模型通过Web搜索在线查找文档。

我有时发现我的编程智能体使用过时的语法,例如在与OpenAI API交互时。在这些情况下,我会向模型提供最新OpenAI文档的链接,并告诉它基于这个文档编写代码。

编码智能体使用过时代码的问题通常是因为LLM有一个截止日期,这个日期必然必须在模型完成训练之前。任何给定模型的截止日期可能是一年前,在此期间很多API文档已经更改。因此,通过向智能体提供这些文档的链接来确保模型使用最新可用的文档是非常重要的。

编码智能体经常因为模型知识截止日期而使用过时的代码。解决这个问题的办法是向智能体提供最新的API文档

2.3 提供IaC堆栈作为上下文

我利用的另一个技巧是向我的编程智能体提供关于我的基础设施即代码(IaC)栈的信息作为上下文。在使用智能体检查生产日志时(你应该这样做),这非常有用。

在我注意到我的智能体花费大量时间查找信息(例如我的数据库表名)后,我开始使用这个技巧。例如,如果智能体想从表中查找信息,它首先必须列出所有表,猜测哪个表是相关的,然后尝试。如果失败,它必须尝试不同的表。

这需要花费大量时间和令牌,让你在效率和金钱上都付出代价,因此这是你需要避免的。

为了向我的智能体提供所有IaC上下文,我让智能体浏览所有相关的IaC仓库并创建一个包含所有相关上下文的Markdown文件,例如我所有的数据库表名。然后我在相关时向我的编程智能体提供这个文件作为上下文。

2.4 在新上下文时开启新线程

我利用的另一个简单技巧是在处理新上下文时启动新线程。例如,如果我刚刚实现了一个新功能,现在想修复一个错误,我几乎总是在Cursor中启动一个新线程。

原因是,在实现新功能时,模型存储了大量与修复错误完全无关的上下文。这不仅填满了模型上下文,还可能充当噪声,分散模型对更相关信息的注意力。

因此,只要可以,你应该确保在更改上下文时启动新线程。这可能是在你实现了一个新功能并想修复一个错误之后。或者在你修复了一个错误并想用你的智能体检查生产日志之后。

这很有效,因为应该跨线程存储的重要上下文存储在AGENTS.md中,正如我在前面一节中讨论的那样。

3、结束语

在本文中,我介绍了四种我用来优化编程智能体上下文的具体技巧。利用这些技巧让我成为一个显著更高效的工程师,因为我的编程智能体可以更高效地工作。我建议你自己尝试这些技巧,看看它们是否适合你。此外,我建议你自己尝试新的技巧和方法,这可以让你更有效。每当你注意到你的编程智能体无法做某事时,你应该立即开始构思和思考如何让它们能够执行这些任务。


原文链接: How to Optimize Your AI Coding Agent Context

汇智网翻译整理,转载请标明出处