Sourcegraph 是一个专为大型、复杂企业代码库打造的代码理解与搜索平台,通过统一索引所有代码仓库,为人类开发者和智能代理(Agents)提供完整上下文,帮助团队在代码搜索、跨服务变更、知识查询和风险控制上实现质的提升。

产品详细介绍

Sourcegraph 的核心价值在于“代码理解、可控演进与智能上下文”。在企业逐步引入 AI 代理参与开发的背景下,传统代理往往只能看到零散的代码片段,需要为每个任务重新构建上下文,导致结果不一致、遗漏变更、风险难控。Sourcegraph 通过对整个代码基座进行统一索引和智能分析,让人和代理都能在同一套完整视图下工作。

1. 全代码库统一索引与上下文

  • 跨仓库统一索引:自动索引企业内部所有 Git 仓库(单体、微服务、多语言项目等),形成统一的代码知识图谱。
  • 完整上下文供给:为人类开发者和 AI 代理提供函数、类型、调用链、配置、脚本等多维度上下文,避免“只见一角”的片面修改。
  • 跨层级变更可视化:从数据结构、接口到前端组件的跨层变更(如为 User 结构体新增 Role 字段)都能被完整追踪和展示。

2. 代码理解与智能代码搜索(Code Understanding & Deep Search)

  • 自然语言提问:支持用自然语言直接询问代码相关问题,例如:
    • “版本化文档是如何部署到 sourcegraph.com 的?”
    • “我们如何在各服务间处理数据库迁移和 schema 变更?”
    • “UI 组件中使用了哪些设计 Token 和颜色变量?”
  • 深度搜索(Deep Search):不仅是简单的字符串匹配,而是结合语义、结构和引用关系,给出更精准的结果。
  • 带引用的答案(Citations):回答会附带代码位置、文件路径等引用,方便快速跳转和验证,适合工程、支持、销售等多团队使用。

3. 赋能 AI 代理与工程治理

  • 为代理提供统一“事实来源”:通过 Sourcegraph,代理可以访问完整代码、内部文档、工单详情、构建状态等上下文,减少幻觉和错误修改。
  • 跨切面变更支持:例如“这是一次跨多个模块的变更,这是我的计划:…”,代理可以在 Sourcegraph 的上下文支持下完成多层更新、运行测试并生成完整 diff。
  • 工程团队可控性:团队可以基于统一的代码视图审查代理生成的变更,确保安全、合规和质量。

4. 企业级特性与团队协作

  • 服务 200+ 企业工程团队:面向大规模工程组织设计,适配复杂代码结构和多团队协作场景。
  • 多角色适用
    • 工程师:快速定位问题、理解遗留系统、规划重构。
    • 安全工程师:审查敏感逻辑、排查安全隐患。
    • 产品与设计:查询设计 Token、组件使用情况,统一体验规范。
    • 客户支持与销售:通过 Deep Search 回答客户关于实现方式、部署方式等技术问题。
  • 搜索配额与访问控制:可按个人或团队维度配置 Deep Search 的使用限制与配额,满足成本与合规要求。

简单使用教程

1. 初始接入与代码索引

  1. 连接代码仓库:在 Sourcegraph 管理界面中连接企业使用的代码托管平台(如 GitHub、GitLab、自建 Git 服务等)。
  2. 配置同步范围:选择需要纳入索引的仓库或组织,设置包含/排除规则(如排除临时仓库或生成代码)。
  3. 等待索引完成:首次索引会根据代码规模耗费一定时间,完成后即可在全局范围内搜索和提问。

2. 使用 Deep Search 进行自然语言查询

  1. 打开搜索界面:进入 Sourcegraph Web 界面,选择 Deep Search 模式。
  2. 输入自然语言问题,例如:
    • “我们如何处理数据库 schema 变更和迁移?”
    • “前端项目中所有颜色变量和设计 Token 的定义位置?”
  3. 查看结果与引用
    • 在结果中查看系统生成的答案摘要。
    • 通过引用链接跳转到具体文件和代码行,进行验证和二次分析。

3. 辅助跨服务与跨层变更

  1. 提出变更意图:在与代理或搜索交互中描述你的变更需求,例如:“给 User 结构体增加 Role 字段,并更新所有相关存储方法和调用层。”
  2. 查看变更计划:系统或代理会基于 Sourcegraph 的上下文给出跨模块变更计划(如影响的服务、接口、测试等)。
  3. 审查生成的 diff
    • 检查所有受影响文件的修改。
    • 确认测试通过情况和构建状态。
  4. 提交与代码评审:将变更提交到代码托管平台,走现有的 Code Review 流程。

4. 为不同团队配置 Deep Search 使用策略

  1. 进入管理后台:使用管理员账号登录 Sourcegraph 管理控制台。
  2. 创建或同步团队:按组织结构创建团队(工程、支持、销售等)。
  3. 设置搜索配额与权限
    • 为不同团队设置 Deep Search 的调用频率或总量限制。
    • 控制哪些仓库或命名空间对特定团队可见。
  4. 监控使用情况:定期查看搜索使用报表,优化配额分配和成本控制。

FAQ 常见问题

Q1:Sourcegraph 适合多大规模的代码库?
A:Sourcegraph 专为大型、复杂代码库设计,已被 200+ 企业工程团队使用,适用于包含大量微服务、多语言项目和长期演进的单体系统。

Q2:Deep Search 与普通代码搜索有什么区别?
A:普通搜索多为字符串或简单正则匹配,Deep Search 则支持自然语言提问,并结合语义、结构和引用关系给出带引用的答案,更适合跨团队知识查询和复杂问题分析。

Q3:如何保证 AI 代理的修改是可控和安全的?
A:代理通过 Sourcegraph 获取统一、完整的代码上下文,减少误判;所有变更仍通过现有的代码评审流程,由工程团队最终决策,从而保持可控性和安全性。

Q4:非工程角色(如支持、销售、设计)能否使用 Sourcegraph?
A:可以。支持和销售可以用 Deep Search 快速回答客户关于实现和部署的问题,设计和产品可以查询设计 Token、组件使用情况等,提升跨团队协作效率。

Q5:是否可以限制不同团队的搜索用量?
A:可以。管理员可以在后台按个人或团队维度配置 Deep Search 的搜索配额和访问权限,实现精细化控制和成本管理。