超越grep:支持上下文丰富的AI编码工具的必要性
Agentic Development Augment Code的Vinay Perneti讨论模型、工具和上下文。Augment Code的工程副总裁Vinay Perneti在演示中发言。图片来源:Augment Code。有很多AI编码应用程序,尽管大型语言模型及其所推动的代理能力令人印象深刻,但最近在AI辅助开发方面的许多进展都发生在管理这些模型的软件上,而不仅仅是模型本身。今年夏天,我与Claude Code的产品负责人Anthropic的Cat Wu讨论了该公司的软件构建方法。在我们的对话中,Wu多次回到同一个观点:Anthropic的模型(以及直接竞争对手的模型)正在迅速改进,因此提前过多规划或围绕它们构建有偏见或限制性功能没有多大意义。相反,Claude Code的产品团队试图保持他们所谓的精简工具。工具是围绕一个或多个AI模型构建的软件,决定它们的使用方式。它决定模型看到什么,可以采取什么行动,以及如何与代码库交互。可以将其视为模型与开发人员实际项目之间的一层。尽管Claude Code作为应用程序和工具并没有完全没有偏见的功能或设计选择,但其产品团队似乎确实倾向于信任模型在接下来的一年里将带给他们的方向。除了Claude Code,还有其他工具。例如,OpenAI的Codex、Google的Antigravity、开源替代方案如OpenCode,以及来自Cursor或Augment Code等初创公司的选项。每个工具可能在功能、重点或如何在代理工作流中使用模型方面有不同的看法。Claude Code做出的一个关键选择是避免默认情况下提前围绕代码库建立结构化上下文的方法。她谈到这些方法时说:“根据评估,我们没有看到可测量的变化。我们通常更倾向于提供一个精简的工具,少一些有偏见的工具,让开发者自己添加他们想要的。” Augment Code做出了一项截然不同的选择,尽管这两家公司并不一定在测试相同的干预措施或优化相同的结果;其产品使用嵌入、检索模型和向量数据库预先索引代码库,然后检索概念上相关的代码。为了了解这场讨论的另一面,我与Augment Code的工程副总裁Vinay Perneti进行了交谈。Perneti简要描述了Augment Code的不同方法,提供了他自己团队对其优点的评估,回应了对精简工具的一些观点,并分享了他对开发人员对AI工具和代理工作流更广泛关注的一些看法。与Vinay Perneti的对话 此次采访经过修剪以便于长度和清晰度。Ars Technica:你能解释一下Augment Code的上下文引擎是如何运作的吗? Vinay Perneti:所以,如果我退后一步,特定开发者试图实现的是什么?他们想实现特定的任务并将其交给代理。而今天代理有趣的地方在于它们有有限的上下文窗口,每次需要获取所有需要的上下文然后再进行工作。有两种生成上下文的方法。一种是基于grep的。Claude Code和Codex以及其他代理都是这样做的。第二种是语义检索部分。对于Augment来说,我们始终采取了语义路线,我将描述它的构建块。我会说有两个核心组成部分。一个是,我们有一个嵌入和检索模型对在系统中工作,然后你有一个向量数据库和一个整个高度优化的后端系统,使其能够在亚毫秒内检索。Ars:在某种代码库中,这种方法有优势吗? Perneti:是的,实际上优势出现在大型私有代码库中。这就是我这么说的原因。对于所有公共的开源代码库,在大多数基准测试运行的地方,每个模型基本上都已记住该代码库。这些模型足够大,实际上能够记住整个代码库。因此,当你试图完成某件事情时,模型们似乎已经知道该去哪里,所以它们可以快速得到结果。而当你在私有代码库中执行此操作时,模型从未见过该代码库。因此,找到结果的迭代循环就会长得多,对吧?如果你对整个私有代码库有语义理解,你可以问问题,并且可以更快地得到结果。Ars:人们对令牌效率感到担忧。这种语义方法有帮助吗? Perneti:我们确实在某些情况下看到了这一点。事实上,我们发布了一篇博客文章——我们用Claude Code和Augment Code运行了Terminal-Bench,使用的是相同的模型。而我们完成的效率...
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡