前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8634
  • Token 经济学:从成本优化到思维方式革新
  • AI Agent 误删生产库的事后分析
  • Agent 维护的知识库系统
  • 通用 Agent 内存层框架开源
  • Agent 系统与数据库设计的矛盾
  • OpenAI 发布 GPT-5.5
  • Browser Harness 赋予 LLM 浏览器自由度
  • LLM 运作原理可视化教程
  • Cursor 新增异步子代理和多根工作空间
  • Agent 时代的产品设计新思路
  • DeepSeek-V4:百万 token 的 Agent 利器
  • Claude Code 质量报告最新进展
  • 语音 Agent 调试指南:快速定位故障源
  • OpenAI 推出隐私过滤功能
  • 浏览器中运行 Transformers.js:Chrome 扩展教程
  • Agent Vault:AI Agent 的凭证管理方案
  • Google 第八代 TPU:为 Agent 时代设计
  • Linux 内核采纳 AI 生成的安全报告
  • AI 编程工具悖论:感觉快实际慢 19%
  • 如果AI在2011年就存在,现代Web会如何不同?
  • 代码搜索实战对比:何时用Code Search、Deep Search或MCP
  • OpenClaw还不够成熟,建议暂缓采用
  • Claude Code可能从Anthropic Pro计划中下架?
  • ChatGPT图像生成2.0发布,能力大幅升级
  • CrabTrap:LLM Agent生产部署的安全防护层
  • GoModel:轻量级Go语言AI网关开源项目
  • 反思:AI Agent设计应摒弃过度拟人化
  • Anthropic官方确认:OpenClaw CLI使用政策回归允许
  • AI虚拟形象v6:Chrome和VS Code扩展
  • AI与网络安全的开放之路
  • 逆向分析:四大AI服务的网络流量对比
  • Mediator.ai:用博弈论和LLM设计公平性算法
  • 长时间范围下的梯度规划世界模型
  • Claude Token计数器升级:支持模型对比
  • Claude Opus 4.6→4.7系统提示演变分析
  • 减少 Token 消耗 45% 的简单技巧
  • Claude Design 设计工具的社区评价
  • 快速掌握 LLM 架构的学习工作流
  • Notion MCP 挑战赛结果揭晓
  • Claude 4.7 Tokenizer 成本深度分析
  • Claude Design 发布:AI 自动生成交互原型
  • 检测网站对 AI Agent 的集成就绪度
  • Claude Code 完成电路仿真与验证的工作流
  • Claude Design 在设计工作流中的实战验证
  • 开源 Qwen 模型在图像生成上的竞争力
  • Stage 工具:人工主导的智能代码审查
  • 用 Gemini 语音 API 构建智能 Telegram 机器人
  • Claude Opus 4.7 官方模型卡片发布
  • Claude Opus 4.7 模型发布
  • Claude Opus 4.7 重磅发布:年度重量级模型升级
  • AI 只会加快烂代码的生成速度
  • 已加载 51 / 8634
8.0
热点
AI SCORE
编程提效2026-04-22 08:00

代码搜索实战对比:何时用Code Search、Deep Search或MCP

Sourcegraph Blog#代码搜索#工具选型#MCP
Editor brief · 编辑速览

Sourcegraph深度讲解三种代码搜索工具的适用场景和权衡。程序员选工具的实战指南,直接提升开发效率。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

AI 为代码搜索带来了新的方式,但并不是每种方式都适用于所有问题。下面介绍如何在 Code Search、Deep Search 和 MCP 之间做出选择。

如今,几乎所有工具、工作流和产品都以某种方式集成了 AI,希望借此增强能力、改善产出。AI 确实变得越来越有用,但同时也让一些事情变得不那么清晰。

作为一名在这个领域工作、直接服务真实用户的人,我接触过全球一些规模最大的科技公司,也观察到一个明确趋势:瓶颈已经不再是开发者能否使用工具,而是能否判断该使用哪种工具,以及何时使用。

与其纠结“要不要使用 AI”,我们发现,更有效的思路是先从眼前的问题出发,思考你打算如何解决它。

这正是 Sourcegraph 提供的不同工具各自发挥作用的地方。

Sourcegraph 为开发者提供了三种不同的选择,用于大规模搜索和理解代码。

Code Search——一种传统的代码搜索工具,允许你跨所有代码仓库和代码托管平台进行搜索。你既可以使用统一界面,也可以通过 API endpoints 以编程方式完成搜索。

Deep Search——一种 Agent 式代码搜索工具,能够理解针对代码库提出的自然语言问题,并利用 Sourcegraph 的搜索工具提供依据更充分的回答。

Sourcegraph MCP——为 AI Agent 和应用提供编程接口,使其能够使用 Sourcegraph 实例中的代码搜索、导航和分析能力。

三种搜索方式可以覆盖广泛的使用场景,但关键在于知道什么时候该使用哪一种。下面我们逐一拆解。

Code Search:当你知道自己在找什么时

很多时候,你并不是在探索,而只是想找到某个具体的东西。你已经知道它存在,只是不知道它在哪里、出现过多少次,或者存在于哪个 commit 中。

这正是传统代码搜索最适合的场景。它直接、可预测且速度快——这并不是 AI 所擅长的方向,AI 也没有试图取代它。

具体来说,常见场景包括:

  • 查找某个函数、变量或 API 在多个仓库中的每一处引用

  • 识别整个代码库中所有已知漏洞的实例

来看一个具体示例:

使用场景:在所有仓库的 properties 文件和 YAML 文件中查找特定的 Spring Boot 属性。

解决方案:使用 Sourcegraph Code Search 执行以下查询:

context:global file:(^|/)resources/application(?:[-_][A-Za-z0-9]+)*\.(?:properties|ya?ml)$ /(?s:spring\b.*h2\b.*console\b.*enabled\b.*true\b)/

如果你不熟悉 Sourcegraph 的搜索语法,Query Assist 可以帮助你生成搜索查询。

Deep Search:当你需要快速理解复杂、陌生且快速演进的代码库时

另一些时候,你并没有从某个明确的目标开始。你可能是在尝试理解一个系统、弄清楚为什么会抛出某个错误,或者研究某项功能为何会以当前方式运行。

Deep Search 将 Agent 的能力与 Sourcegraph Code Search 相结合,帮助你理解整个代码库中正在发生什么,无需手动在不同文件之间来回跳转。

当你需要回答以下问题时,Deep Search 是合适的工具:

  • “这个系统中的身份认证是如何运作的?”

  • “最近发生了哪些变化,可能导致了这个问题?”

Deep Search 会基于代码中的示例,为你提供全面的回答,甚至还能生成展示系统设计方式的可视化图表。建立起整体理解后,你可以将这些上下文交给 Code Search,以获得精确结果;也可以通过 Sourcegraph MCP 将其交给 AI Agent,让 Agent 采取行动。

Sourcegraph MCP:当代码库无法装进你的笔记本电脑或 context window 时

还有一些情况,你不只是想查找或理解信息,而是想真正完成某项任务。这通常不止一个步骤:需要获取上下文、执行验证步骤,过程中或许还要与其他系统交互。

如果没有合适的工具来快速搜索复杂代码库并获取正确的上下文,Agent 仍然会进行大量原本可以避免的猜测。在这类场景中,真正需要的是通过 Sourcegraph 的搜索和推理工具,让你选择的 Agent 能够远程访问代码。

下面来看几个示例。

使用场景:调查 CommaFeed 应用中的生产环境问题,在远程且陌生的代码中快速确定根本原因,并给出修复建议。解决方案:向 Agent 提供错误信息和远程仓库名称,请它分析错误。分析 CommaFeed 应用中的以下 stack trace(https://github.com/Athou/commafeed)。使用 Sourcegraph MCP tools 调查代码库,提供根因分析和修复建议。jakarta.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error at org.jboss.resteasy.reactive.server.handlers.ResponseHandler.mapException(ResponseHandler.java:58) at org.jboss.resteasy.reactive.server.handlers.ResponseHandler.handle(ResponseHandler.java:42) at ...

使用场景:调查 CommaFeed 应用中的生产环境问题,在远程且陌生的代码中快速确定根本原因,并给出修复建议。

解决方案:向 Agent 提供错误信息和远程仓库名称,请它分析错误。

Triage the following stack trace from the CommaFeed application (https://github.com/Athou/commafeed).
Use Sourcegraph MCP tools to investigate the codebase and provide a root cause analysis with a fix recommendation.

jakarta.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error
at org.jboss.resteasy.reactive.server.handlers.ResponseHandler.mapException(ResponseHandler.java:58)
at org.jboss.resteasy.reactive.server.handlers.ResponseHandler.handle(ResponseHandler.java:42)
at ...

使用场景:根据 Deep Search 的初步调查结果,规划并开始重构某个仓库,重点解决糟糕的设计模式和无障碍模式。解决方案:让你选择的 Agent 查看 Deep Search 的回答,并制订一份全面的计划。查看这段 Deep Search 对话 https://demo.sourcegraph.com/deepsearch/338a1da9-d8ac-4221-9fbc-769b5ebf676e,并制订计划,解决其中发现的关键问题。由于 Sourcegraph MCP 可以让 Agent 访问 Deep Search 对话,因此你可以直接传入结果,让 Agent 开始规划并实施重构。

使用场景:根据 Deep Search 的初步调查结果,规划并开始重构某个仓库,重点解决糟糕的设计模式和无障碍模式。

解决方案:让你选择的 Agent 查看 Deep Search 的回答,并制订一份全面的计划。

Review this Deep Search conversation https://demo.sourcegraph.com/deepsearch/338a1da9-d8ac-4221-9fbc-769b5ebf676e and make a plan to resolve the key issues identified.

由于 Sourcegraph MCP 可以让 Agent 访问 Deep Search 对话,因此你可以直接传入结果,让 Agent 开始规划并实施重构。

有些问题需要精确搜索,有些需要深入理解,还有一些两者都需要。那些能够产生最大影响的人,其实只是掌握了如何根据眼前的任务选择正确的工具。

Jon 于 2022 年加入 Sourcegraph,先后担任 Senior Support Engineer,并于近期转任 Field Engineer。他曾与全球一些规模最大的科技公司合作,通过最佳实践培训以及深入研究客户关注的具体使用场景,帮助这些公司将现代代码搜索和 AI 融入日常工作流。

消除组织阻碍,更快交付。

Sourcegraph,面向企业的代码理解平台。

Original source

本文由 AI 翻译整理自 Sourcegraph Blog,原文版权归原作者所有。

阅读英文原文
上一篇
如果AI在2011年就存在,现代Web会如何不同?
下一篇
OpenClaw还不够成熟,建议暂缓采用