一站式科研:VS Code 与大模型实操应用

操作手册

作者
单位

陈志远

中国人民大学商学院贸易经济系 chenzhiyuan@rmbs.ruc.edu.cn

发布于

2026年6月7日

1 使用方式

这份手册供课后练习和项目搭建时查用。你可以照着它把 VS Code、大模型、Git/GitHub 和常用计量工具放进同一个研究项目,让数据、代码、结果和写作材料能重跑、能检查、能交接。

演示项目位于 demo-project/,使用合成企业面板数据模拟“数字化转型与企业生产率”研究。这里的估计结果只用于演示工作流,不对应真实企业结论。

2 安装与环境清单

2.1 必装软件

工具 用途 建议
VS Code 统一项目空间 主工作台
Python 3.10+ 数据清洗、图表、脚本 建议使用虚拟环境
Jupyter 快速研究备忘录 代码、图、表和文字放在同一页
LaTeX Workshop 正式论文与学术汇报 写论文、Beamer、BibTeX、PDF 预览
Quarto 讲座材料渲染 仅在重建本讲座 slides/handout 时需要
Git 版本控制 每个阶段可回退
GitHub 远程备份与协作 换电脑、课堂演示、合作者接手
GitHub Copilot 行内补全与对话辅助 适合低风险机械代码
Claude Code 项目级读写与验证 适合多文件工作流
Codex / Trae AI 编程与项目协作 可作为 agent 型工作台补充

2.2 按需要安装

工具 适合场景
Stata + Stata-MCP 面板回归、DID、IV、聚类标准误
Matlab + Matlab-MCP 数值优化、结构估计、仿真
Zotero 文献管理与引用
R / Julia 统计建模、可视化、数值实验

2.3 VS Code 扩展

先装这些扩展即可:

  • Python
  • Jupyter
  • GitHub Copilot
  • GitHub Copilot Chat
  • LaTeX Workshop
  • Stata Enhanced
  • MATLAB
  • GitLens
  • Markdown All in One

Quarto 主要用于重建本讲座材料。日常研究中,Jupyter 更适合快速备忘录和便携 slides;LaTeX Workshop 更适合论文、Beamer 和参考文献管理。

3 项目结构模板

新项目可以先按下面的结构搭起来。演示项目采用这个轻量版本:

demo-project/
├── data/raw/                    # 原始数据,只读
├── scripts/                     # 可重复脚本
├── notebooks/digital_stata_did.ipynb   # Stata DID 调试
├── notebooks/digital_matlab_model.ipynb # Matlab 理论模型
├── notebooks/research_memo.ipynb       # 快速研究备忘录
├── output/                      # 表格、图、日志
├── prompts/prompt-cards.md      # 可复用提问模板
├── paper/                       # LaTeX 论文或汇报稿
└── audit-log.md                 # 研究辅助记录

基本原则:原始数据只读;结果从脚本生成;notebook 记录探索过程;正式文本进入 LaTeX;AI 协助过什么,要留下记录。

项目变大以后,再扩展出 data/interim/data/processed/output/tables/output/figures/output/logs/ 等目录。刚开始不用复杂,先保证最小流程能跑通、能审查。

4 Git 与 GitHub:AI 协作的安全网

让 AI 改文件前,先把项目交给 Git。原因很简单:一次提示可能改动多个脚本、notebook、论文和配置文件。Git 能告诉你改了哪里,哪些改动已经确认,哪些随时可以撤回。

做法 使用 AI 工具时的优势
每个任务一个 commit 把 AI 修改切成可审阅、可回滚的小单元
git diff 先于接受结果 不被流畅解释带偏,直接检查代码和文字改动
分支或 draft PR 让大改动先停在隔离区,不污染主线研究结果
GitHub 远程备份 换电脑、课堂演示或合作者接手时仍可复现
Issue / PR 讨论 把 prompt、修改理由、验证结果放进同一条记录

AI 可以提高修改速度,Git/GitHub 用来记录过程、审查改动,并在出错时恢复到稳定版本。

4.1 第一次把项目纳入版本控制

先进入项目文件夹,再初始化 Git 仓库。第一次提交相当于给当前研究状态拍一张可恢复的快照。

cd demo-project
git init -b main
git status

git add .
git commit -m "init: add reproducible research demo"

常用命令:

命令 研究工作中的含义
git status 看 AI 或自己改了哪些文件
git diff 审查具体改动,再决定是否接受
git add . 把本轮确认过的改动放入暂存区
git commit -m "..." 保存一个可回退的研究节点
git log --oneline 回看研究过程中的关键节点

4.2 GitHub 远程备份

如果只是自己电脑上的 .git,已经可以回退;如果要换电脑、课堂演示或合作者接手,就需要把本地仓库推送到 GitHub。

git remote add origin git@github.com:your-name/demo-project.git
git push -u origin main

# 或者用 GitHub CLI 一步创建远程仓库并推送
gh repo create demo-project --private --source=. --remote=origin --push

给 AI 的最低要求:修改前先看 git status;修改后先看 git diff;验证通过再 commit。不要用一段流畅总结替代文件级审查。

5 工具分工

5.1 GitHub Copilot

Copilot 适合处理“我知道要写什么,只是不想手敲”的任务。

可以交给它:

  • 读写 CSV、Excel、Stata 文件
  • 变量重命名和类型转换
  • 标准图表代码
  • 回归规格模板
  • docstring、README 初稿

不要交给它:

  • 判断识别假设是否成立
  • 决定是否控制某个变量
  • 解释核心结果的经济含义
  • 自动选择稳健性检验

用法很简单:先写注释,再让 Copilot 补代码;接受前逐行读懂;运行后检查结果是否符合预期。

5.2 Claude Code

Claude Code 适合项目级任务:读多个文件、提出修改方案、改代码、运行验证。

请求里最好写清楚四件事:

  1. 目标:要完成什么
  2. 边界:哪些文件可以改,哪些不能改
  3. 验证:运行什么命令算完成
  4. 汇报:要说明哪些变化

示例:

请检查这个 demo 项目是否可复现。先读 README 和 scripts/,不要直接改文件。
找出运行顺序、输出文件和潜在失败点。然后只做最小修改,确保下面命令能成功:
python scripts/generate_synthetic_did.py
stata -b do scripts/run_stata_did.do
matlab -batch "run('scripts/matlab_power_simulation.m')"
python scripts/analyze_did.py
最后总结改动和验证结果。

项目已经使用 Git 时,把版本控制要求直接加到请求末尾:

开始前请先汇报 git status。修改后请汇报 git diff 的摘要、实际运行过的验证命令、生成的输出文件,以及是否建议我 commit。本轮不要自行 commit。

5.3 Codex / Trae

Codex 或 Trae 这类 agent 型工具也可以处理项目内的代码修改、命令运行和上下文问答。把它们看成另一种项目工作台即可。

使用边界保持一致:先读项目,再提计划;先做低风险任务,再碰核心分析;每次修改后都要运行验证命令。

版本控制要求要写进任务本身:开始前汇报 git status,结束后汇报 git diff、验证命令和是否建议 commit。这样,AI 的工作不会只留在聊天记录里。

5.4 CLI 与 MCP

CLI(Command Line Interface)是命令行入口,例如:

stata -b do scripts/run_stata_did.do
matlab -batch "run('scripts/matlab_power_simulation.m')"

CLI 适合稳定复现、批量运行和课堂备用方案。MCP(Model Context Protocol)是 AI 助手调用外部工具的协议,可以让 AI 在理解项目上下文后调用 Stata、Matlab、R、数据库或文件系统。

CLI 适合直接、稳定地运行命令;MCP 让 AI 助手可以在项目上下文中调用这些工具。先保证 CLI 命令能跑通,再尝试用 MCP 做自然语言协作。

5.5 Stata-MCP

Stata-MCP 可以把 Stata 这个计量工具接入 AI 工作流。你仍然使用熟悉的 regxtregreghdfeivregress 等命令;AI 可以帮助整理命令、运行脚本,并把 Stata 输出与 Python 结果交叉检查。

可以用来做:

  • 面板固定效应回归
  • DID / IV / RD 的标准命令
  • 聚类标准误与回归表导出
  • 复核 Python 或 R 的计量结果

如果 MCP 暂时不可用,就把同样命令写成 .do 文件运行。MCP 是增强项,不需要一开始就配好。

5.6 Matlab-MCP

Matlab-MCP 可以把既有 Matlab 代码、数值优化和仿真实验纳入 VS Code 项目。

可以用来做:

  • 结构估计中的内外循环
  • 数值优化与矩阵运算
  • 旧项目的 Matlab 代码复用
  • 仿真结果与 Python/Jupyter/LaTeX 写作衔接

5.7 Jupyter Notebook

Jupyter 适合快速研究备忘录。它可以把代码、图、表和初步解释放在同一个文件里,方便课堂展示、组会讨论和导师反馈。

常用命令:

jupyter nbconvert notebooks/research_memo.ipynb --to html --execute
jupyter nbconvert notebooks/research_memo.ipynb --to slides --execute

探索性结果可以先写进 notebook:数据诊断、一张核心图、一张核心表、一段有边界的解释。正式论文不要停在 notebook 中,后续迁移到 LaTeX。

5.8 LaTeX Workshop

LaTeX Workshop 用于正式论文和学术汇报 slides。它提供 PDF 预览、自动编译、错误定位、BibTeX/Biber 支持和 SyncTeX 跳转。

这些内容适合放进 LaTeX:

  • 正式模型设定
  • 回归表和图题说明
  • 论文 results subsection
  • Beamer 学术汇报
  • 参考文献与交叉引用

6 演示项目运行说明

进入演示项目:

cd InvitedLectures/one-stop-research-vscode-llm/demo-project

创建数据:

python scripts/generate_synthetic_did.py

运行分析:

python scripts/analyze_did.py

打开或导出 notebook 备忘录:

jupyter nbconvert notebooks/research_memo.ipynb --to html --execute

预期输出:

  • data/raw/digital_transformation_firm_panel.csv
  • output/python_did_results.csv
  • output/stata_did_results.csv
  • output/stata_event_study.csv
  • output/stata_placebo_results.csv
  • output/digital_parallel_trends.png
  • output/digital_event_study.png
  • output/matlab_theory_estimates.csv
  • output/matlab_theory_model.png
  • output/demo_summary.md
  • notebooks/digital_stata_did.ipynb
  • notebooks/digital_matlab_model.ipynb
  • notebooks/research_memo.html

7 Prompt 卡片

7.1 项目检查

请先阅读这个项目的 README、scripts、notebooks/digital_stata_did.ipynb、notebooks/digital_matlab_model.ipynb 和 notebooks/research_memo.ipynb。请不要修改文件。
告诉我:运行顺序是什么?每一步应该生成什么输出?有哪些潜在失败点?
如果这是一个 Git 仓库,请先汇报 git status。

7.2 数据检查

请检查 data/raw/digital_transformation_firm_panel.csv 的变量、缺失值和面板结构。
输出一段简短诊断:企业数、处理组数量、年份数、是否存在重复 firm_id-year。

7.3 代码修复

请修复 scripts/analyze_did.py 中导致输出文件无法生成的问题。
只做最小修改。修改后运行脚本,并确认 python_did_results.csv、digital_parallel_trends.png 和 demo_summary.md 已生成。
开始前请汇报 git status;结束后请汇报 git diff 摘要、验证命令和是否建议 commit。本轮不要自行 commit。

7.4 结果写作

请根据 output/stata_did_results.csv、output/stata_placebo_results.csv、output/digital_event_study.png 和 output/matlab_theory_estimates.csv 改写 notebooks/research_memo.ipynb 中的结果段落。
要求:说明数据是合成的,不能推出真实企业数字化转型结论;不要虚构文献;保留 DID 估计对象、聚类标准误、平行趋势和安慰剂检验说明。

7.5 LaTeX 写作

请把 notebook 里的结果段落改写成论文风格的 LaTeX 小节。
要求:保留模型设定、聚类标准误说明、平行趋势/安慰剂检验、Matlab 理论机制和合成数据限制;不要虚构文献;不要改变估计对象;输出可直接放进 paper/main.tex。

7.6 审计日志

请根据本次修改更新 audit-log.md。每条记录包括:工具、任务、接受的输出、拒绝或修改的输出、验证方式。

8 常见故障

8.1 Python 找不到包

现象:ModuleNotFoundError

解决:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

8.2 Notebook 找不到图片

检查图片是否已经由脚本生成,并确认 notebook 中的路径相对于当前文件。

8.3 Stata 或 Matlab 不在 PATH

讲座或课堂演示时,如果 PATH 一时配置不好,先使用备用方案,避免把演示时间耗在环境排查上。可以直接打开 Stata/Matlab GUI 运行备用脚本;时间紧的话,用准备好的输出讲 MCP 思路。

8.4 AI 改了太多文件

让它停下,运行 git diff 看改动。下次请求中明确写:“只允许修改 scripts/analyze_did.py,不要改其他文件。”

8.5 还没有第一次 commit

先不要把项目级修改交给 agent。运行 git status 看清楚当前文件,完成一次初始提交后再继续:

git add .
git commit -m "init: add reproducible research demo"

如果 git status 显示很多自己还没看过的改动,先用 git diff 审查,再决定哪些进入本次 commit。

9 AI 使用审计模板

## YYYY-MM-DD HH:MM

- 工具:
- 任务:
- 接受的输出:
- 拒绝或修改的输出:
- 验证方式:
- 人工判断:

10 7 天采用计划

10.1 第 1 天:搬项目

选一个正在做的小项目,放进 VS Code,建立 data/ scripts/ notebooks/ output/ paper/,运行 git init -b main,完成第一次 commit。

10.2 第 2 天:交给 Copilot 一个低风险任务

只交给它读数据、画图、导出表这些可验证任务。

10.3 第 3 天:请 Claude Code 检查项目

要求它只读不改,先汇报 git status,再找出项目不可复现之处。

10.4 第 4 天:脚本化一个结果

把一个手动步骤变成脚本输出文件。

10.5 第 5 天:写 notebook 备忘录

把一个表和一张图放进 Jupyter notebook,写出一段有边界的初步解释。

10.6 第 6 天:记一次 AI 协助过程

记录一次 AI 协助过程:它改了什么、你接受了什么、拒绝了什么、最后用什么方式验证。

10.7 第 7 天:复盘

从零运行整个项目。如果不能一键重现,就让 AI 帮你找断点。

11 最后一条

AI 能帮你多做几步,但题目怎么定、识别能不能站住、结论该不该写,仍然要自己负责。