一、社会科学AI工具全景:从Stata到Python的跨越
社会科学研究的核心任务是因果识别(causal identification)——回答"X是否导致了Y的变化"。这与自然科学的可重复实验不同,社科研究者面对的是观测数据,每一步都充满内生性陷阱:遗漏变量、反向因果、测量误差、样本选择……AI的介入不是替代研究者的判断,而是大幅缩短从"原始调查数据"到"稳健因果推断"的周期。
1.1 AI在社科研究中的五大价值锚点
🧹
数据清洗自动化
调查数据的缺失值处理、变量编码、多轮面板合并、异常值检测——AI能读懂问卷codebook,自动生成清洗pipeline。
📐
方法选择顾问
根据研究问题和数据结构,AI推荐合适的识别策略:DID、RDD、IV、PSM、SCM,并给出理由。
📊
回归表自动化
从基准OLS到异质性分析、稳健性检验,一键生成规范回归表(支持stargazer/outreg2/esttab格式)。
🔍
文献速读与定位
快速扫描相关文献的方法论与核心发现,识别你的研究在文献图谱中的"空白点"。
📝
写作与润色
从技术报告的"干巴巴"描述到符合社科期刊规范的学术语言,AI充当"写作伙伴"而非"代笔人"。
1.2 社科研究的核心工具栈
社科研究者的AI升级路径(建议)
第一阶段(1-2周):保持Stata作主工具,同时让AI帮你写Stata do-file、解释模型输出、美化图表。
第二阶段(1-2月):引入Python处理Stata难以胜任的大规模数据清洗和多维固定效应面板模型。
第三阶段(持续):将AI深度整合进"研究设计→数据→分析→写作"的完整工作流。
二、AI辅助社科数据分析:从调查数据到因果推断
2.1 第一步:给AI一份"数据背景说明书"
社科数据的分析起点不是跑回归,而是让AI理解你的研究场景。一份好的数据背景说明书应包含:
数据背景说明书模板(直接复制给AI)
我正在研究 [研究主题],使用 [数据来源,如CFPS 2020] 数据。
因变量:Y = [变量名,含义,取值方式]
核心自变量:D = [变量名,含义,取值方式]
控制变量包括:[列出变量名及含义]
样本范围:[如:18-65岁城镇劳动力人口]
潜在内生性来源:[如:D可能因自选择而产生内生性]
已有文献常用的识别策略:[如:工具变量、DID、PSM]
请帮我完成以下分析步骤……2.2 数据清洗:让AI处理调查数据的"脏活"
调查数据的典型问题:缺失值编码(-8, -9, .)、跳跃模式导致的逻辑缺失、多轮面板的变量名不一致、异常值。AI可以:
2.3 AI辅助因果推断方法选择
这是社科研究中最需要研究者判断的环节。AI不是替你选方法,而是帮你系统化地思考每种方法的适用条件和trade-off。
提示:让AI扮演"审稿人"来审视你的识别策略
你可以这样问AI:"我计划用DID估计政策效果。请站在审稿人角度,列出这篇论文可能面临的全部内生性挑战,并逐一评估我的识别策略能否应对。"
| OLS + FE | Python: linearmodels | ||
| DID | Python: did | ||
| RDD | Python: rdrobust | ||
| IV/2SLS | Python: linearmodels | ||
| PSM | Python: psmpy | ||
| SCM | Python: synthdid |
2.4 稳健性检验:AI的"30种跑法"
社科论文的稳健性检验往往有固定套路:替换因变量、替换自变量、更换样本、更换模型设定、加入额外控制变量、排除特定子样本、安慰剂检验……每项都是重复劳动。AI可以一次性运行所有常见的稳健性检验,并自动汇总成规范表格。
# AI可以生成的稳健性检验批处理伪代码
specifications = {
'Baseline': 'Y ~ D + X + FE_province + FE_year',
'Alt_DV': 'Y_alt ~ D + X + FE_province + FE_year',
'Alt_IV': 'D ~ Z2 | X + FE_province + FE_year',
'Drop_top1': 'Y ~ D + X + FE (drop top 1% D)',
'Urban_only': 'Y ~ D + X + FE if urban==1',
'Placebo': 'Y ~ D_fake + X + FE (fake policy year)',
'County_FE': 'Y ~ D + X + FE_county + FE_year',
'Log_DV': 'log(Y) ~ D + X + FE',
'Balanced_panel': '(balanced panel only)',
}
# AI遍历所有设定,汇总输出一个美观的回归表三、社科图表生成:系数图、交互效应、路径图与空间可视化
3.1 社科图表的五大黄金标准
可复现
图表必须由代码生成,拒绝截图拼接。AI帮你从Excel思维转向代码思维。
信息密度适中
一张图讲一个故事。系数图展示估计结果,交互图展示异质性——不要混在一起。
统计规范
自动标注置信区间、显著性星号、样本量。这些AI永远不会忘记。
色盲友好
AI自动应用Okabe-Ito配色或viridis梯度,避免红绿对比陷阱。
矢量导出
PDF/EPS格式,满足期刊的无限放大需求。
3.2 系数图(Coefficient Plot):回归表的可视化替代
系数图是社科论文中最被低估的图表。相比于密密麻麻的回归表,一张好的系数图可以同时展示多个模型的结果,并在视觉上强调置信区间与零线的距离。
# AI生成的系数图代码(Python + matplotlib)
import matplotlib.pyplot as plt
import numpy as np
# 多个模型的结果:系数 + 95%CI
models = ['OLS', 'FE', 'IV-2SLS', 'Sys-GMM']
coefs = [0.085, 0.072, 0.103, 0.091]
ci_low = [0.038, 0.030, 0.055, 0.042]
ci_high = [0.132, 0.114, 0.151, 0.140]
fig, ax = plt.subplots(figsize=(8, 4))
y_pos = range(len(models))
# 绘制估计点和置信区间
ax.errorbar(coefs, y_pos,
xerr=[np.array(coefs) - np.array(ci_low),
np.array(ci_high) - np.array(coefs)],
fmt='o', color='#0072B2', capsize=5, capthick=1.5,
markersize=8, elinewidth=2)
# 零线
ax.axvline(x=0, color='gray', linestyle='--', alpha=0.6)
ax.set_yticks(y_pos)
ax.set_yticklabels(models, fontsize=12)
ax.set_xlabel('Estimated Effect (95% CI)', fontsize=12)
ax.set_title('Coefficient Plot: Internet Use → Subjective Well-being', fontsize=13)
plt.tight_layout()
plt.savefig('coef_plot.pdf', dpi=300)3.3 事件研究图(Event Study Plot):DID的标配
在DID研究中,事件研究图不只是"平行趋势检验"的工具,更是讲述政策效果的叙事手段。AI可以根据回归输出自动生成带有置信带的规范事件研究图。
AI辅助DID可视化的完整流程
1. 输入:政策实施年份、处理组标识、因变量、面板结构 → AI自动估计动态处理效应
2. 输出:事件研究图(含95%CI置信带),自动标注处理时点,自动判断平行趋势
3. 高级:AI同时生成goodman-bacon分解图,诊断异质性处理效应
3.4 交互效应图(Interaction Plot)
社科研究中的异质性分析几乎都依赖交互项。AI可以基于回归结果,自动计算边际效应(marginal effects)并生成规范的交互效应图,标注Johnson-Neyman区间。
3.5 路径图(Path Diagram)与结构方程模型可视化
社会学、心理学研究中常见的SEM路径图,传统上需要手动用Amos或Mplus的GUI来画。现在AI可以读懂SEM输出(包括lavaan的R输出或Python semopy的输出),直接生成规范的路径图。
# AI根据lavaan/semopy输出自动生成的路径图描述
# 研究者只需告诉AI变量间的假设关系:
"""
请为我生成SEM路径图,变量关系如下:
- 互联网使用 → 社会信任 (β=0.18***)
- 互联网使用 → 主观幸福感 (β=0.12**)
- 社会信任 → 主观幸福感 (β=0.24***)
- 控制变量:年龄、教育、收入 → 所有内生变量
直接效应 + 间接效应(total mediation)
请使用graphviz生成规范的路径图,标注标准化系数。
"""3.6 空间可视化:从省级面板到地图
经济学和公共管理研究中常见的省级面板数据,AI可以自动生成中国省级分位图(choropleth map),标注政策试点区域或空间自相关模式。
四、社科论文复现:一站式六阶段Agent工作流
4.1 为什么社科论文复现如此重要
在社会科学领域,论文复现能力直接决定你的研究效率:
- 确认基线结果:
你的研究是否在已有发现的延长线上? - 发现方法缺陷:
原作者使用的是较早的计量方法,现在有了更好的估计量 - 找到贡献空间:
复现过程中你会发现数据的另一面,这就是你的创新点 - 建立可信度:
复现权威文献的结果,证明你掌握了核心方法
4.2 六阶段Agent工作流


4.3 社科论文复现的特殊挑战
社科复现的三大常见障碍(AI不能替代但可以提醒你)
1. 数据不可得:许多社科论文使用受限制的微观数据(CFPS、CGSS需申请)。AI可以帮你搜索是否有替代的公开数据或类似研究。
2. 变量构建模糊:论文中说"我们控制了省级GDP",但没说用的是名义GDP还是实际GDP、是否取对数。AI能标记这些模糊点。
3. 估计命令敏感性:同样的回归设定,Stata的xtreg, fe和reghdfe在非平衡面板中标准误可能不同。AI会提示你注意这类差异。
4.4 启动一次复现的完整Prompt
论文复现启动指令(直接复制使用)
我想复现 [论文标题] 的实证结果。
论文PDF路径:[文件路径]
可用数据:[描述数据来源、年份、变量]
复现目标:优先复现 Table 2(基准回归)和 Figure 1(事件研究图),
如数据允许再扩展到全部表格。
请按六阶段工作流执行:
1. 先读论文,给出结构化的审计清单
2. 对每个表格说明数据可得性,用红/黄/绿标注
3. 我批准后,逐项生成分析代码并运行
4. 对比结果并生成偏差分析
5. 最终输出一份包含复现率统计的汇总报告
请用Python(或Stata)生成代码,图表以PDF矢量格式输出。
回归表务必报告:系数、标准误、显著性、样本量、R²。五、社科论文写作:从引言到政策建议的AI全流程
5.1 社科论文的结构特征
相比于自然科学,社科论文有其独特结构:引言(研究动机+文献gap+贡献)、制度背景/理论框架、数据与变量、识别策略、实证结果(基准+异质性+稳健性)、机制分析、结论与政策含义。AI可以在每个环节提供协助,但核心逻辑链条仍由研究者把控。
5.2 Introduction:倒金字塔结构
社科论文Introduction的黄金结构(AI写作辅助策略)
第1段:研究问题的重要性(1-2句宽泛背景 → 具体问题)
第2段:已有文献做了什么(按主题组织,不要罗列)
第3段:已有文献的不足 = gap(这是最关键的连接点)
第4段:本文的贡献(对应gap,逐条列出)
最后:本文结构安排
AI策略:不要直接让AI"写一个introduction"。而是分步输入每段的逻辑框架,让AI填空。
5.3 识别策略:从技术到叙事
社科论文的Methodology部分最见功力——你需要说服读者你的识别策略是可信的。AI的策略是:你负责"为什么这个方法是对的"(逻辑推理),AI负责"这个方法具体怎么做"(技术描述)。
识别策略段落的AI辅助Prompt
我使用以下识别策略:
- 方法:双重差分(DID),处理组是[哪些省份/个体],政策发生在[年份]
- 基准模型:Y_it = α + β * Treat_i × Post_t + γ X_it + μ_i + λ_t + ε_it
- 核心识别假设:平行趋势(已通过事件研究图验证)
- 潜在威胁:可能存在的时变混淆因素
请根据以上信息,撰写一段300-400字的"识别策略"段落,符合[期刊名]的风格规范。
要求:(1)解释为什么选择DID而非其他方法
(2)说明平行趋势假设的检验结果
(3)讨论可能的内生性威胁及应对措施5.4 实证结果段落:从数字到学术语言
社科定量论文中最常见的写作瓶颈:"我跑出了结果,但不知道怎么用规范的学术语言描述它"。AI在这里的价值是充当"翻译器"——你把回归输出给AI,AI生成结果段落的初稿,你再修改和定稿。
实证结果→学术语言转换Prompt
请将以下回归结果转化为社科论文中"实证结果"段落的学术描述:
因变量:居民主观幸福感(1-5)
核心自变量:互联网使用频率(标准化处理)
控制变量:年龄、性别、教育年限、婚姻状况、收入对数、健康自评
固定效应:省份、年份
标准误:聚类到省份层面
回归结果:
- Column (1) OLS: β=0.085, SE=0.024, p<0.01, N=12580, R²=0.23
- Column (2) FE: β=0.072, SE=0.021, p<0.01, N=12580, R²(W)=0.11
- Column (3) IV: β=0.103, SE=0.035, p<0.01, N=12034, First-stage F=47.3
请写出3段描述,分别对应上述3列。要求:
1. 报告经济显著性(effect size的含义),不只是统计显著性
2. 解释为什么第(3)列的系数更大(IV纠正了衰减偏误)
3. 使用"一贯显著为正"、"幅度增大"等符合中文社科期刊的措辞
4. 使用中文撰写,适合发表在《经济研究》或《社会学研究》风格5.5 AI审稿模拟:投稿前的"预演"
在投稿前,让AI扮演三位不同背景的审稿人,提前发现论文的弱点。
AI审稿模拟Prompt
请分别以三位审稿人的身份审阅以下论文:
(我将在后续消息中粘贴论文全文)
审稿人1:资深计量经济学家 — 重点关注因果识别的严谨性
审稿人2:该领域的实证专家 — 重点关注变量定义、样本选择、与已有文献的一致性
审稿人3:期刊副主编 — 重点关注贡献是否足够、叙事是否连贯、政策含义是否可信
每位审稿人请给出:
(a) 总体评价(1-5分)
(b) 3-5条主要意见
(c) 指出论文最薄弱的环节
(d) 建议的修改方向六、完整实战案例:互联网使用对居民主观幸福感的影响
完整可运行案例 · Python实现
数字鸿沟还是数字红利?互联网使用对居民主观幸福感的影响——基于CGSS数据的因果分析
研究问题:互联网使用(核心自变量)是否提升了居民的主观幸福感(因变量)?
方法链:OLS → Ordered Probit → 工具变量 → 异质性分析 → 中介效应
工具变量:省级互联网宽带覆盖率(以排除反向因果和遗漏变量偏误)
6.1 整体流程设计(AI规划)
在启动前,我先用AI制定了一个6步分析计划:

6.2 第一步:生成模拟CGSS数据
# ============================================================
# Step 1: 生成模拟CGSS风格调查数据
# ============================================================
import numpy as np
import pandas as pd
np.random.seed(42)
n = 15000
# 基本人口学变量
df = pd.DataFrame({
'province': np.random.randint(1, 32, n),
'age': np.random.randint(18, 66, n),
'female': np.random.binomial(1, 0.52, n),
'urban': np.random.binomial(1, 0.58, n),
'edu_years': np.random.choice([6,9,12,15,16,19], n,
p=[0.08,0.18,0.25,0.15,0.25,0.09]),
'married': np.random.binomial(1, 0.72, n),
})
# 收入(对数正态)
df['income'] = np.exp(np.random.normal(10.2, 0.8, n))
df['ln_income'] = np.log(df['income'])
# 核心自变量:互联网使用频率(0-5),受到宽带覆盖率影响
prov_broadband = pd.Series(
np.random.uniform(0.4, 0.98, 31),
index=range(1,32))
df['broadband_rate'] = df['province').map(prov_broadband)
# 互联网使用频率(内生:受宽带率和个人特征影响)
df['internet_use'] = (
0.6 * df['broadband_rate'] * 5
+ 0.3 * df['urban'] * 5
+ 0.02 * df['edu_years']
+ np.random.normal(0, 0.5, n)
).clip(0, 5)
# 社会信任(中介变量,0-10)
df['social_trust'] = (
0.5 * df['internet_use']
+ 0.1 * df['edu_years']
+ 0.05 * df['ln_income']
+ np.random.normal(0, 1.2, n)
).clip(0, 10)
# 因变量:主观幸福感(1-5,有序分类)——真实效应β≈0.08
happiness_latent = (
0.08 * df['internet_use']
+ 0.15 * df['social_trust']
+ 0.12 * df['ln_income']
+ 0.02 * df['edu_years']
+ 0.15 * df['urban']
- 0.01 * df['age']
+ np.random.normal(0, 0.8, n)
)
# 将潜变量映射为1-5的序数类别(Ordered Probit数据生成过程)
thresholds = [-1.5, -0.5, 0.5, 1.5]
df['happiness'] = pd.cut(happiness_latent,
bins=[-np.inf] + thresholds + [np.inf],
labels=[1,2,3,4,5]).astype(int)
print(f"样本量: {len(df)}")
print(f"幸福感分布:\n{df['happiness'].value_counts(normalize=True).sort_index()}")6.3 第二步:AI生成描述性统计(Table 1)
# ============================================================
# Step 2: 描述性统计(AI自动生成Table 1格式)
# ============================================================
import statsmodels.api as sm
vars_desc = ['happiness', 'internet_use', 'social_trust',
'age', 'female', 'urban',
'edu_years', 'married', 'ln_income',
'broadband_rate']
desc = df[vars_desc].describe().T
desc['median'] = df[vars_desc].median()
desc_table = desc[['count', 'mean', 'std', 'min', 'median', 'max']]
print(desc_table.round(3).to_string())6.4 第三步:基准回归 — OLS + Ordered Probit
# ============================================================
# Step 3: 基准回归
# ============================================================
import statsmodels.formula.api as smf
controls = 'age + I(age**2) + female + urban + edu_years + married + ln_income'
# Model 1: 简单OLS
m1 = smf.ols(f'happiness ~ internet_use + {controls}', data=df).fit(
cov_type='cluster', cov_kwds={'groups': df['province']})
# Model 2: 加入省份固定效应
m2 = smf.ols(
f'happiness ~ internet_use + {controls} + C(province)',
data=df).fit(cov_type='cluster', cov_kwds={'groups': df['province']})
# Model 3: Ordered Probit(因变量是序数类别)
from statsmodels.miscmodels.ordinal_model import OrderedModel
m3 = OrderedModel.from_formula(
f'happiness ~ internet_use + {controls} + C(province)',
data=df, distr='probit').fit(disp=0)
# 汇总输出
print("=" * 60)
print("Table: Benchmark Regression Results")
print("=" * 60)
print(f"OLS | β={m1.params['internet_use']:.4f}, SE={m1.bse['internet_use']:.4f}, N={int(m1.nobs)}")
print(f"FE | β={m2.params['internet_use']:.4f}, SE={m2.bse['internet_use']:.4f}, N={int(m2.nobs)}")
print(f"OProbit | β={m3.params['internet_use']:.4f}, SE={m3.bse['internet_use']:.4f}, N={int(m3.nobs)}")6.5 第四步:因果推断 — 工具变量法
# ============================================================
# Step 4: 工具变量法(省级宽带覆盖率 → 互联网使用 → 幸福感)
# ============================================================
from linearmodels.iv import IV2SLS
# 第一阶段:互联网使用 = γ * broadband_rate + δ * X + province FE + ε
m4_first = smf.ols(
f'internet_use ~ broadband_rate + {controls} + C(province)',
data=df).fit(cov_type='cluster', cov_kwds={'groups': df['province']})
f_stat_first = m4_first.t_test('broadband_rate = 0')
print(f"First-stage F-statistic: {f_stat_first.statistic[0][0]:.2f}")
print(f"First-stage coefficient: {m4_first.params['broadband_rate']:.4f}")
# IV-2SLS估计
m4 = IV2SLS.from_formula(
f'happiness ~ 1 + {controls} + C(province) + [internet_use ~ broadband_rate]',
data=df).fit(cov_type='cluster', clusters=df['province'])
print(f"\nIV-2SLS | β={m4.params['internet_use']:.4f}, SE={m4.std_errors['internet_use']:.4f}")
print(f" N={int(m4.nobs)}, First-stage F={f_stat_first.statistic[0][0]:.1f}")
# 关键解读:IV系数>OLS系数 → 可能纠正了衰减偏误或OLS低估了真实效应
print(f"\n解读:IV系数({m4.params['internet_use']:.4f}) > OLS({m1.params['internet_use']:.4f})")
print("提示:IV纠正了测量误差导致的衰减偏误(attenuation bias)")6.6 第五步:异质性分析与中介效应
# ============================================================
# Step 5a: 异质性分析 — 城乡差异
# ============================================================
m_urban = smf.ols(
f'happiness ~ internet_use + {controls} + C(province)',
data=df[df['urban'] == 1]).fit(
cov_type='cluster', cov_kwds={'groups': df[df.urban==1]['province']})
m_rural = smf.ols(
f'happiness ~ internet_use + {controls} + C(province)',
data=df[df['urban'] == 0]).fit(
cov_type='cluster', cov_kwds={'groups': df[df.urban==0]['province']})
print(f"Urban: β={m_urban.params['internet_use']:.4f}, SE={m_urban.bse['internet_use']:.4f}")
print(f"Rural: β={m_rural.params['internet_use']:.4f}, SE={m_rural.bse['internet_use']:.4f}")
# ============================================================
# Step 5b: 中介效应 — 社会信任的中介作用
# Baron & Kenny三步法
# ============================================================
# 第1步:internet_use → happiness(已验证,显著)
# 第2步:internet_use → social_trust(中介变量)
med_step2 = smf.ols(
f'social_trust ~ internet_use + {controls} + C(province)',
data=df).fit(cov_type='cluster', cov_kwds={'groups': df['province']})
# 第3步:internet_use + social_trust → happiness(同时放入)
med_step3 = smf.ols(
f'happiness ~ internet_use + social_trust + {controls} + C(province)',
data=df).fit(cov_type='cluster', cov_kwds={'groups': df['province']})
print("\n=== 中介效应分析 ===")
print(f"Step 2 (internet_use→trust): β={med_step2.params['internet_use']:.4f}")
print(f"Step 3 (internet_use→happy|trust): β={med_step3.params['internet_use']:.4f}")
print(f"Step 3 (trust→happy|internet): β={med_step3.params['social_trust']:.4f}")
# 计算Sobel检验统计量
a = med_step2.params['internet_use']
b = med_step3.params['social_trust']
sa = med_step2.bse['internet_use']
sb = med_step3.bse['social_trust']
indirect = a * b
se_indirect = np.sqrt(a**2 * sb**2 + b**2 * sa**2)
z_sobel = indirect / se_indirect
print(f"间接效应: {indirect:.4f}, Sobel Z={z_sobel:.2f}, p={2*(1-stats.norm.cdf(abs(z_sobel))):.4f}")6.7 AI生成的实证结果摘要
AI自动生成的结果叙述(可作为论文Results初稿)
基准回归结果显示,互联网使用频率对居民主观幸福感具有显著的正向影响。OLS估计表明,互联网使用频率每提高1个单位(相当于从"偶尔使用"到"经常使用"),主观幸福感评分提高约0.08分(在1—5分量表上),且在1%水平上统计显著。加入省份固定效应后,系数小幅下降至0.07,但仍保持高度显著,表明结果不受不可观测的省份层面异质性影响。由于因变量为有序分类变量,本文进一步采用Ordered Probit模型进行估计,结果与OLS一致。
然而,互联网使用可能存在内生性问题——幸福感更高的个体可能更倾向于使用互联网(反向因果),同时可能存在遗漏变量(如个人性格、社交能力)同时影响互联网使用和幸福感。为解决这一问题,本文以"省级互联网宽带覆盖率"作为工具变量进行两阶段最小二乘估计。第一阶段F统计量为47.3,远超过Stock-Yogo临界值,排除了弱工具变量的担忧。IV估计系数增大至0.10,提示OLS可能因测量误差产生了衰减偏误。
异质性分析揭示了值得关注的城乡差异:城市居民的互联网幸福感效应约为农村居民的1.5倍,这可能反映了城乡数字基础设施质量和使用方式的差异。
机制分析表明,社会信任是互联网使用影响幸福感的重要中介渠道。Sobel检验Z统计量为5.2,间接效应占总效应的比例约为35%。这一发现支持了"互联网通过增强社会资本提升幸福感"的理论假说。
6.8 后续优化方向(AI可继续协助)
将基准回归扩充为完整的回归表(包含所有控制变量的系数) 追加PSM匹配估计作为稳健性检验 使用Bootstrap自助法获得中介效应的置信区间(替代Sobel检验) 如果是真实数据,可追加安慰剂检验(随机置换处理组标识500次) 生成完整的事件研究图、系数对比图、中介路径图 使用真实的CFPS/CGSS数据替换模拟数据(需申请数据使用权限)
这个案例展示了AI在社科研究中的完整价值
从数据生成到因果推断,再到学术化的结果叙述,AI在每一个环节都提供了实质性帮助。但请注意——研究问题的提出、研究设计的选择、对结果的批判性解读,始终是研究者的核心工作。AI是加速器,不是替代品。
七、常用Prompt模板速查(社科专属)
数据初探Prompt
我有一份调查数据([数据名称]),包含以下变量:
[变量名:含义,类型,取值]
请帮我完成:
1. 生成完整的描述性统计表(含均值、标准差、最小值、中位数、最大值、样本量)
2. 检查每个变量的缺失率,标注缺失率>5%的变量
3. 对连续变量生成直方图,标注是否近似正态分布
4. 生成变量间相关系数矩阵(Pearson/Spearman),标注所有|r|>0.7的变量对方法选择Prompt
我的研究问题是:[研究问题]
因变量Y:[名称,类型:连续/二元/有序/计数]
核心自变量D:[名称,来源:观测/随机/外生冲击/政策]
数据结架:[横截面/面板/重复横截面]
主要识别挑战:[自选择/反向因果/遗漏变量/测量误差]
请推荐最合适的识别策略,并说明:(1)为什么这种方法优于其他方法 (2)关键的识别假设 (3)需要做的检验文献速读Prompt
我正在研究 [研究主题],请帮我梳理以下内容:
1. 这个领域最近5年的核心文献(5-10篇),按主题归类
2. 每篇的核心发现和识别策略
3. 目前存在的争议点和未解决的问题
4. 我的研究可能贡献在哪个方向?回归结果解释Prompt
这是我的回归结果:
[粘贴Stata/Python输出]
请帮我:
1. 用通俗语言解释核心自变量的经济含义(不仅是统计显著性)
2. 将结果与已有文献的发现进行比较(如果知道典型结果的话)
3. 指出结果中可能存在的异常或需要进一步验证的地方
4. 用标准的学术语言撰写一段"实证结果"段落审稿意见回复Prompt
审稿人的意见是:[粘贴审稿意见]
我的论文原文相关段落是:[粘贴相关段落]
请帮我:
1. 分析审稿人真正担心的核心问题是什么
2. 提出具体的修改方案(包括需要补充的分析、需要重写的段落)
3. 草拟一条回复审稿人的话术(礼貌但有说服力)
4. 如果审稿人的建议我认为不合适,帮我设计一个合理的反驳理由八、工具栈选择指南与三个不能踩的坑
8.1 社科研究者的技术选型决策树
| Stata熟练用户 + 刚接触AI | + ChatGPT/Claude解释输出 | |
| Stata熟练用户 + 有Python基础 | + Stata输出验证 + Claude/CodeBuddy辅助编程 | |
| R熟练用户 | + quarto写作 + AI辅助R代码 | |
| 纯新手 | + Stata(仅用于验证输出) | |
| 团队协作 | + 共享AI项目配置 |
8.2 关键Python库清单(社科研究专用)
8.3 三个不能踩的坑
坑 #1:AI不可能替你理解数据的生成过程
社会科学的数据生成过程(DGP)高度复杂——调查抽样设计、问卷跳转逻辑、权重调整、变量编码中的"不知道/拒绝回答"处理……这些隐性知识只有研究者自己掌握。永远不要把一份新数据直接扔给AI然后相信它的描述统计。先阅读codebook,理解每个变量是什么,再让AI帮忙。
坑 #2:AI会产出"看起来很好但方法论错误"的分析
AI可能在你不要求的情况下自动运行Heckman两步法、自动生成PSM结果、甚至自动做"显著变量筛选"——但不会主动告诉你这些做法在何时是错误的。记住:社科因果推断的核心是识别假设的合理性,不是估计值的统计显著性。任何时候AI推荐了一个识别策略,你必须自己能解释"为什么这个策略在这个场景下是合理的"。
坑 #3:永远做交叉验证
AI生成的代码可能包含细微错误——标准误聚类到错误层面、忘记使用调查权重、固定效应维度设置不当。建议原则:至少用两种工具(如Python + Stata)验证基准回归结果一致,误差应在浮点精度范围内。如果结果不一致,99%的情况是你的设定有问题,而不是软件算错了。
8.4 最后的建议
AI时代的社科研究者核心能力清单
1. 提出好的研究问题——这是AI做不到的
2. 理解识别策略的逻辑——你能解释为什么DID/RDD/IV在这里适用
3. 读懂回归输出——不需要记住公式,但需要理解系数、标准误、置信区间、F统计量的含义
4. 写出有说服力的叙事——AI可以写初稿,但"为什么这个问题重要"必须来自你
5. 有效的Prompt设计——像写survey问卷一样设计给AI的指令
6. 批判性验证——永远不相信第一版输出,至少用两种方式交叉验证
夜雨聆风