一站式科研:VS Code 与大模型实操应用
会后操作手册
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 全部保留,只替换底层模型。
步骤:
- 确认 VS Code >= 1.116,已安装 GitHub Copilot 并有订阅(免费版即可)
- 从 GitHub 安装 DeepSeek V4 扩展
- 前往 DeepSeek 开放平台 创建 API Key(以
sk-开头) - 在 VS Code 中按
Cmd+Shift+P,运行 DeepSeek: Set API Key,粘贴 key(密钥存储在系统钥匙串,不会写入磁盘) - 打开 Copilot Chat(
Cmd+Shift+I),点击右上角模型选择器,选择 DeepSeek V4 Pro 或 DeepSeek 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 模型驱动。
步骤:
- 前往 Kimi 开放平台 创建 API Key,选择 default 默认项目
- 建议在平台 项目设置 中配置「项目日消费预算」,并开启余额预警提醒
- 在终端中设置环境变量后启动 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- 进入 Claude Code 后输入
/status确认模型状态;按Tab键可切换 Thinking 开关(看到 “Thinking on” 即表示思考模式已启用)
注意事项:
- 大模型代码生成存在随机性,编程工具会自动多轮重试,token 消耗可能较快,建议设置日消费上限
- 建议使用时保持监控,避免无限循环或过度重试造成不必要的资源消耗
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 适合项目级任务:读多个文件、提出修改方案、改代码、运行验证。
请求里最好写清楚四件事:
- 目标:要完成什么
- 边界:哪些文件可以改,哪些不能改
- 验证:运行什么命令算完成
- 汇报:要说明哪些变化
示例:
请检查这个 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 服务器
通过扩展视图安装:
- 打开扩展视图(
Cmd+Shift+X),搜索@mcp即可浏览 MCP 服务器库 - 点击 Install 安装到用户配置;右键选择 Install in Workspace 安装到工作区(会更新
.vscode/mcp.json)
通过命令行安装:
# 示例:安装 Playwright MCP 服务器
code --install-mcp @microsoft/mcp-server-playwright5.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 工作流。你仍然使用熟悉的 reg、xtreg、reghdfe、ivregress 等命令;AI 可以帮助整理命令、运行脚本,并把 Stata 输出与 Python 结果交叉检查。
可以用来做:
- 面板固定效应回归
- DID / IV / RD 的标准命令
- 聚类标准误与回归表导出
- 复核 Python 或 R 的计量结果
如果 MCP 暂时不可用,就把同样命令写成 .do 文件运行。MCP 是增强项,不需要一开始就配好。
5.7 Matlab-MCP
Matlab-MCP 可以把既有 Matlab 代码、数值优化和仿真实验纳入 VS Code 项目。
可以用来做:
- 结构估计中的内外循环
- 数值优化与矩阵运算
- 旧项目的 Matlab 代码复用
- 仿真结果与 Python/Jupyter/LaTeX 写作衔接
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.csvoutput/python_did_results.csvoutput/stata_did_results.csvoutput/stata_event_study.csvoutput/stata_placebo_results.csvoutput/digital_parallel_trends.pngoutput/digital_event_study.pngoutput/matlab_theory_estimates.csvoutput/matlab_theory_model.pngoutput/demo_summary.mdnotebooks/digital_stata_did.ipynbnotebooks/digital_matlab_model.ipynbnotebooks/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.txt8.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 能帮你多做几步,但题目怎么定、识别能不能站住、结论该不该写,仍然要自己负责。