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

会后操作手册

作者
单位

陈志远

中国人民大学商学院贸易经济系

发布于

2026年6月9日

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 和参考文献管理。

2.4 国产大模型接入

Copilot 和 Claude Code 默认使用海外模型。如果你希望使用更稳定、更低延迟的国产模型,可以按以下方式接入。

2.4.1 Copilot 接入 DeepSeek

DeepSeek V4 提供了专门的 VS Code 扩展,安装后可直接在 Copilot Chat 的模型选择器中使用 DeepSeek 模型。Copilot 的 agent 模式、工具调用、skills 和 MCP 全部保留,只替换底层模型。

步骤:

  1. 确认 VS Code >= 1.116,已安装 GitHub Copilot 并有订阅(免费版即可)
  2. GitHub 安装 DeepSeek V4 扩展
  3. 前往 DeepSeek 开放平台 创建 API Key(以 sk- 开头)
  4. 在 VS Code 中按 Cmd+Shift+P,运行 DeepSeek: Set API Key,粘贴 key(密钥存储在系统钥匙串,不会写入磁盘)
  5. 打开 Copilot Chat(Cmd+Shift+I),点击右上角模型选择器,选择 DeepSeek V4 ProDeepSeek V4 Flash

可选配置:

  • 思考力度:在模型选择器中点击 DeepSeek 模型旁的齿轮图标,可选择 None(最快)/ High(默认,均衡)/ Max(复杂任务深度推理)
  • 图片支持:DeepSeek V4 是纯文本模型,但扩展会自动通过其他已安装的 Copilot 模型(如 Claude、GPT-4o)描述图片后再发送给 DeepSeek

参考文档:https://api-docs.deepseek.com/quick_start/agent_integrations/github_copilot

2.4.2 Claude Code 接入 Kimi

Kimi K2.5 通过兼容 Anthropic API 的方式接入 Claude Code。配置环境变量后,Claude Code 的所有功能(agent 循环、工具调用、项目读写)均由 Kimi 模型驱动。

步骤:

  1. 前往 Kimi 开放平台 创建 API Key,选择 default 默认项目
  2. 建议在平台 项目设置 中配置「项目日消费预算」,并开启余额预警提醒
  3. 在终端中设置环境变量后启动 Claude Code:
# macOS / Linux
export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic
export ANTHROPIC_AUTH_TOKEN=你的Kimi_API_Key
export ANTHROPIC_MODEL=kimi-k2.5
export ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k2.5
export ANTHROPIC_DEFAULT_SONNET_MODEL=kimi-k2.5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=kimi-k2.5
export CLAUDE_CODE_SUBAGENT_MODEL=kimi-k2.5
export ENABLE_TOOL_SEARCH=false
claude
  1. 进入 Claude Code 后输入 /status 确认模型状态;按 Tab 键可切换 Thinking 开关(看到 “Thinking on” 即表示思考模式已启用)

注意事项:

  • 大模型代码生成存在随机性,编程工具会自动多轮重试,token 消耗可能较快,建议设置日消费上限
  • 建议使用时保持监控,避免无限循环或过度重试造成不必要的资源消耗

参考文档:https://platform.kimi.com/docs/guide/agent-support

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 在 VS Code 中配置 MCP 服务器

VS Code 通过 mcp.json 文件管理 MCP 服务器。该文件有两种作用域:

  • 工作区(Workspace):在项目根目录创建或编辑 .vscode/mcp.json。将此文件纳入 Git 版本控制,即可与团队共享 MCP 服务器配置。
  • 用户配置(User Profile):运行 MCP: Open User Configuration 命令打开用户配置文件夹中的 mcp.json。此处配置的服务器在所有工作区中均可使用;如果使用多个用户配置(Profile),每个配置可以有独立的 MCP 服务器设置。

也可以通过命令面板(Cmd+Shift+P)运行 MCP: Add Server,在引导流程中选择 Workspace 或 Global 作为目标。

5.5.1 配置文件示例

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp"
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@microsoft/mcp-server-playwright"]
    }
  }
}

VS Code 为该配置文件提供 IntelliSense 自动补全。完整的配置架构和字段说明参见 MCP 配置参考

两种常见的服务器类型: - "type": "http" — 远程 MCP 服务(如 GitHub Copilot 的 MCP 端点) - "command" + "args" — 本地 stdio 进程(如 Playwright MCP 服务器通过 npx 启动)

5.5.2 安装 MCP 服务器

通过扩展视图安装:

  1. 打开扩展视图(Cmd+Shift+X),搜索 @mcp 即可浏览 MCP 服务器库
  2. 点击 Install 安装到用户配置;右键选择 Install in Workspace 安装到工作区(会更新 .vscode/mcp.json

通过命令行安装:

# 示例:安装 Playwright MCP 服务器
code --install-mcp @microsoft/mcp-server-playwright

5.5.3 服务器管理与信任

操作 方式
启动/停止/查看日志 扩展视图中右键服务器,或在命令面板中运行 MCP: List Servers
启用/禁用 右键 → Enable/Disable。禁用状态独立于 mcp.json,不影响共享配置文件
信任确认 首次添加或更改配置后启动时,VS Code 会弹窗要求确认信任。不信任则服务器不会启动

可通过 MCP: Reset Trust 重置所有 MCP 服务器的信任状态。

5.5.4 安全注意事项

  • 不要硬编码敏感信息:API Key 等凭据应使用输入变量或环境文件,不要直接写入 mcp.json
  • 仅添加可信来源:本地 MCP 服务器可以运行任意代码,请审查发布者和服务器配置后再启动
  • 沙箱模式(macOS/Linux):可在服务器配置中设置 "sandboxEnabled": true 来限制本地 stdio MCP 服务器的文件系统和网络访问权限(Windows 暂不支持)

5.5.5 其他 MCP 能力

除工具(Tools)外,MCP 服务器还可以提供:

能力 说明 使用方式
资源(Resources) 将文件、数据库表、API 响应等作为只读上下文附加到对话中 Chat 视图中点击 Add Context → MCP Resources
提示模板(Prompts) 预配置的提示词模板,标准化常见任务 在 Chat 输入框中输入 /<MCP 服务器>.<prompt>
MCP 应用(MCP Apps) 在 Chat 中直接渲染交互式 UI 组件,如表单、可视化等 由支持该能力的 MCP 服务器自动提供

参考文档:https://code.visualstudio.com/docs/agent-customization/mcp-servers

5.6 Stata-MCP

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

可以用来做:

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

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

参考文档:https://github.com/hanlulong/stata-mcp

5.7 Matlab-MCP

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

可以用来做:

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

参考文档:https://github.com/matlab/matlab-mcp-core-server

5.8 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.9 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 能帮你多做几步,但题目怎么定、识别能不能站住、结论该不该写,仍然要自己负责。