Skip to content

第 48 课:AI 编码代理(Claude Code / Copilot / Codex)

🎯 核心实操目标

本课目标:把自己从"底层代码执行者"升级为"AI 编码审阅者"。你将掌握四类 AI 编码工具的差异化定位与协作范式——Copilot 做 IDE 内自动补全、对话式平台(Claude 4.8 / GPT-5 / Gemini 2.5 网页版) 做对话式代码生成、Claude Code / Codex CLI 做命令行自主代理、Trae SOLO 做国内可直接上手的图形化自主编码代理。重点不是背语法,而是学会"如何描述任务 → 如何审查 AI 代码 → 如何在报错时追问 AI 把过程讲清楚"这一套审查 + 指挥的工作方法。

本课位于"技术进阶轨"的收尾位置:前面几课你已经接触了 Git(第 43 课)、Markdown、Jupyter 等基础设施;到这一步,任务是把这些工具串成一条"用自然语言描述 → AI 写代码 → 你审查把关"的科研生产线。需要先记住一条贯穿全课的底线:AI 写的代码"能跑"不等于"对",最终对方法是否正确、结果是否可信负责的始终是你本人,不是代理——这条在本课【边界与局限】和【学术红线】里会专门展开。

📋 课前准备(5 分钟自检)

账号

  • [ ] 至少一个自主编码代理(必备,任选其一)
    • Claude Code:claude.com/code 安装(npm 包),需订阅 Pro(约 ¥140/月,$20)或用 API key 计费
    • Codex CLI:chatgpt.com/codex — 开源免费,可用 ChatGPT 订阅或 API key 驱动
    • Trae SOLO(字节跳动):trae.cn(中国站)/ trae.ai(国际站),图形化 IDE 自带自主代理,提供免费档、国内可直接访问(详见下文实战 C)
  • [ ] GitHub Copilot(推荐但可选):GitHub Pro/Business 含 Copilot
  • [ ] 对话式平台(用于对话式代码生成与逐行讲解):Claude 4.8 / GPT-5 / Gemini 2.5 任一网页版
  • [ ] 已有 GitHub 账号(第 43 课已建)

工具/环境

  • [ ] Node.js 18+Python 3.10+(运行代码代理依赖)
  • [ ] VS Code 或其它支持插件的 IDE
  • [ ] 终端工具:Windows 用 PowerShell / WSL,Mac/Linux 用 Terminal
  • [ ] 至少 4 GB 可用磁盘(依赖与本地缓存)

数据/素材

  • [ ] 案例 C 数据集case_C_llm_evaluation.csv (300 行 × 29 列,本课实操用)
  • [ ] 自己之前任何写到一半的数据分析脚本(用于让 AI 帮你接力调试)

应急通道

  • 海外工具不可用或访问困难 → 用 Trae SOLO(trae.cn,国内可直接访问、提供免费档),自主代理范式一致
  • 如 Claude Code 不可用 → 用 Codex CLI 或 Cursor(界面相似,范式一致)
  • 如订阅成本过高 → 使用对话式平台(Claude / GPT / Gemini 网页版)做对话式代码生成(不能自主代理,但可演示核心审查范式)
  • 安装报错 → 把报错信息回贴给 AI 让它定位(见下文实战 A 的逆向追问法),或加入答疑群获取 Windows/Mac 各自的离线安装包

场景导入:不必去学"从入门到弃坑"的一万页语法说明书

"每年都有许多硕博新生,在被导师布置了爬虫采集数据的任务后,匆忙去网上买一套 400 个小时的《Python 零基础入门》网课。 这在 AI 编码工具快速发展的今天显得颇为低效。 你在视频里学完了元组、列表、高阶字典;但大模型写出这段爬虫结构,只需几秒,比你敲击回车的速度还要快。 真正要学的,不再是逐字背语法,而是怎么'清晰地审查并指挥'它为你修好这段出错的代码。"

需要先把这个判断说准确,否则容易学偏:这并不是说"语法无所谓、看不懂代码也行"。恰恰相反——下文会反复强调,你必须看得懂代码在"做什么"、能判断方法对不对,才有资格审查 AI。变化的是学习的重心:从"能否凭记忆默写出每个函数的参数顺序",转向"能否读懂一段代码的逻辑、判断它是否解决了你的问题"。前者交给工具,后者不可外包

原理:为什么 AI 编码是"审查 + 指挥",而不是"背语法"

动手用工具之前,先想清楚一件事:大模型为什么能写代码,以及它写出来的代码为什么不能盲信。理解了来由,你就明白为什么本课的核心动作是"审查 + 指挥",而不是"记住更多 API"。

  1. 代码对大模型而言也是"高频文本",所以它写得又快又像样——但"像样"不等于"正确"。 大模型本质上是按训练语料的统计规律预测"下一个最可能出现的 token"。GitHub 上海量的开源代码就是它的语料,所以"读取 CSV、画箱线图、做 t 检验"这类常见任务,它能近乎瞬间产出语法正确、结构工整的代码。但这套机制保证的是"看起来对、能跑通",不保证"用对了方法":它不知道你这份数据是不是配对的、该不该做某个检验、变量有没有反向计分——这些需要结合研究情境的判断,正是后文 case_C 审计要演示的盲点。

  2. 语法记忆贬值,"读得懂 + 判得准"升值。 过去"会编程"很大一部分是"记得住语法、查得快文档";这部分能力正在被工具快速替代——你描述任务,代理几秒就给出可运行代码。不会被替代的是上层判断:这段代码读取的列对不对?统计方法配不配这份数据?边界条件(空值、除零、索引越界)有没有处理?这些判断依赖你对研究问题和数据的理解,模型再强也替你做不了。所以本课不教你背 pandas API,而是教你审查代理产出的方法。

  3. 代理能"自己动手",门槛降了,但责任没降。 新一代工具(Claude Code / Codex / Trae SOLO)是自主代理(autonomous agent):它不只补全一行,而是能读你的文件、自己写代码、自己在终端里跑、看到报错再改,一轮轮迭代直到任务完成。这把"会不会写"的门槛压到了极低——但把谁来对结果负责这件事,原封不动地留给了你。代理可以高速试错,却无法对"这个分析结论能不能写进论文"负责。这正是"指挥"的另一面:你既要会派活,更要会验收。

📐 一句话原理

AI 编码工具把"写代码"变成了廉价、快速、可外包的环节;于是你的价值不再是"写得出",而是"审得出错、指挥得动"。本课所有技巧,都是围绕这两件不可外包的事展开的。

📘 关键术语(首次出现,先对齐定义)
  • 编码代理 / 编程助手(coding agent / coding assistant):能辅助或代替人编写、修改、调试代码的 AI 工具的统称。按自动化程度从低到高分为三档:自动补全(在你打字时补下一段,如 Copilot)、对话式生成(你描述需求、它给整段代码,如 Claude / GPT / Gemini 网页版)、自主代理(见下条)。
  • 自主代理(autonomous agent):能接收一个目标后,自己规划步骤、调用工具(读写文件 / 执行终端命令 / 联网 / 跑浏览器)、根据反馈迭代,直至交付结果的 AI 系统。代表:Claude Code、Codex CLI、Trae SOLO。关键词是"自己动手并自我纠错",而非只回一段文本。
  • 审查 + 指挥(review & direct):本课提倡的人机分工范式。指挥 = 把任务、约束、验收标准描述清楚交给代理;审查 = 对代理产出的代码逐项核验逻辑、方法、边界与安全,决定采纳还是打回。两者都不可外包给代理本身。
  • 逆向追问(reverse questioning):报错或看不懂代码时,不要求 AI"直接修",而是要求它逐行用通俗语言解释每个变量如何流转、在哪一步出错,从而让你定位失败点、看懂逻辑。见实战 A。
  • CLI(command-line interface,命令行界面):用文字命令而非鼠标点击来操作程序的方式。Claude Code、Codex CLI 都运行在终端里,故称 CLI 工具。
  • MCP(Model Context Protocol,模型上下文协议):一种让 AI 代理统一接入外部工具与数据源(文件系统、数据库、浏览器、第三方服务等)的开放协议。支持 MCP 的代理能"插上"更多能力,而不必为每个工具单独写对接。
  • 幻觉(hallucination):模型自信地生成看似合理但实际错误或不存在的内容(如编造一个不存在的函数名、虚构一篇文献)。代理写代码时同样会幻觉,必须人工核验。

🗺️ 角色重组:从代写执行到审阅把关的转变

如果 AI 运行的终端窗口出现了报错,不要慌,也不必自己逐字查文档排错。把报错信息和代码本身一并提交给 AI,让它做逆向解读:

报错中断阶段IndexError: list indexout of range in line 44将出错代码原样提交追问通俗逆向逐行解读 (架构师模式)for i in range(len(users)):▶ // 此处就是问题所在,它在循环里遍历了空列表users[i] = None▶ // 上行把所有数据清空了,下面调用必然报错

🚀 拆解实战 A:报错时用"逆向追问"看懂代码,而不是一味要新版本

📋 场景:你刚拿到一段大模型生成的上百行代码,把它放进 Jupyter,一按执行,一连串红色的 KeyError 报错瞬间铺满屏幕。

应对:明确要求 AI 逐行讲解,而不是"直接修"

如果你这时候只问它"怎么修",它往往会再生成上百行新代码——你看不懂、也无从判断对错,于是陷入"报错 → 要新版 → 又报错"的循环。更有效的做法是:先要求它把当前这版逐行讲清楚,让你看懂逻辑、自己定位失败点。把下面这条提示词连同报错信息一起提交:

markdown
【Role】你是一位技术功底扎实、注重表达清晰、不堆砌晦涩术语的后端架构师。

【Task】以下我粘贴的这段较为杂乱的代码(包含刚才报出的标红错误行提示),我对其内部数据传导到底哪一处出了问题感到困惑,也不确定能否信任它。请不要向我输出新的修正合并版本!请不要替代我思考!
【目标诉求:开启逐行通俗注释解读模式】
请逐行处理:在我原代码每一行功能之上,用简单、贴近日常的语言补充 `//标注说明`
并请使用 【醒目的高亮红色标记】 在关键位置明确指出:究竟是哪一个细小的传参数据在此处中断,导致程序报错中止!让我这个非专业读者也能顺着逻辑彻底看懂数据流断点在哪里!
==========================
[在下方粘贴(Ctrl+V)你运行出错的原始代码和报错信息]

让 AI 逐行讲清楚每个变量如何流转、在哪里出错——你看懂逻辑、定位失败点,而不是再要一版你看不懂的新代码。


🚀 拆解实战 B:审查——一个真实的"AI 写错 → 你审出来 → 改对"案例(case_C)

会让 AI 写代码还不够——核心技能是审出它的错。下面用 case_C 走一遍,演示"审查"这一不可外包的动作。

任务:比较 Quality_GPT5Quality_Claude47Quality_Gemini25 三个模型的摘要质量分有没有显著差异。

① AI 给的第一版代码(看起来很顺,但有坑):

python
import pandas as pd
from scipy import stats

df = pd.read_csv("case_C_llm_evaluation.csv")
g = df['Quality_GPT5']
c = df['Quality_Claude47']
print(g.mean(), c.mean())
t, p = stats.ttest_ind(g, c)      # ← GPT-5 vs Claude
print(f"t={t:.2f}, p={p:.3f}")

② 你的审查(关键一步):能跑出数字,但方法错了——

  • 这是配对数据:同一篇文章被三个模型都评了一遍(每个 Article_ID 一行里同时有三个模型的分)。
  • 配对数据用独立样本 ttest_ind忽略配对相关、推断不准
  • 三组还逐对做 t 检验会膨胀一类错误

③ 改对:两两用配对 ttest_rel;三组整体差异用对重复测量稳健的 Friedman 检验

python
# 两两:配对 t 检验
t, p = stats.ttest_rel(df['Quality_GPT5'], df['Quality_Claude47'])

# 三模型整体差异:Friedman(适合配对/重复测量)
chi2, p_all = stats.friedmanchisquare(
    df['Quality_GPT5'], df['Quality_Claude47'], df['Quality_Gemini25'])
print(f"Friedman chi2={chi2:.1f}, p={p_all:.4f}")

这题的教训:AI 的代码能跑 ≠ 方法对。你要审的不是语法,是"它用的统计方法配不配这份数据"——这正是你作为审查者不可外包的判断。

🔎 把这次审查抽象成一张"代码审查清单"

case_C 这一关,你审的是"统计方法配不配数据"。把它一般化,每次拿到 AI 代码都过一遍下面四类检查,就不容易被"能跑"蒙住:

  1. 逻辑 / 方法:用的算法、统计检验、计算口径,配不配你的研究问题与数据结构?(本例:配对数据误用独立样本检验)
  2. 数据契合:读取的列名、数据类型、量纲对不对?有没有把反向计分题当正向、把字符串当数字?
  3. 边界条件:空值、缺失、除零、索引越界、空列表、极端值——这些"happy path 之外"的情况处理了吗?
  4. 安全与合规:代码里有没有硬编码的密钥 / 路径泄露、未经同意联网上传数据、rm -rf 之类的危险操作?(呼应课程"敏感数据不出本地"的伦理)

这四项就是本课【交付物】里"代码审查清单"的骨架,建议固化进你自己的工具箱。


🧭 四类 AI 编码工具:差异化定位与选型

"AI 编码工具"不是一个东西,而是按自动化程度排开的一条谱系。选错档位会很别扭——拿对话式平台去做需要反复读写文件的大工程会很累,拿全自主代理去补一行简单代码又"杀鸡用牛刀"。下表把四类工具的定位、典型场景与代表产品对齐:

档位它做什么典型科研场景代表产品人审强度
① 自动补全在你打字时补全下一段代码自己写脚本、边写边补GitHub Copilot边写边审,随时改
② 对话式生成你描述需求 → 给整段代码,你复制去跑单段分析代码、改报错、逐行讲解Claude 4.8 / GPT-5 / Gemini 2.5 网页版复制前通读、跑后核对
③ 命令行自主代理读你的文件、自己写、自己在终端跑、看报错再改多文件项目、批量重构、跑通整条分析流水线Claude Code、Codex CLI验收产出,盯关键改动
④ 图形化自主代理同 ③,但把编辑器 / 终端 / 浏览器 / 文档集成在一个图形界面里同 ③,且更适合不熟命令行的新手Trae SOLO(字节跳动)验收产出,盯关键改动

选型口诀:写得动、看得懂、改得少 → 用补全;一段就够 → 用对话式;要它自己跑通整条流水线 → 用自主代理(不熟命令行就选图形化的 Trae SOLO)。 不论哪一档,"③④ 自主代理产出后你必须验收"这条都不变。


🚀 拆解实战 C:指挥——用 Trae SOLO 跑通一条"从描述到可运行"的分析流水线(国内可直接上手)

前面实战 B 演示了审查;这一节演示指挥——把一个目标交给自主代理,让它自己规划、写代码、跑通,你只做验收。这里选 Trae SOLO 作为示范,原因有三:它是字节跳动的 AI 原生 IDE国内可直接访问、提供免费档,且把编辑器 / 终端 / 浏览器集成在一个图形界面里,对不熟命令行的科研新手最友好。

📦 Trae SOLO 是什么(客观介绍,不夸大)

  • 出品方与入口:字节跳动(ByteDance)推出的 AI 原生 IDE,国际站 trae.ai、中国站 trae.cn
  • SOLO 模式:一个自主编码代理。你用自然语言描述一个想法,它会自主规划工作流 → 选择并调用工具 → 执行 → 交付可运行代码,过程中把需求拆解、代码编写、终端命令、浏览器预览、部署串成一条龙,全程少量手动操作。
  • 一体化工作区:把编辑器、终端、浏览器、文档集成在同一个空间,代理在其中"自己动手"。
  • 能力接口:支持 MCP(接入外部工具与数据源)、多模态输入(可贴设计稿 / 截图 / 文档让它据此写代码)、多模型切换(可在不同底层大模型间切换)。
  • 可及性提供免费档(另有 Lite / Pro 付费档),对中国大陆用户尤其可直接访问,无需海外网络。
  • 客观提示:它与多数云端 AI 工具一样会回传遥测 / 使用数据;处理敏感数据时按本课伦理与所在机构规定谨慎使用(参见课程"敏感数据不出本地"原则)。

下面这条任务描述(指挥)提示词,就是你交给 SOLO 模式的输入——它演示了"指挥"该写到多具体:

markdown
我有一个数据文件 case_C_llm_evaluation.csv(300 行,含 Article_ID 与三列质量分
Quality_GPT5、Quality_Claude47、Quality_Gemini25,每个 Article_ID 同时被三模型评分,为配对数据)。
请帮我用 Python 完成一份可复现的分析,并放进当前项目目录:

【任务】
1. 读取数据,先打印每列的缺失值数量与基本描述统计(均值/标准差/中位数)。
2. 因为是配对/重复测量数据:对三个模型整体差异做 Friedman 检验;再对每两两模型做配对 t 检验(ttest_rel)。
3. 画一张箱线图比较三个模型的质量分分布,保存为 300 dpi 的 PNG。
4. 把上述结果(描述统计表 + 检验结果 + 图片引用)整理成一个 Markdown 报告 report.md。

【约束】
- 用 pandas + scipy + matplotlib,不要引入多余依赖。
- 统计方法必须与"配对数据"匹配;如你认为某步方法不当,请先说明理由再改,不要默默替换。
- 代码要有中文注释,跑完把每一步的关键输出贴给我看,方便我逐项核对。
- 不要联网上传这份数据。

⚠️ 自主代理跑完≠交付:这一步你必须做

SOLO(以及 Claude Code / Codex)会"自己跑通",绿色的"运行成功"很容易让人放松。但跑通只说明没崩,不说明对。代理交付后,至少核对三件事:① 它读的列、做的检验和你要求的一致吗(别又退回 ttest_ind)?② 报告里的数字和它终端里打印的输出对得上吗?③ 它有没有"自作主张"加了你没要的步骤(比如偷偷删了离群点)?对结论负责的是你,不是代理——这正是上一节 case_C 审查能力的用武之地。

范式迁移:把上面这条提示词里的"Trae SOLO"换成 Claude Code 或 Codex CLI,在终端里把同样的任务描述喂进去,流程完全一致——描述清楚任务与约束 → 代理自主执行 → 你验收。工具会变、按钮会变,这套"指挥 + 审查"的范式不变。


📦 本课交付物(提交给 AI 初审)

  • [ ] 一个完整的可运行数据分析脚本:用 AI 编码代理(Claude Code / Codex / Trae SOLO / Copilot 任一)协助完成,对 case_C_llm_evaluation.csv 跑出:
    • 读取数据 + 缺失值统计
    • 三个 LLM Quality 分数的描述统计与对比表
    • 至少 1 张可视化图(如 boxplot 或柱状对比)
    • 导出结果为 Markdown 报告
  • [ ] AI 协作日志:记录至少 3 次"你描述任务 → AI 给代码 → 你审查发现问题 → 反向追问 → AI 修正"的完整对话片段
  • [ ] 代码审查清单:列出对 AI 生成代码做的逻辑检查、边界条件检查、安全性审查项

审得好 vs 审得砸:同一段 AI 代码的逐项对照

同一段大模型给的代码,"审得好"和"审得砸"差的不是会不会编程,而是有没有用对的标准去把关。下表把审查 AI 代码时最常见的失分点逐项并排——左列是新手高频做法,右列是把同一处"拧紧"后的做法。素材取自本课 case_C 三模型评分分析。

维度审得砸 ❌审得好 ✅为什么
采纳标准代码一跑出数字就直接复制进论文先问"方法配不配这份数据",再决定采纳"能跑"只说明没崩,不说明方法对(case_C 配对数据误用 ttest_ind
数据契合默认 AI 读对了列、识别对了数据类型核对列名、量纲、反向计分题是否处理AI 看不到数据语义,可能把配对当独立、把反向题当正向
边界条件只测"正常数据"跑得通主动想空值 / 缺失 / 除零 / 索引越界会怎样happy path 之外的崩溃和错误结果都在这里产生
报错处理一报错就让 AI"重写一版"先让它逐行讲清当前版本,定位失败点(实战 A)反复要新版会陷入"看不懂→换一版→又错"的循环
安全合规不看代码里有没有联网、密钥、危险命令检查有无上传数据、硬编码密钥、rm -rf代理可能为"省事"联网上传你的数据,触碰敏感数据红线
自主代理产出看到"运行成功"就当任务完成核对它做的步骤与你要求的一致、没擅自加减代理会"自作主张"(如偷偷删离群点),跑通≠交付
责任归属"是 AI 写的,错了不怪我"署名担责的是你;AI 只是助手对数据与结论真实性负责的始终是研究者本人

💡 一句话判据

审一段 AI 代码做得好不好,问五件事:它解决的是我真正的问题吗?读的数据 / 用的方法配得上吗?异常情况会不会崩或算错?有没有危险或泄密的操作?最后这个结果我敢署名担责吗? 五项都过,才从"它能跑"升级成"我敢用"。


常见误区与纠正

学员用 AI 编码代理时,问题高度集中在几处,下表对号入座即可:

常见误区症状纠正方法
"能跑就采纳"代码出数字就直接用,不问方法对不对跑通后先过"代码审查清单"四项(逻辑 / 数据 / 边界 / 安全)再采纳
报错就要新版一报错就让 AI 重写,越改越看不懂先用逆向追问让它逐行讲清当前版本,定位失败点(实战 A)
盲信"运行成功"自主代理显示成功就当完成核对产出与要求一致、数字与输出对得上、没擅自加减步骤
看不懂也照抄复制自己完全读不懂的代码进论文至少读懂"它在做什么";读不懂就让 AI 拆解到你懂为止
选错工具档位拿对话式平台硬扛多文件大工程按谱系选型:一段用对话式,跑通整条流水线用自主代理
把隐私贴给 AI把被试原始数据 / 密钥粘进提示词或让代理联网上传敏感数据留本地、用占位描述结构;必要时用端侧 / 隐私模式
以为代理会"自查方法"默认代理会主动指出统计方法不当代理默认配合你的指令、不会替你做学科判断;方法对错由你审

AI 代码报错 / 不达标?如何排查

让代理写代码很省力,但首版报错或方法不当都很正常——关键是带着方法去排查,而不是一味推倒重来。按下面顺序做小步纠偏:

  1. 先分清是"语法错"还是"方法错"。 红色报错(KeyError / ImportError / IndexError 等)是语法 / 运行错,把完整报错信息原样回贴给 AI 最有效——它能据此定位(实战 A 的逆向追问法尤其适合让你顺带看懂)。而"能跑但结果不对"是方法错,报错栏不会提示,只能靠你审(实战 B 的 case_C 就是这类)。
  2. 报错回贴要带上下文。 只说"报错了"没用;把出错的那段代码 + 完整 traceback + 你的数据列名 / 形状一起贴给 AI,它才不必猜。环境 / 库版本 / 数据格式差异都是常见根因。
  3. 用一句话追加要求,让它只改该处。 例如"刚才第 2 步用了独立样本检验,但我的数据是配对的,请改成配对检验并说明理由",比让它整段重写更省力、也更容易审。
  4. 方法对错这一步不可省、也不可外包。 代理能修语法错,但判断不出"这个统计方法配不配你的研究设计"——这需要学科知识。case_C 的教训就是:代码完美运行,方法却错了。
  5. 最后一道人工关:你来负责。 结果是否可信、方法是否成立、有没有为"好看"动了数据,最终由你逐项确认并署名担责;代理只是助手,不对结论真实性负责。

一句话

报错分两种:语法错回贴报错让 AI 修,方法错只能你自己审。代理能把代码改到"能跑",但"跑出来的结论对不对"这一关,永远在你手里。


边界与局限:AI 编码代理能做什么、不能做什么

代理在写代码这一步是高效的助手,但它的能力边界必须划清。把下面几条记牢,比多记一个 API 更重要。

边界 / 失效场景为什么会这样你应该怎么做
能写出"能跑"的代码,不保证"方法对"它按语料统计补最像样的写法,不懂你的研究设计与数据语义方法是否配数据由你审(case_C);这一步不可外包
会"幻觉"出不存在的函数 / 参数 / 文献模型会自信地生成看似合理但虚假的内容陌生 API、引用、统计量一律核验,不盲信"看起来对"
超长任务会"丢上下文"对话 / 任务过长会超出上下文窗口,早先的约束被挤出关键约束在新一轮重述,或拆小任务分次交付
自主代理可能"自作主张"代理为"完成任务"可能加你没要的步骤(删点、改设定)验收时核对它实际做了什么,与要求逐项对照
环境 / 依赖 / 版本差异导致跑不通库版本、数据格式、系统差异都会报错把报错回贴让它修;不迷信"一次成功"
可能联网上传你的数据多数云端代理会回传数据 / 遥测敏感数据留本地、用占位描述;必要时用隐私 / 端侧模式
用 AI 写代码属正常协作,但需据实披露工具使用合规,但隐瞒使用或让 AI 为结论背书不合规按期刊 / 学校要求披露 AI 使用;数据与结论真实性由作者负责

⚠️ 本课学术红线:代理可"代写代码",绝不可"代担责任"

用 AI 编码代理有一条不可逾越的界线,必须和"让它多写点代码"严格区分开:

  1. 允许的是把"写"外包:让代理读文件、写脚本、跑通流水线、改报错——这些是合规、高效的工具使用,正是本课所教。
  2. 绝对禁止的是把"判断与担责"也外包:把"能跑"当成"方法对"、把代理的结论直接写进论文而不审、为让结果"好看"默许代理删点 / 改数 / 凑显著——这些是把研究者不可推卸的学术责任让渡给了一个不对真实性负责的工具,与第 37 课"硬伤不掩盖""不伪造数据"是同一条红线。
  3. 据实披露、自己担责:按所投期刊 / 学校要求如实披露 AI 编码工具的使用;对代码所实现的方法与所得结论的真实性负责的,始终是作者本人,不是代理。

一句话:让代理替你"写得快",但"对不对、敢不敢署名"这一关只能你自己过——任何越过"写"、动到"判断与担责"的依赖,都越过了红线。


🏁 本章小结

把本课凝练成可据以复习的几条要点:

  1. 范式转变:AI 把"写代码"变成了廉价、可外包的环节;你的价值从"写得出"转向"审得出错、指挥得动"这两件不可外包的事。但这不等于"看不懂代码也行"——你必须读得懂逻辑、判得准方法,才有资格审查。
  2. 工具谱系与选型:按自动化程度分四档——自动补全(Copilot)/ 对话式生成(Claude 4.8 / GPT-5 / Gemini 2.5 网页版)/ 命令行自主代理(Claude Code、Codex CLI)/ 图形化自主代理(Trae SOLO,字节跳动,国内可直接用、提供免费档)。一段就够用对话式,要跑通整条流水线用自主代理。
  3. 指挥(实战 C):把任务、约束、验收标准描述清楚交给代理,让它自主规划 → 选工具 → 执行 → 交付;Trae SOLO / Claude Code / Codex 范式一致,换工具不换方法。
  4. 审查(实战 B,核心):case_C 的教训是"代码能跑 ≠ 方法对"——配对数据误用独立样本 ttest_ind,要改成配对 ttest_rel + 对重复测量稳健的 Friedman 检验。审一段代码过五关:解决的是真问题吗 / 数据方法配得上吗 / 异常会不会崩 / 有无危险或泄密 / 敢不敢署名。
  5. 报错排查(实战 A):分清语法错(回贴完整报错让 AI 修,可配逆向追问逐行看懂)与方法错(报错栏不提示,只能你自己审);自主代理"运行成功"≠交付,必须验收。
  6. 边界要诚实:代理会写出"能跑但方法错"的代码、会幻觉、会丢上下文、会自作主张、会联网上传数据。涉及方法、引用、敏感数据的环节,最终核验与担责在你本人。
  7. 本课红线:代理可"代写代码",绝不可"代担责任"——把"能跑"当"对"、不审就用、为好看纵容改数,都是把不可推卸的学术责任外包给工具;用 AI 编码要据实披露。

自测清单(可保留逐项打勾)

  • [ ] 我能说清四类 AI 编码工具的差异化定位(自动补全 / 对话式生成 / 命令行自主代理 / 图形化自主代理),并知道各自的代表产品与典型场景。
  • [ ] 我掌握了"描述任务 → 代理生成 → 人工审查 → 测试运行 → 迭代修正"的核心协作范式。
  • [ ] 面对 AI 生成的代码我不再盲目复制,能过"逻辑 / 数据 / 边界 / 安全"四类审查,识别逻辑错误、边界缺陷与潜在安全风险。
  • [ ] 我能区分语法错(回贴报错让 AI 修)与方法错(只能自己审),并能用逆向追问让 AI 逐行讲清代码、定位失败点。
  • [ ] 我知道 Trae SOLO 是国内可直接访问、提供免费档的图形化自主代理,能说清 SOLO 模式"自主规划 → 选工具 → 执行 → 交付"的工作方式,且清楚它仍需我验收。
  • [ ] 我清楚自主代理"运行成功"不等于交付,会逐项核对产出与要求一致、数字对得上、没擅自加减步骤。
  • [ ] 我清楚这些工具迭代极快,本课学到的是协作范式而非具体按钮位置,3 个月后界面变了我也能迁移。

✍️ 思考与练习

下列练习用于把本节概念用起来(区别于"本课交付物"里的任务),建议写在你的本地笔记中。涉及具体数据或文献一律用占位或标注"示意",不得编造看似真实的来源。

练习 1(审查能力,紧扣 case_C)。 AI 给你一段代码,用 stats.ttest_ind 两两比较 Quality_GPT5Quality_Claude47Quality_Gemini25,且能正常跑出 t 值和 p 值。请指出这段代码两处方法问题,并写出正确做法。

好答案要点:① 配对当独立——三个模型评的是同一批文章(每个 Article_ID 一行含三模型分),属配对 / 重复测量,用独立样本 ttest_ind 会忽略配对相关、推断不准,应改为配对 ttest_rel;② 多重比较膨胀一类错误——三组逐对做 t 检验会抬高假阳性,整体差异应先用对重复测量稳健的 Friedman 检验stats.friedmanchisquare)。能点明"代码能跑≠方法对、这一步审查不可外包"即更好。

练习 2(语法错 vs 方法错)。 下面两种情况,分别属于"语法错"还是"方法错"?各自该怎么排查?(a) 运行时报 KeyError: 'Quality_GPT5';(b) 代码顺利跑完、给出 p 值,但用的是独立样本检验而数据是配对的。

好答案要点:(a) 是语法 / 运行错——很可能列名拼写或大小写不符、CSV 未正确读入;把完整报错 + 数据列名回贴给 AI 让它定位最有效(可配逆向追问逐行看懂)。(b) 是方法错——报错栏不会提示,代码"能跑"但方法不配数据,只能靠你自己审学科方法是否得当,再追加一句让 AI 改成配对检验。能点出"前者可外包给 AI、后者不可外包"即达标。

练习 3(工具选型)。 三个场景各该选哪一档工具,为什么?(a) 你在自己写脚本,想边写边补全;(b) 你只需要一段画箱线图的代码,复制去 Jupyter 跑;(c) 你要让 AI 自己读项目里的多个文件、跑通整条"清洗 → 分析 → 出报告"的流水线,但你不熟命令行。

好答案要点:(a) 自动补全(GitHub Copilot),在 IDE 内边打字边补;(b) 对话式生成(Claude 4.8 / GPT-5 / Gemini 2.5 网页版),一段就够、复制即用;(c) 图形化自主代理 Trae SOLO——能自主读写多文件、跑终端、迭代,且图形界面对不熟命令行者友好、国内可直接用(提供免费档)(命令行用户也可选 Claude Code / Codex CLI)。能说明"不论哪档,自主代理产出后都要验收"即更好。

练习 4(边界与红线)。 你让自主代理跑通了 case_C 分析,它显示"运行成功",报告里三个模型的均值差异看着很显著。你正准备把这段结论直接写进论文。请指出这里最容易踩的两条边界 / 红线,以及正确做法。

好答案要点:① "运行成功"≠方法对 / 结论可信——必须核对它用的检验配不配配对数据、报告里的数字与终端输出是否一致、有没有擅自删点或改设定(呼应"跑通≠交付");② 不可把判断与担责外包——直接采信代理结论而不审,是把不可推卸的学术责任让渡给不对真实性负责的工具(本课红线,与第 37 课同一条)。正确做法:先完成审查再采纳,并按要求据实披露 AI 使用;若涉及敏感数据,注意代理可能联网上传,应留本地或用隐私模式。

助力学者在 AI 时代极速产出高质量学术成果 · 55 课时双轨制 · plan v3.3