search-and-navigation.mdx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ---
  2. title: "搜索与导航"
  3. description: "AI 如何在百万行代码中精准定位目标"
  4. ---
  5. {/* 本章目标:介绍搜索类工具和工具搜索机制 */}
  6. ## 两种搜索维度
  7. | 维度 | 工具 | 适用场景 |
  8. |------|------|---------|
  9. | **按名称找文件** | Glob | "找到所有测试文件"、"找 config 开头的文件" |
  10. | **按内容找代码** | Grep | "哪里定义了这个函数"、"谁在调用这个 API" |
  11. 两者组合使用,AI 就拥有了在大型项目中"导航"的能力。
  12. ## 搜索结果的智能处理
  13. 大型项目的搜索结果可能有成千上万条,直接全部返回不现实:
  14. - **结果数量限制**:默认最多返回 250 条匹配
  15. - **上下文行**:Grep 支持显示匹配行前后的上下文(类似 `grep -C`)
  16. - **按修改时间排序**:Glob 默认把最近修改的文件排在前面
  17. - **文件类型过滤**:按语言类型过滤(只搜 `.ts` 文件、只搜 `.py` 文件)
  18. ## 工具发现机制
  19. 当可用工具超过 50 个时,AI 可能不知道该用哪个。系统提供了 **ToolSearch** 机制:
  20. - AI 可以用自然语言描述需求("我需要连接数据库")
  21. - 系统在所有已注册工具(包括 MCP 提供的)中搜索匹配
  22. - 返回最相关的工具列表及使用说明
  23. 这让 AI 在面对庞大的工具库时不会迷路。
  24. ## Web 搜索与抓取
  25. AI 的信息获取不局限于本地代码:
  26. - **WebSearch**:搜索互联网获取最新信息
  27. - **WebFetch**:抓取特定网页内容,转换为 Markdown 供 AI 阅读
  28. 这让 AI 可以查阅文档、搜索 Stack Overflow、阅读 GitHub issue——和人类开发者的工作方式一致。