claude-code/docs/tools/search-and-navigation.mdx
2026-04-01 09:16:41 +08:00

44 lines
1.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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——和人类开发者的工作方式一致。