进阶 docs.tabnine.com 2026-10-09 03:46:55 · 0 阅读

第5章 Tabnine 第5章:AI 代码助手的个性化机制解析

完整文档索引请见 llms.txt。本页面也提供 Markdown 格式。Personalization(个性化) Tabnine AI 代码助手:个性化 注意:本地工作区索引与管理员控制在 v6.3.0 版本中有变更,部分旧术语可能不再适用。 什么是个性化?为什么重要? Tabnine 的 AI 代码助手(包括代码补全和聊天)由 Tabnine 的 Universal AI 模型驱动,这些模型基于许可宽松的开源代码训练而成。与其他 LLM 一样,Universal 模型并未接触过某个组织的具体数据和独特代码模式。因此,它们缺少组织内资深开发人员所具备的上下文和领域知识,导致推荐结果往往不够贴合开发者的实际需求。 个性化是 Tabnine AI 编码助手的附加能力层,旨在通过三种方式提升 Tabnine 的上下文感知能力来弥补这一差距: - 通过本地代码感知获得上下文 - 连接软件代码仓库实现全局代码感知 - 定制 AI 模型 这些不同层次的个性化让 Tabnine AI 编码助手能够返回更准确、更符合你需求的代码建议,包括测试、代码解释、文档等。 Tabnine 如何解决个性化问题? Tabnine 通过多个组件让 AI 编码助手感知你的开发环境。代码补全和聊天采用了不同的技术方案,其中部分功能仅面向 Tabnine Enterprise 计划开放。 通过本地代码感知获得上下文(正式发布):Tabnine 会访问开发者本地 IDE 工作区中的信息,采用多种方式获取上下文:当前打开文件及相关文件的内容、当前作用域内的类型信息,以及检索增强生成(RAG)。对所有 Pro 和 Enterprise 客户来说,RAG 是最有效的手段。本地代码感知对个人开发者以及团队或大型组织中的开发者都有帮助。 全局代码感知连接(私有预览):Tabnine 会利用组织代码仓库中的信息,包括本地 IDE 无法访问的相关代码。RAG 是实现该功能的主要方法。此功能目前处于私有预览阶段,面向 Enterprise 客户提供。团队管理员需要明确启用此功能,将 Tabnine 连接到组织代码库中的指定仓库。这主要对组织内的开发者有帮助。 定制(用私有代码微调 AI 模型):Tabnine 会利用组织整个代码库的信息(由管理员决定包含哪些仓库),基于组织私有代码重新训练出私有定制模型,使核心 AI 模型感知组织的代码模式,并体现组织使用的特定语言和框架。此选项面向采用私有化部署的 Enterprise 客户,适合拥有独特定制代码库的大型组织。 这些技术和机制可以单独使用,也可以组合应用于代码补全和聊天,为每个终端用户或组织实现最优方案。 个性化与代码隐私 代码隐私是我们的首要原则。个性化功能层完全遵循 Tabnine 的所有代码隐私原则: - 你的代码始终保持私有 - Tabnine 不会与任何第三方共享你的代码 - Tabnine 不会用你的代码进行训练 只有两种情况下,你的代码会被发送到 Tabnine 服务器(Tabnine 安全 SaaS 或客户的私有化安装环境): AI 模型推理:当用户查询 Tabnine(显式或隐式)时,会向 Tabnine 服务器上的 AI 模型发送一个提示,其上下文窗口包含你代码中的部分元素。上下文窗口的唯一目的是帮助模型给出尽可能准确的回答。 创建聊天 RAG 索引:为聊天 RAG 索引计算向量嵌入需要大量资源,无法在本地完成而不给用户机器带来压力,因此 Tabnine 在服务器 GPU 上执行此计算。 在这两种情况下,数据都通过 SSL 加密传输,并在返回答案后立即删除。 对于全局 RAG,索引会保留在 Tabnine 服务器上。 关于定制功能(Enterprise 客户可选)的说明:私有定制模型的训练和托管均在客户隔离的私有化安装环境中完成,确保任何数据不会外泄到组织之外。 Tabnine UI 中的个性化 个性化的影响主要体现在代码建议的质量上,但也有一些与 UI 相关的体现形式。 Mentions(提及) Mentions(使用 @ 符号)让用户可以在查询上下文中明确指定 Tabnine Chat 使用工作区中的某个代码元素(类型、方法或类)。借助 Mentions,用户可以充分发挥自己的领域知识,通过显式聚焦工作区中的相关上下文来帮助 AI。 注意:Mentions 支持 IDE 中任何具备 Language Server Protocol(LSP)支持的语言。 在 @ 后输入 2-3 个字符即可查看可用的代码元素。 References(引用) 如果启用了本地代码感知上下文,Tabnine Agent 和 Chat 默认会结合本地工作区的上下文来回答用户问题。在返回答案时,Tabnine Agent 和 Chat 会明确标注所使用的上下文,并附上引用列表: 你可以点击每条引用,查看 Agent 和 Chat 上下文中所引用的完整代码。 个性化功能可用性矩阵
通过本地代码感知获得上下文全局代码感知连接AI 模型定制
产品里程碑正式发布私有预览(详情请联系销售代表)正式发布
Tabnine Enterprise是是*是(仅限私有化安装)
范围本地 IDE 工作区组织代码库中的选定仓库*组织代码库中的选定仓库
代码补全是否是
Agent是是是
Chat是是是
IDEVS Code、JetBrains、Visual Studio、EclipseVS Code、JetBrains、Visual Studio、EclipseVS Code、JetBrains、Visual Studio、Eclipse
语言所有受支持的语言所有受支持的语言所有受支持的语言
* 对于连接和定制功能,由团队管理员明确选择具体仓库。 我需要启用该功能吗?可以禁用吗? 代码补全的上下文: 所有计划:默认启用,无法关闭。 Chat 和 Agent 的上下文: Enterprise:默认启用;团队管理员可以将其关闭。 注意:用户可以使用 Workspace 选择器在单次查询中禁用上下文和连接功能。 连接与定制 这些面向 Enterprise 客户的选项默认关闭,团队管理员需要明确将 Tabnine 连接到组织代码库中的每个仓库。 在 Tabnine Enterprise 中启用本地代码感知 通过 RAG 实现的代码补全本地代码感知对所有 Enterprise 用户默认启用,且无法关闭。 而通过 RAG 实现的 Tabnine Chat 本地代码感知,对所有用户而言由团队管理员控制。 Enterprise(私有化安装) 默认启用;团队管理员可以通过管理控制台为整个团队关闭该功能。 最后更新于 3 个月前 本文对你有帮助吗?

评论 (0)