Devin Desktop 的上下文引擎会深入理解你的代码库、过往操作以及下一步意图。
过去,代码生成方法通常侧重于在代码库上对大语言模型 (LLM) 进行微调,
但这很难扩展以满足每位用户的个性化需求。
近年来,更常见也更受欢迎的方法是利用检索增强生成 (RAG) ,
重点是构建高度相关、上下文丰富的提示,
从而引导 LLM 给出准确答案。
我们针对代码库上下文实现了一种优化的 RAG 方法,
可生成更高质量的建议,并减少幻觉。
Devin Desktop 为企业提供完整的微调能力,而最佳方案
是将微调与 RAG 结合使用。
开箱即用时,Devin Desktop 会综合利用多个相关的上下文来源。
- 你在 IDE 中当前打开的文件以及其他已打开的文件,它们通常与你正在编写的代码密切相关。
- 随后,整个本地代码库都会被索引 (包括未打开的文件) ,
当你编写代码、提问或调用命令时,Devin Desktop 的检索引擎会调取相关的代码片段。
- 对于 Pro 用户,我们提供更长的上下文长度、更高的索引上限,以及更高的自定义上下文和已固定上下文项上限。
- 对于 Teams 和 Enterprise 用户,Devin Desktop 还可以索引远程代码仓库。
这对于开发团队需要跨多个代码仓库协作的公司尤其有用。
仅适用于 Teams 和 Enterprise 客户。
此功能允许团队将 Google Docs 作为整个团队共享的上下文或知识来源导入。
目前仅支持 Google Docs。图片不会被导入,但图表、表格和带格式的文本都可完整支持。
知识库
为你的团队配置知识库 设置。此页面仅对具有 Admin 权限的用户可见。
Admins 必须先通过 OAuth 手动连接 Google Drive,之后最多可添加 50 个 Google Docs 作为团队知识来源。
Cascade 将可以访问 Devin Desktop 仪表板中指定的文档。这些文档不遵循单个用户的访问控制,也就是说,如果某位 Admin 将某个文档提供给团队,那么所有用户都可以访问该文档,无论 Google Drive 侧的访问控制如何。
当你当前文件中的任务依赖其他文件中的信息时,上下文固定 会非常有用。
尽量只固定你需要的内容。固定过多内容可能会拖慢速度,或对模型性能造成负面影响。
以下是一些有效进行上下文固定的建议:
- 模块定义:固定位于 repo 中、但属于与当前活动文件不同模块的 class/struct 定义文件。
- 内部框架/库:固定包含框架/库使用示例代码的目录。
- 特定任务:固定定义特定接口的文件或文件夹 (例如
.proto 文件、抽象类文件、配置模板) 。
- 当前关注区域:固定包含当前编码会话所需大部分文件的“最小公共”目录层级。
- 测试:固定包含你正在为其编写单元测试的类的特定文件。
与 Devin Desktop Chat 对话时,你可以通过多种方式利用代码库上下文,
例如使用 @ 提及 或自定义指南。
更多信息,请参阅 Chat 页面。
是的,Devin Desktop 确实会索引你的代码库。它还会使用 LLM,并借助我们自有的 M-Query 技术,对你的代码库执行检索增强生成 (RAG) 。
索引性能和功能会因你的工作流程以及你使用的 Devin Desktop 套餐而异。更多信息,请访问我们的上下文感知页面。