中山大学岭南学院 · 金融 AI 智能体设计与应用 · 学员实操页第 3 次课 · 9 月 30 日下午与晚上
第 3 次课 · 学员实操页

从录屏、文献,走到自己复现一张表

下午三件事:读课堂录屏并预约会议、检索 Zotero 文献、核对 AKShare 公开数据。
晚上两件事:先把跑 Stata 的能力装进 AI,再用它复现论文的 Table 1。
第 3 次课 · 材料包(下载一次就够)下午的 Zotero 文献包与晚上的复现材料合在一处,按上课顺序编号;解压后先看根目录的 00_先看这里.md 下载 ⬇

练习一 · 识别录屏,预约小组会议

先把分享链接交给 AI,看它实际能读到什么;这一步不用 MCP 或 CLI。读不到是正常的,接着让它换一条路,去调页面背后的接口。之后用 tmeet CLI 预约会议,体验 AI 调用外部工具。验收全班一起做:把录屏拖到 30 分钟处,看你贴的那一段对不对得上。

腾讯会议 Skill 走云端 MCP,本课用 tmeet CLI 在终端预约。CLI 不是 MCP 服务,只是能力相近。两条路径都按本人账号授权,商业版、企业版需申请灰度。

① 先试直连,再换一条路把逐字稿取回来

录屏分享链接
第 1 次课 · 下午meeting.tencent.com/crm/KmAgrorMd2
第 1 次课 · 晚上meeting.tencent.com/crm/2O8y6ALm3d
第 2 次课 · 下午meeting.tencent.com/crm/lRQ1xoXJ63
第 2 次课 · 晚上meeting.tencent.com/crm/2r6gq46qf2

这类分享页是浏览器现场渲染出来的,AI 直接抓链接只能拿到空壳。所以这一步分两下:先让它承认直连读不到,再让它换一条路——去调这个页面背后的数据接口。内容本来就存在那里,页面只是把它画出来。整条路只用命令行,不用装任何东西,也不用你复制粘贴。

请逐个访问下面四个腾讯会议录屏分享链接,逐个说明你实际读到了什么:视频、逐字稿、智能纪要,还是只有一个空白页面。读不到就直说读不到,不要凭课名编内容。

第 1 次课下午:https://meeting.tencent.com/crm/KmAgrorMd2
第 1 次课晚上:https://meeting.tencent.com/crm/2O8y6ALm3d
第 2 次课下午:https://meeting.tencent.com/crm/lRQ1xoXJ63
第 2 次课晚上:https://meeting.tencent.com/crm/2r6gq46qf2
这几个页面是浏览器渲染出来的,直接抓只有空壳。请想办法把这四段录屏的逐字稿取回来,分别存到当前文件夹,每份文件名用「逐字稿-第1次课下午.md」这样的格式。页面背后的接口能直接取到,不用装任何工具。取完告诉我:四个文件在哪、各多少句、哪一份没取全。
读 逐字稿-第2次课下午.md,找出 30 分钟前后的那一段,写出时间点,以及那一分钟在讲的那一句原话。只依据文件里的文字,不要补充别的。

验收 把第 2 次课下午那段录屏拖到 30 分钟处,看它引的那一句对不对得上。对得上才算读到;对不上,说明它没真读到,前面的概括也不能算数。这一步的答案是:抓页面抓不到,抓页面背后的接口就抓得到——够不够得着,取决于你用哪一种访问方式。第 2 次课下午那次实测取到 975 句、跨度 2 小时 31 分,30 分钟处讲的是「数字生命卡兹克」那条避免 AI 过度迎合的提示词和「双向钢人论证」。接口取不到时,退一步看第 1 次课和第 2 次课课件,注明依据是课件。

② 用 tmeet CLI 预约会议

装和登录都不用自己敲命令。官方给了一句现成的说法,连安装说明的链接一起复制给 Claude Code 就行,不用自己拆步骤。已装好并登录过的同学跳到下一步。

帮我安装腾讯会议CLI,链接地址:https://meeting.tencent.com/wemeet-tapi/v2/oauth2/oauth/cli-install-guide?ch=web

三点注意 登录要在浏览器里授权,得你本人点,AI 打不开;每人用自己的账号;装完确认登录状态。授权只是让 CLI 按这个账号原有的权限调用,不会扩大你的权限。

请用 tmeet CLI 预约今天 21:00—21:30(北京时间)的小组讨论会议,主题是“小组项目的进展探讨”。先显示你识别出的今天日期、当前登录账号和拟执行的命令,等我确认后再创建。成功后给我会议号和入会链接,不自动邀请其他人。

验收 先核对日期、账号和时段,再确认创建;成功后保存会议号与入会链接。命令参数见官方命令参考。今晚课程到 21:35,正式组会请另定不冲突的时间。

练习二 · 把四篇论文接入 Zotero

议题是生成式 AI 对就业和生产率的影响。材料包里的 01_下午_练习二_Zotero文献包/ 就是这一节要用的东西;没有软件的同学先到 Zotero 官网安装。

① 导入文献,核对四条书目

进到材料包的 01_下午_练习二_Zotero文献包/,里面的 RDF 与 files 文件夹不要拆开。在 Zotero 选“文件 → 导入 → 文件”,导入 RDF;进入“第3次课_生成式AI与就业及生产率”分类。四篇论文各带一个 PDF 附件,导入后直接可读。

文献核对来源
Generative AI at Work · QJE期刊页
Generative AI and Jobs · ILOILO 页面
《中国人工智能技术暴露度的测算及其对劳动需求的影响——基于大语言模型的新证据》 · 《管理世界》作者公开全文 · DOI
《人工智能如何提升企业生产效率?——基于劳动力技能结构调整的视角》 · 《管理世界》DOI · 知网

导入前先看这里。Zotero 导入 RDF 时不做查重:库里已经有同一篇文献的话,导入后会变成两条。所以别用浏览器插件从期刊页另抓条目,包里的附件已经是全文;库里若已有重复条目,选中两条走「重复条目」合并。验收 分类里恰好四条父条目,每条题名下有一个能打开的 PDF。

② 接入 Zotero MCP,查这四篇

这一步分两半。先在 Zotero 里打开“设置 → 高级 → 杂项”,勾上允许本机其他应用通信——这一下要你自己点,AI 改不了。然后在当前项目文件夹里开一个 Claude Code 会话,把下面这段发给它,让它装好并接进来。

请帮我在这台电脑上装好 Zotero 的 MCP 服务,并接进当前项目。先跑 zotero-mcp version 看装没装,没装就按它的项目说明装好。然后用 claude mcp add 把它接到当前项目,名字用 zotero,作用域用 local,并设两个环境变量:
- ZOTERO_LOCAL=true
- NO_PROXY=localhost,127.0.0.1 和 no_proxy=localhost,127.0.0.1

第二个不能省。它连的是本机 Zotero,如果电脑开着代理或 VPN,没有这两行就一定会连不上。

每一步执行之前,先把要跑的命令显示给我看。做完告诉我:服务装上了没有、接到当前项目了没有。我会开一个新会话敲 /mcp 检查。

服务来自第三方项目,要求 Zotero 7 或更新版、Python 3.11 或更新版(低于 3.11 装不上)。装完开新会话敲 /mcp 确认 zotero 已连接。连不上时按这个顺序查:Zotero 桌面版开着没有 → 本机通信勾了没有 → 有没有设上面的 NO_PROXY。三条都不对再看练习页下方「排错」。

请用 Zotero 工具找到“第3次课_生成式AI与就业及生产率”分类,只读其中四篇论文的父条目,PDF 附件不另算一篇。列出题名、年份、DOI 和是否有 PDF。然后问我一个关键词,只在这四篇中筛选,并说明依据来自哪些条目字段。找不到分类或读不到附件时如实说,不要补写。

验收 AI 列出的四篇与 Zotero 界面一致,附件和筛选依据可逐条核对。

③ PDF 转 Markdown,提炼一张研究卡

选 Generative AI at Work,先在 Zotero 打开原 PDF 核对题名。转换这一步也交给 AI,把下面这段发给它;本机实在没有转换工具,就用材料包 01 文件夹里附的 QJE_逐页_Markdown.md,把它拷到当前文件夹继续。自己转换的文件若缺页码,也用教师逐页版对照。

请把 files/1/en1_Generative_AI_at_Work_QJE2025.pdf 转成 Markdown,另存为 QJE_转换结果.md,页号要保留。用你已有的转换工具,不要自己写代码解析 PDF。转完告诉我文件在哪、哪几页没转出来。
请读当前文件夹的 QJE_转换结果.md;若没有这个文件,就读 QJE_逐页_Markdown.md。用不超过 200 字回答:研究对象是谁,AI 提供什么帮助,主要结果是什么,不同经验员工有何差异?分开写“每小时解决的问题数”和“每小时处理的聊天数”,标 PDF 页码。表 II(第 19 页)和表 III(第 21 页)的数字要提醒我回原 PDF 核对;读不清就不要猜。

验收 研究卡有结果和页码,至少回原 PDF 核对一处表格。转换用的和贴给外部模型的内容都用包内四篇公开文献,不要换成别处的受限资料。

练习三 · 接上 AKShare 的 MCP,取一条数

AKShare 官方项目是免费开源的 Python 财经数据接口库,把公开网站上的宏观、股票、基金、期货数据整理成一个个 Python 函数;有人把它包成 MCP,AI 就能直接调。今天用已经选好的这一个:xiaozhozho/akshare-mcp(第三方项目,非官方),不用自己去找封装。但它只包装了一部分函数,默认只开 5 个股票行情接口,这一点下面要处理。

① 装好并接入

装和接都不用自己敲命令。把下面这段发给 Claude Code,让它替你做完;在当前项目文件夹里开会话,它才知道往哪儿接。这段里点出的两个坑是真会踩的,别删。

请帮我在这台电脑上装好 AKShare 的 MCP 服务,并接进当前项目,名字用 akshare,作用域用 local。

包名叫 akshare-mcp,它有两个坑,请一并处理:
第一,它没有提供命令行入口,装完之后启动方式要写成 python -m akshare_mcp,写成 akshare-mcp 会连不上。
第二,它默认只开放 5 个股票行情接口,我这次要用的宏观接口不在里面。我要用的方法名是 macro_china_gdp_yearly(中国 GDP 年率)。请在当前项目里放一份接口清单文件,把 macro_china_gdp_yearly 列进去,启动时用 --config 指向这份清单。

每一步执行之前,先把要跑的命令显示给我看。做完告诉我:装上了没有、接上了没有、我该敲什么确认它已经能用。

开新会话后敲 /mcp,看 akshare 是否已连接。它报出来的工具数就是清单里的条数,默认只有 5 个,加了清单才会出现宏观那几个。

② 让它取一条数

用 akshare 这个工具取中国 GDP 年率的历史数据。先说明你调用了哪个方法名、传了哪些参数,再给最近五条,每条标明“今值”的单位和数据来源。

③ 回官方文档核四格

它给的方法名,要到 AKShare 官方宏观数据文档里查得到才算数。核四件事:

验收 留下方法名和官方文档链接,写清单位与上游数据站。查不到就写“未查到”,不要写一个像样的答案顶上去。

装不上或者连不上怎么办 AKShare 本身就是 Python 库,装 pip install akshare,在 Python 里直接调同一个方法名,也能取到同一条数。今天的重点是把方法名、单位和出处核对一遍,走哪条路都算完成。

晚间一 · 让 AI 能调用你电脑上的 Stata

下午你接的是别人做好的 MCP 服务。晚上换一件事:把一份能跑 Stata 的 skill 装到自己电脑上。装完之后,跟 Stata 有关的活儿都能直接交给 AI——读数据、跑回归、出表,它自己调得起来。这一步不依赖网络,也不用装 MCP。

这一节用材料包里的 02_晚间_练习_论文复现包/;还没下载就到页面最上方下载,解压后先看根目录的 00_先看这里.md。

① 把 skill 装到本机

复现包里有个 .claude/skills/pystata/ 文件夹,这就是那份 skill。把它整个拷到你自己的 skills 目录:

C:\Users\<你的用户名>\.claude\skills\pystata\SKILL.md
C:\Users\<你的用户名>\.claude\skills\pystata\scripts\run_stata.py

不知道自己用户名的话,就在文件资源管理器地址栏输 %USERPROFILE% 回车,看看跳到哪。也可以直接交给 AI 做。

把当前文件夹里 复现包/.claude/skills/pystata/ 这个文件夹,整个复制到我的用户级 skills 目录下(Windows 上是 %USERPROFILE%\.claude\skills\pystata\),去重覆盖也行。拷完把目标目录里的文件列表打出来给我看,确认 SKILL.md 和 scripts/run_stata.py 都在。

② 开新会话,做环境自检

装了新 skill 要重开会话才生效——在终端敲 /exit 再输 claude,或者在 VS Code 插件里点新会话。然后让它自检,确认 Python、Stata 和授权都没问题。

用 pystata 这个 skill 检查本机的 Stata 环境。跑自检,把 Python 版本、Stata 安装目录、档位(mp / se / be)和 Stata 版本号报给我。哪一步没过就如实说卡在哪,不要跳过。

③ 冒烟测试:拿自带数据跑一个回归

自检过了只是说明能连上。再让它真跑一个回归,用 Stata 自带的汽车数据,看它能不能把结果说清楚。

用 pystata 跑这两条:
sysuse auto, clear
regress price mpg weight
跑完告诉我:样本量是多少,三个回归系数的点估计和标准误各是多少,R² 是多少,price 的单位是什么。只报 Stata 的实际输出,不要自己编数字。

验收 自检报出的 Stata 版本号和你本机一致;冒烟测试的样本量是 74,回归能报出数字,price 是美元。
卡住了先看「排错」里 Stata 相关的几行。本机确实没装 Stata 的,别自己装来路不明的版本,用教师投屏的结果把后面的表读懂即可。

晚间二 · 跑通这篇论文的 Table 1

论文是 Mapping U.S.–China Technology Decoupling: Policies, Innovation, and Firm Performance(Management Science)。今晚上半场已经让 AI 会跑 Stata 了,下半场就用它把这张表跑出来。作者复现包只读不动,工作在自己的目录里做。

(a) 建工作区,筛出要用的文件

作者包里十几个 do 文件和对应数据,今晚只用 Table 1 那一套。新建一个工作目录,只把本次要用的几样挑进去。

我的复现工作区/
├── 数据/Table_1_Data.dta        ← 从 作者复现包/ 复制
├── 参考/Table_1.do              ← 作者原脚本,只读对照
├── 参考/Table_1_Results.txt     ← 作者报告的结果
├── 代码/                        ← 你自己写的代码
└── 结果/                        ← 导出的表格
帮我把复现工作区搭起来。作者复现包在 [路径],不要动它。新建一个工作区目录,从作者包里挑出与 Table 1 有关的文件:Table_1_Data.dta 复制到 数据/,Table_1.do 和 Table_1_Results.txt 复制到 参考/,再建 代码/ 和 结果/ 两个空目录。做完把目录树打出来给我看,并说明你判断这几个文件够用的依据。

(b) 参考作者代码,写自己的,跑到对上为止

先读作者脚本和论文 Table 1 的表题、表注,弄清这张表在跑什么。然后自己写一份带注释的代码,别把作者的 do 复制过来改。作者脚本里的 reg y x, absorb(firm_ID) vce(robust) 是旧写法,Stata 17 不接受,换成等价的 areg y x i.year, absorb(firm_ID) vce(robust)。

跑完把结果与论文 Table 1 逐格比:九个变量的系数与稳健标准误、五列的样本量、五列的调整 R²。论文按三位有效数字显示,你导出的数字四舍五入到同一精度后一致就算对上。对不上不要改数字去凑,让 AI 自己查、自己改、自己重跑。

先读 参考/Table_1.do 和论文 PDF 里 Table 1 的表题与表注,用一段话告诉我这张表在跑什么。然后按同样的规格自己写一份代码存到 代码/复现Table1.do,要求:数据路径写在开头一处;五个被解释变量用一个循环,不要复制五遍;每个变量加一句中文注释;企业固定效应用 areg 的 absorb(firm_ID),年份用 i.year,标准误用 vce(robust)。先给我看代码,我确认后再跑。
跑 代码/复现Table1.do,把结果与论文 Table 1 逐格对照:九个变量 × 五个被解释变量的系数与稳健标准误、五列样本量、五列调整 R²。按论文显示的三位有效数字判断是否一致,逐格给出「一致/不一致」。

不一致的格子,按 数据版本 → 变量构造 → 估计命令 的顺序排查,改一处重跑一次,直到逐格对上。每次改了什么、结果怎么变,都记下来给我看。不要为了让数字对上而改设定或手改结果。

(c) 把结果导成能交出去的表格

结果跑对了,还要能交出去。让 AI 把这张表导成 RTF、Markdown、LaTeX 三种格式各一份放进 结果/。RTF 双击能用 Word 打开,另外两种方便贴进报告。Stata 里做这件事常用的命令是 esttab(estout 包)或 outreg2,本机没装的话让它自己装。

把这次复现的结果导成三份表,都放进 结果/:一份 RTF(文件名 Table1_复现.rtf,双击能用 Word 打开)、一份 Markdown、一份 LaTeX。表里要有:九个变量的系数与稳健标准误、星号、五列的样本量、五列的调整 R²。需要的 Stata 宏包没装就自己装。

导完把三份表都读一遍,对着论文 Table 1 核一遍表头、数字、星号注释和样本量行,有不一致的地方列出来。

验收 结果/ 下有三份表,数字与论文 Table 1 一致;代码/ 里的代码别人照着能跑通;RTF 能用 Word 打开。

个人作业一 · 最低范围与加分

今晚示范的是"拿到作者复现包,自己写出复现代码"这一整套动作。个人作业至少核对三个维度:样本与描述统计、核心结果,以及一项稳健性或异质性结果。优先选数据与代码能公开取得的论文;补充额外的公开数据,或自己收集整理公开数据完成复现,可按新增工作的质量与可复现性加分。

数据集一般较大,不要求上传。报告里写清数据来源、获取位置、处理步骤和与原文的结果对照,让别人能按说明重跑。作者复现材料只在本课使用,不要二次分发到公开网络或云盘。

排错

你看到的先查什么
录屏链接能打开,AI 却读不到内容这是正常的,分享页由浏览器现场渲染,AI 抓到的是空壳。在浏览器里打开链接,点「逐字稿」标签,把文字复制出来贴给 AI
/mcp 里 akshare 连不上先看启动命令是不是 python -m akshare_mcp(写成 akshare-mcp 一定失败);再看有没有用 --config 指向接口清单,清单路径是不是写全了
/mcp 里 akshare 连上了,却没有 GDP 那个工具默认只开 5 个股票接口。按接口清单加上 macro_china_gdp_yearly,改完要重开会话
/mcp 里 zotero 未连接按顺序查:Zotero 桌面版开着没有 → 设置里「允许本机通信」勾了没有 → 环境变量里有没有 NO_PROXY=localhost,127.0.0.1。不要根据旧课件的固定工具数判断
Zotero 分类里同一篇出现两条导入 RDF 时不做查重,库里已有同一篇就会变两条。选中两条用「重复条目」合并;之后不要再从期刊页用浏览器插件另抓条目
装了 pystata skill,AI 却说没有这个能力skill 是开会话时加载的。拷完要退出重开:终端敲 /exit 再输 claude,VS Code 插件点新会话
自检说找不到 Stata 的 utilities 目录确认本机装了 Stata 17 或更新版;装在非默认盘或自定义目录时,设环境变量 STATA_UTILITIES,或用 --path 直接指过去
自检报 Stata 授权错误先打开一次 Stata 图形界面确认授权有效,关掉再回来跑自检
电脑根本没装 Stata不要自行安装来路不明的版本。用它读作者脚本、写自己的代码,把代码与教师投屏的结果对照讲清楚
跑 Stata 报 absorb() 不认识作者脚本写的是 reg ... , absorb(firm_ID),Stata 17 不接受;改用等价的 areg ... i.year, absorb(firm_ID) vce(robust)
样本量不是 14,739先查数据版本与变量缺失;五个被解释变量的样本量都应是 14,739
系数对不上按 数据版本 → 变量构造 → 估计命令 的顺序查,改一处重跑一次,不要改数字凑

课后 · 按日期排

什么时候做什么要求
10 月 1 日起做个人作业一先选论文、试下数据,再照今晚这套动作走一遍
10 月 10 日前整理可复查材料检查报告中的论文出处、数据来源、代码与结果对照
10 月 10 日 18:00平台提交作业一报告 PDF、展示页 ZIP、会话记录 ZIP;代码与 README 放进会话记录 ZIP,不传数据集
10 月 10 日晚作业一展示在平台上报名,5 至 10 人,上台就计满分

下次课 10 月 10 日(周六),讲多子代理与上下文管理。作业提交都在作业平台 hw.lingnan.top/mf/。