claude-code/docs/tools/search-and-navigation.mdx

44 lines
1.6 KiB
Plaintext
Raw Normal View History

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