Gemini探索模式Skill gemini-exploration-patterns

此技能提供使用Gemini CLI大型上下文窗口进行代码库探索的战略指导,包括何时委托探索给Gemini、模型选择、输出格式和成本优化。关键词:代码库探索、大型上下文、Gemini、模型选择、令牌优化、架构分析、开发工具、AI辅助开发。

架构设计 0 次安装 0 次浏览 更新于 3/11/2026

name: gemini-exploration-patterns description: 使用Gemini大型上下文窗口进行代码库探索的战略模式。涵盖令牌阈值、模型路由和探索策略。在决定使用Claude还是Gemini进行探索、分析大型代码库或根据上下文大小选择Flash和Pro模型时使用。 allowed-tools: Read, Glob, Grep, Skill

Gemini探索模式

🚨 强制性:首先调用gemini-cli-docs

停止 - 在提供任何关于Gemini探索的响应之前:

  1. 调用 gemini-cli-docs 技能
  2. 查询 特定的探索/上下文主题
  3. 基于 加载的官方文档进行所有响应

概述

此技能提供利用Gemini CLI大型上下文窗口进行代码库探索的战略指导。涵盖何时委托探索给Gemini、使用哪个模型以及如何构建输出以供Claude使用。

何时使用此技能

关键词: 探索代码库、分析架构、大型上下文、令牌限制、gemini探索、代码库分析、何时使用gemini、模型选择

使用此技能时:

  • 决定使用Claude还是Gemini进行探索
  • 规划大型代码库分析
  • 在Flash和Pro模型之间选择
  • 构建跨CLI消费的探索输出
  • 优化探索的成本与质量

令牌阈值决策矩阵

代码库大小 令牌数 推荐代理 理由
<50K Claude原生 Claude的工具更快
50K-500K Gemini Flash 速度/成本的良好平衡
500K-1M Gemini Flash + 分块 保持在Flash限制内
非常大 1M-2M Gemini Pro 需要扩展上下文
巨大 >2M Gemini Pro + 渐进式 多遍探索

令牌估算

# 快速估算:1令牌约4字符
chars=$(find . -name "*.ts" -o -name "*.py" | xargs wc -c | tail -1 | awk '{print $1}')
tokens=$((chars / 4))
echo "估算令牌数:$tokens"

决策规则

如果估算令牌数 < 50,000:
    使用Claude的原生探索代理
否则如果估算令牌数 < 1,000,000:
    通过/gemini-explore使用Gemini Flash
否则如果估算令牌数 < 2,000,000:
    通过/gemini-explore --pro使用Gemini Pro
否则:
    使用渐进式探索(按模块分块)

模型选择指南

Gemini Flash (gemini-2.5-flash)

上下文: 大(具体限制由Google设置,检查当前API文档) 成本: 较低 速度: 更快

最适合:

  • 批量文件分析
  • 跨代码库的模式检测
  • 依赖映射
  • 初始探索遍
  • 日志文件分析
  • 文档生成

Gemini Pro (gemini-2.5-pro)

上下文: 非常大(具体限制由Google设置,检查当前API文档) 成本: 较高 速度: 较慢

最适合:

  • 复杂架构推理
  • 安全关键分析
  • 细微代码质量评估
  • 非常大代码库(>1M令牌)
  • 需要深入理解的任务

探索策略

策略1:全代码库扫描

最适合:理解整体架构

# 收集所有源文件
find . -type f \( -name "*.ts" -o -name "*.tsx" \) \
  -not -path "*/node_modules/*" \
  -not -path "*/.git/*" \
  | xargs cat | gemini "分析架构" --output-format json

策略2:按模块

最适合:非常大代码库(>2M令牌)

# 分别探索每个顶级模块
for dir in src/*/; do
  echo "=== 探索 $dir ==="
  find "$dir" -name "*.ts" | xargs cat | gemini "分析此模块" --output-format json
done

策略3:入口点聚焦

最适合:理解执行流

# 聚焦入口点及其依赖
cat package.json src/index.ts src/main.ts | gemini "分析入口点和启动流" --output-format json

策略4:依赖优先

最适合:理解关系

# 包清单 + 导入语句
find . -name "package.json" -o -name "requirements.txt" -o -name "go.mod" | xargs cat
grep -r "^import\|^from" src/ | head -1000

策略5:渐进深度

最适合:迭代理解

  1. 遍1: 仅文件树 + README文件
  2. 遍2: 包清单 + 配置文件
  3. 遍3: 入口点 + 主模块
  4. 遍4: 特定领域深度分析

输出格式标准

所有Gemini探索输出应遵循此格式以供Claude使用:

YAML前导(必需)

---
generated-by: gemini-cli
model: gemini-2.5-flash
timestamp: 2025-11-30T12:00:00Z
tokens: 150000
scope: architecture|dependencies|patterns|all
---

机器可读摘要(必需)

{
  "type": "exploration",
  "scope": "architecture",
  "tokens_used": 150000,
  "model": "gemini-2.5-flash",
  "key_findings": [
    "使用Clean Architecture模式",
    "React前端与Express后端",
    "PostgreSQL数据库与Prisma ORM"
  ],
  "files_analyzed": 245,
  "entry_points": ["src/index.ts", "src/server.ts"]
}

人类可读内容(必需)

结构化Markdown,包含清晰部分:

  • 概述: 2-3句摘要
  • 架构: 目录结构、模式
  • 关键组件: 核心模块和职责
  • 依赖: 外部和内部
  • 模式: 约定和风格
  • 推荐: 首先阅读的内容、关注领域

给Claude的推荐(必需)

具体、可操作的指导:

## 给Claude的推荐

### 首先阅读的文件
1. `src/index.ts` - 主入口点
2. `src/config/index.ts` - 配置模式
3. `CLAUDE.md` - 项目约定

### 遵循的模式
- 对服务使用依赖注入
- 遵循`src/errors/`中的现有错误处理模式

### 关注领域
- `src/store/`中的复杂状态管理 - 仔细阅读
- `prisma/migrations/`中的数据库迁移 - 在更改架构前检查

文件过滤模式

包含模式

# 源代码
-name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx"
-name "*.py" -o -name "*.go" -o -name "*.rs" -o -name "*.java"

# 配置
-name "*.json" -o -name "*.yaml" -o -name "*.yml" -o -name "*.toml"

# 文档
-name "*.md" -o -name "README*"

排除模式

-not -path "*/node_modules/*"
-not -path "*/.git/*"
-not -path "*/dist/*"
-not -path "*/build/*"
-not -path "*/__pycache__/*"
-not -path "*/.next/*"
-not -path "*/coverage/*"
-not -path "*/.cache/*"

成本优化

减少令牌使用

  1. 积极过滤: 仅包含相关文件类型
  2. 限制文件数量: 使用head -500处理文件列表
  3. 截断大文件: 限制单个文件的合理大小
  4. 排除生成代码: dist/, build/, vendor/

高效批处理

# 不好:许多小调用
for file in *.ts; do gemini "分析 $file"; done

# 好:一个大调用
cat *.ts | gemini "分析所有文件"

相关技能

  • gemini-delegation-patterns - 何时委托任何任务给Gemini
  • gemini-token-optimization - 成本优化策略
  • gemini-cli-execution - CLI调用模式
  • gemini-workspace-bridge - 工件存储和交换

相关命令

  • /gemini-explore - 以标准输出执行探索
  • /gemini-plan - 生成实施计划

关键词注册表

主题 关键词
令牌限制 context window, token limit, large context
模型选择 flash vs pro, which model, model routing
探索 explore codebase, analyze architecture, understand code
成本 reduce tokens, optimize cost, batch calls
输出 exploration format, cross-cli artifact, claude readable

测试场景

场景1:令牌阈值决策

查询: “我应该使用Claude还是Gemini来探索这个代码库?” 预期行为:

  • 在“explore codebase”或“large context”上激活技能
  • 提供令牌阈值决策矩阵 成功标准: 用户基于代码库大小获得清晰指导

场景2:模型选择

查询: “我应该使用Flash还是Pro进行代码库分析?” 预期行为:

  • 在“flash vs pro”或“which model”上激活技能
  • 提供模型比较和用例 成功标准: 用户获得带理由的模型推荐

场景3:探索策略

查询: “如何使用Gemini分析一个非常大的代码库?” 预期行为:

  • 在“very large”或“analyze architecture”上激活技能
  • 提供渐进式探索策略 成功标准: 用户获得按模块或分块方法

版本历史

  • v1.1.0 (2025-12-01): 添加了强制性部分、测试场景、版本历史
  • v1.0.0 (2025-11-25): 初始发布