> ## Documentation Index
> Fetch the complete documentation index at: https://quwan-b8010aef.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini 思考模式示例

> 使用Gemini展示AI逐步分析和推理过程的完整示例代码

# Gemini 思考模式示例

以下示例展示如何通过精心设计的提示词让Gemini展示其思考过程，进行逐步分析和推理，帮助用户理解AI的分析思路和解题步骤。

## 快速开始

只需要替换 `<API-KEY>` 为你的实际API密钥即可运行。

```bash cURL theme={null}
curl -X POST "https://api.tokenops.ai/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API-KEY>" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "请展示你的完整思考过程来解决这个数学问题：\n\n问题：一个正方形的面积是64平方厘米，求它的周长。\n\n请按照以下步骤思考：\n1. 【问题理解】- 明确问题要求\n2. 【已知信息】- 列出已知条件\n3. 【解题思路】- 确定解题方法\n4. 【计算过程】- 逐步计算\n5. 【验证结果】- 检查答案合理性\n6. 【最终答案】- 给出明确答案\n\n请详细展示每个步骤的思考过程。"
          }
        ]
      }
    ],
    "generationConfig": {
      "maxOutputTokens": 1500,
      "temperature": 0.3
    }
  }'
```

```python Python theme={null}
import requests
import json

# 配置API密钥和基础URL
API_KEY = "<API-KEY>"
BASE_URL = "https://api.tokenops.ai/v1beta"

def gemini_thinking_mode(problem, thinking_framework=None, temperature=0.3, max_tokens=1500):
    """
    使用Gemini进行思考模式分析

    Args:
        problem: 要解决的问题
        thinking_framework: 思考框架模板
        temperature: 生成温度 (建议使用较低值保证逻辑性)
        max_tokens: 最大输出token数
    """
    url = f"{BASE_URL}/models/gemini-2.5-flash:generateContent"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}"
    }

    if thinking_framework is None:
        thinking_framework = """请展示你的完整思考过程来解决这个问题。

请按照以下步骤思考：
1. 【问题理解】- 明确问题要求和背景
2. 【信息分析】- 分析已知信息和约束条件
3. 【思路规划】- 确定解决方案和步骤
4. 【详细推理】- 逐步分析和计算
5. 【结果验证】- 检查答案的合理性和正确性
6. 【总结回答】- 给出明确的最终答案

请详细展示每个步骤的思考过程，包括你的推理逻辑。"""

    prompt = f"{thinking_framework}\n\n问题：{problem}"

    data = {
        "contents": [
            {
                "parts": [
                    {
                        "text": prompt
                    }
                ]
            }
        ],
        "generationConfig": {
            "maxOutputTokens": max_tokens,
            "temperature": temperature
        }
    }

    try:
        response = requests.post(url, headers=headers, json=data)

        if response.status_code == 200:
            result = response.json()
            if 'candidates' in result and len(result['candidates']) > 0:
                content = result['candidates'][0]['content']
                if 'parts' in content and len(content['parts']) > 0:
                    return content['parts'][0]['text']
                else:
                    return "没有返回内容"
            else:
                return "没有生成候选回答"
        else:
            return f"错误: {response.status_code} - {response.text}"

    except Exception as e:
        return f"请求失败: {e}"

def solve_math_problem():
    """数学问题求解示例"""
    problem = """
    一个圆的面积是78.54平方厘米，求这个圆的周长。
    (π ≈ 3.14159)
    """

    thinking_framework = """请展示你完整的数学解题思维过程：

🔍 **问题分析阶段**
- 理解题目要求
- 识别已知条件
- 确定未知量

📐 **数学建模阶段**
- 选择合适的公式
- 建立方程关系
- 确定求解策略

💡 **求解计算阶段**
- 逐步代入计算
- 展示每一步骤
- 注意计算精度

✅ **验证检查阶段**
- 验证结果合理性
- 检查单位是否正确
- 确认答案的准确性

📝 **总结答案阶段**
- 明确最终答案
- 说明解题关键点

请详细展示你的数学思维过程。"""

    print("=== 数学问题求解 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework)
    print(result)
    return result

def logical_reasoning():
    """逻辑推理示例"""
    problem = """
    逻辑推理题：
    在一个小镇上，有三个理发师：张师傅、李师傅、王师傅。
    已知：
    1. 张师傅只给不自己理发的人理发
    2. 李师傅给所有人理发，包括自己
    3. 王师傅只给自己理发
    4. 镇上的人要么给张师傅理发，要么给李师傅理发，要么给王师傅理发

    问题：谁给张师傅理发？
    """

    thinking_framework = """请展示你的逻辑推理过程：

🎯 **问题理解阶段**
- 明确题目设定的场景
- 理解每个条件的含义
- 确定要回答的问题

🔍 **条件分析阶段**
- 逐一分析每个已知条件
- 识别条件间的逻辑关系
- 发现可能的矛盾或约束

🧩 **推理建构阶段**
- 尝试不同的假设
- 运用逻辑规则进行推演
- 排除不可能的情况

💭 **深度思考阶段**
- 考虑边界条件和特殊情况
- 验证推理的一致性
- 检查是否遗漏重要信息

✨ **结论形成阶段**
- 整合推理结果
- 给出明确答案
- 解释推理依据

请展示你的完整逻辑推理过程。"""

    print("=== 逻辑推理示例 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework)
    print(result)
    return result

def strategic_analysis():
    """战略分析示例"""
    problem = """
    商业战略分析：
    一家初创公司开发了一款AI写作助手应用，现在面临以下选择：

    方案A：专注B2C市场，直接向个人用户收费
    - 优势：市场规模大，用户付费意愿逐渐提升
    - 劣势：获客成本高，竞争激烈

    方案B：专注B2B市场，向企业提供服务
    - 优势：客户粘性强，单客价值高
    - 劣势：销售周期长，需要定制化开发

    方案C：采用免费+增值模式
    - 优势：快速获取用户，建立市场地位
    - 劣势：短期内难以盈利，烧钱压力大

    问题：应该选择哪种策略？请给出详细的分析和建议。
    """

    thinking_framework = """请展示你的商业分析思维过程：

📊 **市场环境分析**
- 分析行业现状和趋势
- 评估竞争格局
- 识别市场机会和威胁

🎯 **战略选项评估**
- 逐一分析每个方案的优劣
- 评估实施的可行性
- 考虑资源和能力要求

⚖️ **多维度对比**
- 风险收益分析
- 短期vs长期效益
- 资源投入与回报比

🔮 **情景模拟分析**
- 考虑最好、最坏、最可能的情况
- 分析外部环境变化的影响
- 评估战略的适应性和灵活性

💡 **决策建议形成**
- 综合各方面因素
- 提出具体的实施建议
- 制定风险缓解措施

请展示你的完整商业分析思维。"""

    print("=== 战略分析示例 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework, temperature=0.4)
    print(result)
    return result

def creative_problem_solving():
    """创意问题解决示例"""
    problem = """
    创意挑战：
    设计一个智能城市交通系统，解决以下问题：
    1. 交通拥堵
    2. 环境污染
    3. 出行效率低
    4. 停车难
    5. 公共交通覆盖不足

    要求：
    - 充分利用现有技术（AI、IoT、5G等）
    - 考虑成本效益
    - 确保系统的可扩展性
    - 注重用户体验
    """

    thinking_framework = """请展示你的创意设计思维过程：

🌟 **创意激发阶段**
- 发散思维，收集所有可能的想法
- 不限制创意的可行性
- 从多个角度思考问题

🎯 **问题细化阶段**
- 深入理解每个具体问题
- 分析问题的根本原因
- 识别问题间的关联性

💡 **解决方案构思**
- 针对每个问题提出多种解决思路
- 考虑技术实现的可能性
- 评估方案的创新性和实用性

🔗 **系统集成设计**
- 将各个解决方案整合为统一系统
- 确保各部分协调工作
- 优化整体架构和流程

🚀 **实施路径规划**
- 制定分阶段实施计划
- 考虑技术和资源约束
- 设计评估和迭代机制

请展示你的完整创意设计过程。"""

    print("=== 创意问题解决示例 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework, temperature=0.6)
    print(result)
    return result

def scientific_analysis():
    """科学问题分析示例"""
    problem = """
    科学问题：
    为什么海洋深处的水温即使在热带地区也很低？请从物理学角度解释这一现象，
    并分析相关的因素和机制。

    提示可考虑的因素：
    - 太阳辐射
    - 海水密度
    - 洋流系统
    - 热传导
    - 水的比热容
    """

    thinking_framework = """请展示你的科学分析思维过程：

🔬 **现象观察阶段**
- 准确描述观察到的现象
- 识别需要解释的关键特征
- 提出初步的疑问

📚 **理论基础回顾**
- 回顾相关的物理学原理
- 识别适用的科学定律
- 建立理论框架

🧪 **机制分析阶段**
- 分析各个影响因素的作用
- 解释各种机制的相互作用
- 建立因果关系链条

🌊 **系统性思考**
- 考虑系统的整体行为
- 分析不同尺度的效应
- 识别主要和次要因素

🎯 **综合解释形成**
- 整合各个分析结果
- 形成完整的科学解释
- 验证解释的合理性

请展示你的完整科学分析过程。"""

    print("=== 科学问题分析示例 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework, temperature=0.2)
    print(result)
    return result

def algorithm_design():
    """算法设计思维示例"""
    problem = """
    算法设计问题：
    设计一个高效的算法来解决以下问题：

    给定一个整数数组，找出其中两个数，使得它们的和等于一个特定的目标值。
    返回这两个数的索引。

    要求：
    - 时间复杂度尽可能低
    - 空间复杂度要考虑
    - 处理边界情况
    - 假设每种输入只会对应一个答案

    示例：
    输入: nums = [2, 7, 11, 15], target = 9
    输出: [0, 1] (因为 nums[0] + nums[1] = 2 + 7 = 9)
    """

    thinking_framework = """请展示你的算法设计思维过程：

🎯 **问题理解阶段**
- 准确理解问题要求
- 分析输入输出格式
- 识别约束条件

💭 **思路探索阶段**
- 考虑多种可能的解决方案
- 分析每种方案的优劣
- 评估时间和空间复杂度

⚡ **算法优化阶段**
- 选择最优的算法策略
- 考虑具体的实现细节
- 优化性能瓶颈

🐛 **边界处理阶段**
- 识别可能的边界情况
- 设计相应的处理逻辑
- 确保算法的鲁棒性

📝 **代码实现规划**
- 设计清晰的算法步骤
- 考虑代码的可读性
- 准备测试用例

请展示你的完整算法设计思维。"""

    print("=== 算法设计思维示例 ===")
    print(f"问题：{problem.strip()}")
    print("\n" + "="*50)

    result = gemini_thinking_mode(problem, thinking_framework, temperature=0.2)
    print(result)
    return result

# 使用示例
if __name__ == "__main__":
    print("=== Gemini思考模式示例 ===\n")

    try:
        # 示例1: 数学问题求解
        solve_math_problem()
        print("\n" + "="*70 + "\n")

        # 示例2: 逻辑推理
        logical_reasoning()
        print("\n" + "="*70 + "\n")

        # 示例3: 战略分析
        strategic_analysis()
        print("\n" + "="*70 + "\n")

        # 示例4: 创意问题解决
        creative_problem_solving()
        print("\n" + "="*70 + "\n")

        # 示例5: 科学问题分析
        scientific_analysis()
        print("\n" + "="*70 + "\n")

        # 示例6: 算法设计
        algorithm_design()

    except Exception as e:
        print(f"程序执行出错: {e}")
```

```javascript JavaScript/Node.js theme={null}
const axios = require('axios');

// 配置API密钥和基础URL
const API_KEY = '<API-KEY>';
const BASE_URL = 'https://api.tokenops.ai/v1beta';

async function geminiThinkingMode(problem, thinkingFramework = null, temperature = 0.3, maxTokens = 1500) {
    const url = `${BASE_URL}/models/gemini-2.5-flash:generateContent`;
    const headers = {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${API_KEY}`
    };

    const defaultFramework = `请展示你的完整思考过程来解决这个问题。

请按照以下步骤思考：
1. 【问题理解】- 明确问题要求和背景
2. 【信息分析】- 分析已知信息和约束条件
3. 【思路规划】- 确定解决方案和步骤
4. 【详细推理】- 逐步分析和计算
5. 【结果验证】- 检查答案的合理性和正确性
6. 【总结回答】- 给出明确的最终答案

请详细展示每个步骤的思考过程，包括你的推理逻辑。`;

    const framework = thinkingFramework || defaultFramework;
    const prompt = `${framework}\n\n问题：${problem}`;

    const data = {
        contents: [
            {
                parts: [
                    {
                        text: prompt
                    }
                ]
            }
        ],
        generationConfig: {
            maxOutputTokens: maxTokens,
            temperature: temperature
        }
    };

    try {
        const response = await axios.post(url, data, { headers });

        if (response.status === 200) {
            const result = response.data;
            if (result.candidates && result.candidates.length > 0) {
                const content = result.candidates[0].content;
                if (content.parts && content.parts.length > 0) {
                    return content.parts[0].text;
                } else {
                    return '没有返回内容';
                }
            } else {
                return '没有生成候选回答';
            }
        } else {
            return `错误: ${response.status} - ${response.statusText}`;
        }

    } catch (error) {
        return `请求失败: ${error.response?.status} - ${error.response?.data || error.message}`;
    }
}

async function solveProgrammingProblem() {
    const problem = `
    编程思维题：
    设计一个函数来验证一个字符串是否是有效的括号序列。

    有效括号序列的规则：
    1. 左括号必须用相同类型的右括号闭合
    2. 左括号必须以正确的顺序闭合
    3. 支持三种括号：() [] {}

    示例：
    输入: "()[]{}" → 输出: true
    输入: "([)]" → 输出: false
    输入: "{[]}" → 输出: true

    请设计算法并分析时间复杂度。
    `;

    const thinkingFramework = `请展示你的编程思维过程：

🎯 **问题分解阶段**
- 理解括号匹配的本质
- 识别关键的验证规则
- 分析输入输出要求

💡 **算法策略思考**
- 考虑多种可能的解决方案
- 分析每种方案的适用性
- 选择最优的数据结构

⚙️ **算法实现设计**
- 详细设计算法步骤
- 考虑实现的关键细节
- 处理各种边界情况

📊 **复杂度分析**
- 分析时间复杂度
- 分析空间复杂度
- 评估算法效率

✅ **测试验证思考**
- 设计测试用例
- 验证算法正确性
- 考虑极端情况

请展示你的完整编程分析过程。`;

    console.log('=== 编程思维示例 ===');
    console.log(`问题：${problem.trim()}`);
    console.log('\n' + '='.repeat(50));

    const result = await geminiThinkingMode(problem, thinkingFramework, 0.2);
    console.log(result);
    return result;
}

async function designThinking() {
    const problem = `
    设计思维挑战：
    为老年人设计一款智能手机APP的用户界面，要求：

    用户特点：
    - 年龄60-80岁
    - 技术接受能力有限
    - 视力和手部灵活性下降
    - 重视与家人的联系

    功能需求：
    - 通话和视频聊天
    - 简单的消息发送
    - 紧急联系功能
    - 健康提醒
    - 新闻阅读

    设计约束：
    - 界面必须简洁易懂
    - 字体和图标要足够大
    - 操作步骤要尽可能少
    - 要有明确的视觉反馈

    请设计这个APP的主要界面和交互方案。
    `;

    const thinkingFramework = `请展示你的设计思维过程：

👥 **用户研究阶段**
- 深入分析目标用户群体
- 理解用户的真实需求和痛点
- 考虑用户的使用场景

🎨 **设计理念建立**
- 确定核心设计原则
- 建立设计语言和风格
- 平衡功能性和易用性

🖼️ **界面架构设计**
- 设计信息架构
- 规划用户操作流程
- 优化界面布局结构

🔄 **交互设计思考**
- 设计直观的交互方式
- 考虑反馈和提示机制
- 优化操作路径

♿ **无障碍设计考虑**
- 考虑视觉、听觉、操作上的无障碍需求
- 设计包容性的用户体验
- 提供多种交互方式

请展示你的完整设计思维过程。`;

    console.log('=== 设计思维示例 ===');
    console.log(`问题：${problem.trim()}`);
    console.log('\n' + '='.repeat(50));

    const result = await geminiThinkingMode(problem, thinkingFramework, 0.5);
    console.log(result);
    return result;
}

async function criticalThinking() {
    const problem = `
    批判性思维练习：
    分析以下论断的合理性：

    "人工智能将在10年内完全取代程序员的工作，因为AI已经能够自动生成代码，而且效率比人类更高。学习编程已经没有意义了，年轻人应该转向其他职业。"

    请从多个角度分析这个观点，既要考虑支持的论据，也要考虑反对的理由。
    `;

    const thinkingFramework = `请展示你的批判性思维过程：

🔍 **论断解析阶段**
- 拆解论断的核心观点
- 识别隐含的假设
- 理解论证的逻辑结构

⚖️ **支持论据分析**
- 收集支持该观点的证据
- 分析论据的强度和可信度
- 识别论证的合理部分

🛡️ **反对论据探索**
- 寻找反驳的证据和理由
- 分析论断的逻辑漏洞
- 考虑被忽视的重要因素

🌐 **多角度视角**
- 从技术发展角度分析
- 从经济社会角度考虑
- 从人文伦理角度思考

💡 **综合判断形成**
- 权衡各方面的论据
- 形成平衡的观点
- 提出更准确的结论

请展示你的完整批判性思维过程。`;

    console.log('=== 批判性思维示例 ===');
    console.log(`问题：${problem.trim()}`);
    console.log('\n' + '='.repeat(50));

    const result = await geminiThinkingMode(problem, thinkingFramework, 0.4);
    console.log(result);
    return result;
}

// 使用示例
(async () => {
    try {
        console.log('=== Gemini思考模式示例 ===\n');

        // 示例1: 编程思维
        await solveProgrammingProblem();
        console.log('\n' + '='.repeat(70) + '\n');

        // 示例2: 设计思维
        await designThinking();
        console.log('\n' + '='.repeat(70) + '\n');

        // 示例3: 批判性思维
        await criticalThinking();

    } catch (error) {
        console.error('程序执行出错:', error.message);
    }
})();
```

## 思考配置参数

您可以通过 `thinkingConfig` 参数来控制模型的思考深度，有两种方式可供选择：

```json theme={null}
{
  "generationConfig": {
    "thinkingConfig": {
      "thinkingBudget": integer,  // 方式一：指定思考令牌数量
      "thinkingLevel": enum       // 方式二：指定思考等级
    }
  }
}
```

> [!WARNING]
>
> **参数兼容性警告**
>
> 您不能在同一请求中同时使用 `thinkingLevel` 和 `thinkingBudget` 参数。这样做会返回 400 错误。

### 思考等级 (thinkingLevel)

`thinkingLevel` 参数用于控制模型在生成回答之前进行内部推理过程的最大深度。

**可用的思考等级：**

* **LOW**：尽可能缩短延迟时间并降低费用。最适合简单的指令遵循、聊天或高吞吐量应用
* **HIGH**（默认）：最大限度地提高推理深度。模型可能需要更长时间才能生成第一个 token，但输出结果会经过更仔细的推理

```json theme={null}
{
  "contents": [...],
  "generationConfig": {
    "thinkingConfig": {
      "thinkingLevel": "HIGH"
    },
    "maxOutputTokens": 2000,
    "temperature": 0.3
  }
}
```

### 思考预算 (thinkingBudget)

`thinkingBudget` 参数允许您精确控制模型在思考过程中可以使用的令牌数量。这对于需要精细控制推理深度和成本的场景非常有用。

**参数说明：**

* **类型**：整数 (integer)
* **范围**：建议值在 100 到 10000 之间
* **作用**：限制模型内部推理过程的最大令牌数

```json theme={null}
{
  "contents": [...],
  "generationConfig": {
    "thinkingConfig": {
      "thinkingBudget": 2000
    },
    "maxOutputTokens": 2000,
    "temperature": 0.3
  }
}
```

**使用建议：**

| 场景 | 推荐 thinkingBudget |
| - | - |
| 简单问答 | 100 - 500 |
| 一般推理 | 500 - 2000 |
| 复杂分析 | 2000 - 5000 |
| 深度推理 | 5000 - 10000 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.