# 问题与方案研究

## 研究目标

深入理解开源项目要解决的核心问题、技术挑战以及采用的解决方案，掌握问题的本质和解决路径。

## 你必须执行的研究步骤

### 步骤1：识别核心问题

**必须搜索和分析的内容：**

- 项目旨在解决的核心问题是什么
- 这个问题的背景和产生原因
- 问题的严重性和影响范围
- 为什么这个问题值得解决

**要搜索的关键词：**

- "[项目名] problem statement"
- "[项目名] solves what problem"
- "[项目名] motivation"
- "[项目名] pain points"

**信息来源：**

- 官方文档的「Motivation」或「Why」章节
- 项目的设计文档或RFC
- 创始人的技术博客或演讲
-search_web搜索项目解决的问题

### 步骤2：分析问题本质和技术挑战

**必须深入分析：**

- 问题的根源和本质是什么
- 技术上的难点和挑战在哪里
- 现有解决方案的局限性
- 为什么现有方案无法很好解决

**要搜索的关键词：**

- "[项目名] technical challenges"
- "[项目名] why existing solutions fail"
- "[项目名] limitations of alternatives"
- "[项目名] difficulties"

**信息来源：**

- 技术对比文档
- Issue中的问题讨论
- 技术博客的分析文章
- 学术论文（如果适用）

### 步骤3：研究解决方案

**必须分析的内容：**

- 项目采用的核心解决方案
- 解决方案的设计理念
- 解决方案的创新点
- 解决方案如何应对之前的挑战

**关键研究问题：**

- 这个方案的核心思想是什么
- 方案是如何解决问题的
- 方案的独特之处在哪里
- 方案的理论基础是什么

**信息来源：**

- 官方文档的「Architecture」或"Design"章节
- 技术白皮书或设计文档
- 核心代码注释和文档
- read_webpage阅读技术文档

### 步骤4：分析技术路径

**必须研究的技术路径：**

- 实现方案的技术架构
- 关键技术选型的理由
- 实现中的权衡和决策
- 技术路径的演进过程

**要搜索的关键词：**

- "[项目名] design decisions"
- "[项目名] architecture choices"
- "[项目名] trade-offs"
- "[项目名] technical approach"

**信息来源：**

- 架构设计文档
- RFC（Request for Comments）讨论
- 技术博客的深入分析
- 代码仓库的设计文档目录

### 步骤5：验证解决方案的有效性

**必须寻找的验证证据：**

- 方案是否真的解决了问题
- 有哪些实际案例和成功故事
- 性能指标和数据支持
- 用户反馈和评价

**要搜索的关键词：**

- "[项目名] benchmarks"
- "[项目名] case studies"
- "[项目名] success stories"
- "[项目名] performance metrics"

**信息来源：**

- 官方基准测试结果
- 用户案例文档
- 第三方评测文章
- 社区讨论和反馈

## 研究产出要求

### 文档结构

**必须产出文档：** `02_problem_solution.md`

**文档必须包含以下章节：**

1. 核心问题分析
2. 技术挑战分析
3. 解决方案概述
4. 技术路径分析
5. 方案有效性验证
6. 参考资料列表

### 内容质量要求

- **必须**：使用问题-解决方案的对比方式分析
- **必须**：深入理解问题本质，不止于表面描述
- **必须**：分析技术选型的理由和权衡
- **必须**：提供验证方案有效的证据
- **必须**：所有分析都有出处引用
- **禁止**：只描述功能，不分析解决的问题
- **禁止**：缺少技术深度的泛泛而谈

## 研究深度检查

在完成本阶段研究后，你必须确认：

- [ ] 能够清楚说明项目解决的核心问题
- [ ] 理解问题的技术挑战和难点
- [ ] 掌握项目方案的核心思想
- [ ] 了解技术选择的原因和权衡
- [ ] 能够分析方案的有效性
- [ ] 所有分析都有充分的依据

## 分析框架

### 问题分析框架

**必须回答的问题：**

- **What**：具体是什么问题？
- **Why**：为什么这个问题重要？
- **Who**：谁遇到这个问题？
- **When**：在什么场景下出现？
- **Impact**：问题的严重性和影响

### 方案分析框架

**必须回答的问题：**

- **How**：如何解决问题？
- **Why this way**：为什么采用这种方案？
- **Alternatives**：有哪些替代方案？
- **Trade-offs**：做了哪些权衡？
- **Innovation**：创新点在哪里？

## 常见错误

**❌ 错误做法：**

- 只列出功能特性，不分析解决的问题
- 只描述方案是什么，不分析为什么这样设计
- 缺少技术深度，停留在表面描述
- 没有验证方案的有效性

**✅ 正确做法：**

- 深入挖掘问题的本质和根源
- 分析技术决策的理由和权衡
- 寻找方案有效的验证证据
- 理解问题的背景和上下文

## 实战提示

**深入研究策略：**

1. 从创始人的第一篇文章或演讲开始理解原始动机
2. 查看项目的first commit，了解最初的实现思路
3. 阅读设计文档和RFC讨论，理解思考过程
4. 对比方案实现前后的差异，感受改进效果
5. 寻找具体的性能测试数据和用户案例