# PRD：研桌 ResearchDesk — 用自然语言驱动的实证研究工作台

> **状态**：PRD v0.1（初稿）· 原型设计中
> **作者**：idky
> **日期**：2026-08-22
> **案例定位**：0→1 产品设计 —— 从自身真实痛点出发，完成「问题 → 用户 → 方案 → 优先级 → 指标 → 风险」的完整定义

---

## 0. 文档信息

| 版本 | 日期 | 变更 |
|------|------|------|
| v0.1 | 2026-08-22 | 初稿：问题定义、范围、功能优先级、指标体系 |

**技术底座**：本文档不是空想——核心链路已有可运行原型：开源社区项目 [stata-mcp](https://github.com/683280yj/stata-mcp)（MCP 协议连接 AI 与 Stata）已实现会话管理、do 文件执行、日志回传，**我基于它做了深度定制，跑通了自己论文的完整实证流程**。本 PRD 回答的是：**如何把这类「开发者工具」变成「研究者产品」**。

---

## 1. 背景与问题

### 1.1 一个真实的工作流断点

写计量论文时的真实时间分布（自我观察 + 同门访谈）：

- **~70% 时间**：数据清洗、变量构造、试错式跑回归、调稳健性检验；
- **~30% 时间**：真正需要研究者的——识别策略、结果解释、机制讨论。

更糟的是那 70% 的性质：

1. **高频中断**：改一个变量定义 → 等 Stata 跑 → 看日志 → 再改。注意力被切碎；
2. **知识门槛错位**：Stata 命令语法是「记忆负担」而非「思考负担」，但每个初学者都要交这份学费；
3. **不可复现的混乱**：桌面上一堆 `analysis_final_v3_REALLY.do`，三个月后自己都不知道哪份出了论文里的表。

### 1.2 问题重述

> 实证研究者的时间应该花在研究设计上，而不是数据搬运和命令语法上。**能否让研究者用自然语言驱动完整的实证流程，同时保证每一步结果可复现、可审计？**

### 1.3 为什么是现在

- LLM 代码生成能力已跨过「写对一段 Stata 代码」的门槛；
- MCP 协议让 AI 调用外部软件有了标准做法（stata-mcp 已验证）；
- AI 编程工具订阅成本已降到研究生可承受范围（见案例二）。

---

## 2. 目标与非目标

### ✅ 目标（v1）

1. 研究者用自然语言完成：数据导入检查 → 变量构造 → 描述统计 → 回归 → 稳健性检验 的完整闭环；
2. **每一步自动留痕**：生成 do 文件 + 运行日志，一键复现任意结果；
3. 单人 10 分钟内从「拿到原始数据」到「第一张回归表」。

### ❌ 非目标（v1 明确不做）

| 不做 | 理由 |
|------|------|
| 通用统计 GUI（替代 Stata 界面） | 与成熟软件竞争，无差异化 |
| 数据云托管 | CFPS 等受控数据有合规限制，本地处理是底线 |
| 协作/多人编辑 | v1 单人场景已足够验证价值 |
| 自动写论文 | 越界且伤害可信度——产品帮人做研究，不替人做研究 |

**范围纪律**：非目标清单和目标清单一样重要。这是本产品最容易被「顺手做了」毁掉的地方。

---

## 3. 用户与场景

### Persona A · 计量研究生「小林」（核心用户）

- 场景：硕士论文，CFPS 面板数据，deadline 压力；
- 痛点：Stata 语法半生不熟，每次写 do 文件都在搜索引擎和旧代码间来回抄；
- 现状解法：把导师给的旧 do 文件改到面目全非；
- 期望：**「我要做固定效应 + 聚类稳健标准误，别让我查语法」**。

### Persona B · 实证研究者「张老师」（口碑放大器）

- 场景：政策评估课题，需要频繁做稳健性检验回应审稿意见；
- 痛点：审稿人一句「请换聚类层级重跑」= 半天机械劳动；
- 期望：**「说一句需求就出对照表，且我能检查每一步是怎么做的」**——注意：B 类用户要的是**可审计**，不是全自动。

### Persona C · 教学场景「助教」（低成本获客）

- 场景：带本科生计量课实操作业；
- 期望：演示「从数据到结论」的完整流程，学生照着 do 文件学。

**关键洞察**：三类用户共同要求不是「更快」，是**「快，且每一步可解释、可复现」**。这决定了产品的信任架构（见 §5.3）。

---

## 4. 核心用户旅程

```
研究者                          研桌
  │                               │
  │ "用 CFPS 2018 数据，           │
  │  构造家庭消费结构变量，          │──→ 生成数据检查报告
  │  跑土地集中对恩格尔系数          │    （缺失值/异常值/样本量）
  │  的固定效应模型"                │
  │                               │──→ 生成 do 文件（可见、可改）
  │                               │──→ 调用本地 Stata 执行
  │  看到回归表 + 方法说明          │←── 回传结果与日志
  │                               │
  │ "换成村级聚类标准误，            │
  │  再加一个 PSM 对照"             │──→ 迭代：新 do 文件 + 与上版对照
  │                               │
  │ "导出论文用的三线表"            │──→ 导出表格 + 完整 do/log 复现包
```

---

## 5. 功能需求（P0 / P1 / P2）

### P0 — 没有就不成立

| # | 功能 | 说明 | 验收标准 |
|---|------|------|---------|
| F1 | 自然语言 → Stata 任务 | 解析意图，生成可读 do 文件 | do 文件人工可审查，变量名可追溯 |
| F2 | 本地 Stata 执行引擎 | 基于 stata-mcp：会话管理、执行、日志回传 | 执行失败时错误定位到行 |
| F3 | **复现包** | 每个结果绑定 do + log + 数据指纹 | 一键重跑得到一致结果 |
| F4 | 结果对照 | 迭代式回归的新旧结果并排对比 | 规格变化处高亮 |

### P1 — 体验放大器

| # | 功能 | 说明 |
|---|------|------|
| F5 | 数据体检报告 | 导入后自动：缺失值/异常值/平衡性概览 |
| F6 | 变量字典 | 自然语言查询变量含义与构造历史 |
| F7 | 稳健性检验模板 | 常用组合（换聚类层级/剔除子样本/替换代理变量）一键生成 |
| F8 | 论文表格导出 | 三线表/rtf，格式对齐期刊惯例 |

### P2 — 明确缓做

| # | 功能 | 理由 |
|---|------|------|
| F9 | R / Python 后端 | 先把 Stata 场景做透 |
| F10 | 多项目工作区 | v1 单项目验证 |
| F11 | 结果分享页 | 涉及未发表数据，谨慎 |

### 5.3 信任架构（本产品成败点）

AI 生成统计代码的最大风险是**静默错误**——代码能跑、结果好看、方法用错了。崩溃损失时间，静默错误损失论文。对策：

1. **方法透明**：每次执行附带「我为什么这样跑」的方法说明（用了什么模型、标准误怎么聚、样本怎么筛）；
2. **结果必须带复现包**（F3），无包不出表；
3. **高风险操作确认**：样本删减、变量替换定义时，显式列出影响范围请用户确认。

---

## 6. 成功指标

| 类型 | 指标 | 目标 |
|------|------|------|
| **北极星** | 新用户「数据到手 → 第一张可信回归表」中位耗时 | ≤ 10 分钟 |
| 价值 | 结果复现成功率（F3 一键重跑） | 100%（这是硬指标） |
| 价值 | 每篇论文平均稳健性检验轮数 | 显著上升（= 以前嫌麻烦没做的都做了） |
| 护栏 | 抽查静默错误率（方法误用） | 人工抽查 < 5%，且全部有方法说明可追溯 |
| 护栏 | 用户 do 文件手动修改率 | 监测——过高说明生成质量差 |

---

## 7. 风险与开放问题

| 风险 | 等级 | 对策 |
|------|------|------|
| 静默统计错误（幻觉出「看起来对」的方法） | 🔴 最高 | 信任架构 §5.3；方法说明强制输出 |
| 受控数据合规（CFPS 等禁止上传） | 🔴 高 | 架构上本地执行，数据不出机器 |
| Stata 许可成本（用户侧） | 🟡 中 | v1 面向已有许可人群；后续评估 R 后端降低门槛 |
| AI 调用成本 | 🟡 中 | 复用案例二的分层思路：规划用强模型，代码生成用轻量模型 |
| 范围蔓延（做成通用数据分析工具） | 🟡 中 | §2 非目标清单作为评审依据 |

**开放问题**：
1. 结果可信度如何向**导师/审稿人**证明？（候选：导出「方法审计页」）
2. Stata 报错信息的自动修复边界——自动重试几次合适？
3. 教学场景（Persona C）是否值得 v1 就做？可能是最低成本的冷启动渠道。

---

## 8. 里程碑

| 阶段 | 交付 |
|------|------|
| W1（本周） | PRD v0.1 ✅ |
| W2 | 可点击原型（HTML，对齐本站视觉体系） |
| W3 | 自测 + 3 名同门可用性测试，回收 F1-F4 反馈 |
| W4 | PRD v1.0 + 案例复盘文档 |

---

*相关案例：[CASE-001 六部制多 Agent 系统](case-001-multi-agent-system.md) · [CASE-002 AI 编程工具测评](case-002-ai-coding-tools.md) · 技术底座：[stata-mcp](https://github.com/683280yj/stata-mcp)*
