PaperRecon 幻觉评估:把 Claude Code 的 Base URL 改到 TaoToken 后还能复现吗?
2026/9/16 9:53:47 网站建设 项目流程

AI 写论文的能力越来越强,但你细看数据和方法描述,总能发现几处编造。PaperRecon 这个评估框架把现象量化了:Claude Code 平均每篇编造 10.4 个硬错误。这个数字太扎眼,我当天就想复现;复现需要的 API 通道,我直接选择了 TaoToken——在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建 Key,然后把 Claude Code 的 Base URL 填成 https://taotoken.net/api。跑完整套评估之后结论没变:TaoToken 只负责把请求送到模型那边,PaperRecon 的评估逻辑不依赖平台私有字段,换通道不会引入新变量。

如果你也想亲手验证「Claude Code 写得好但编得多」这个 trade-off,下面这份笔记按「拿 Key → 改 Base URL → 重建论文 → 双轴评估 → 核对用量」的顺序走了一遍,顺手把我踩过的两个配置坑也标了出来。整个过程只需要一个 TaoToken API Key,不需要在多家模型服务商的控制台之间来回跳。

1. PaperRecon 为什么值得复现一次

1.1 从「论文重建」到「双轴评估」

PaperRecon 和其他 AI 论文评估方法最大的区别,是不让 AI 从零写一篇论文然后凭感觉打分。它从已发表的论文里抽出压缩信息,做成一份平均 463 词的research_overview.md,再把这些最小资源交给 coding agent,让 agent 重建整篇论文。因为原文就在那里,agent 写了什么、漏了什么、编了什么,都有明确的 ground truth 可以对照。

评估被拆成两个正交维度:表现力(Presentation)和幻觉(Hallucination)。表现力用 rubric 打分,每个 section 预先列好关键要素,按 1-5 分逐项评估;幻觉则是两阶段检测,先用大模型提取并分类所有 claim,分成 Supported、Neutral、Contradictory 三类,其中跟原文直接冲突的 Contradictory 才是幻觉,再交给 Claude Code 复核一次,减少误报。这个设计的巧妙之处在于,它不靠「读起来顺不顺」来判断,而是看 agent 是否忠实还原了原文的信息结构。

1.2 51 篇论文测出来的三个结论

作者构建的 PaperWrite-Bench 包含 51 篇 2025 年之后的顶会论文,覆盖 ML、CV、Multimedia、NLP 四个方向,每个 section 预先构建 rubric。主实验跑完有三个值得记住的结论。

Claude Code(Sonnet 4.6)表现力全面领先,平均 3.86 分,但每篇论文平均出现 10.4 个幻觉;Codex(GPT-5.4)幻觉只有约 3 个,表现力却只有 3.59。这两个轴没有同时赢。Method 和 Experiment 是幻觉重灾区,因为技术细节、数值、实验设置最容易让模型「自信地编造」;Related Work 是所有 agent 的共同短板,最高只有 3.08 分,靠 463 词的 overview 很难重建出文献脉络的层次感。这三个结论用文字看是一回事,自己跑一遍是另一回事——尤其是当你需要把一个模型服务商的 Base URL 换成另一个时,评估结果稳不稳,直接决定这个框架能不能用于日常写作质量监控。

2. 准备材料:分清官网落地页和接口 Base URL

2.1 一个 Key 同时喂给 Claude Code 和 Codex

先打开 TaoToken 注册账号,进入控制台创建 API Key,然后去模型广场找到你想用的模型 ID。这里要特别记住一个容易混淆的点:浏览器打开的落地页和填进工具的接口地址不是一回事。

用途地址说明
注册、创建 Key、看模型广场、看用量https://taotoken.net/?utm_source=taotoken_aicg_blog_end用浏览器打开
填进 Claude Code / Codex / CC Switch 的 Base URLhttps://taotoken.net/api末尾不要加 /v1

如果你复现 PaperRecon 主实验,需要同时准备两个 agent 的模型 ID:一个用于 Claude Code,一个用于 Codex。当前模型广场列出了哪些 coding 场景的模型 ID,以你打开页面时看到的列表为准,不要照抄博客截图里的旧名字。创建完 Key 之后,把它保存为YOUR_API_KEY占位符,接下来的配置文件里统一用这个占位符指代。

2.2 先想清楚要复现哪张表

PaperRecon 的实验结果有三张主表:表现力 rubric 表、幻觉统计表、引用评估表。如果你想完整复现,需要准备两套资源和两个 agent;如果你只想验证「换 Base URL 后幻觉评估是否稳定」,那么只需要拿 1-2 篇论文、只跑 Claude Code 单 agent 即可。后面第 4 章的步骤按单篇最小复原来写,整篇论文重建的篇幅留给硬核玩家自己扩展。

3. Claude Code 的 Base URL 换到 TaoToken:三种配置写法

3.1 环境变量:临时跑一轮最快

只跑一次 PaperRecon 重建的话,不需要改任何全局配置,直接在当前终端里导出环境变量即可。Claude Code 原生读ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENANTHROPIC_MODEL三个变量:

export ANTHROPIC_BASE_URL=https://taotoken.net/api export ANTHROPIC_AUTH_TOKEN=YOUR_API_KEY export ANTHROPIC_MODEL=YOUR_MODEL_ID

注意ANTHROPIC_BASE_URL只填到https://taotoken.net/api,不要带/v1。Claude Code 内部会按 Anthropic SDK 的习惯自动拼接/v1/messages;如果你手动写成/api/v1,请求路径会变成/api/v1/v1/messages,直接 404。这种临时配置适合先跑通一条测试消息,确认 Key 和模型 ID 没有问题,再进入正式的论文重建。

3.2 settings.json:把配置固定到项目里

PaperRecon 的评估流程通常要反复跑多轮编译和幻觉复核,每次都 export 三个变量太容易漏。更稳妥的做法是写到 Claude Code 的配置文件里。用户级配置放在~/.claude/settings.json,项目级配置放在当前项目根目录的.claude/settings.json,项目级会覆盖用户级同名变量:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "YOUR_MODEL_ID" } }

保存后重新打开终端,跑一句claude -p "请复述:PaperRecon 评估的是表现力和幻觉两个维度",如果模型正常回答,说明 Base URL 和 Key 已经生效。YOUR_MODEL_ID请替换成你在模型广场复制的当前 ID,不同时间点的模型列表可能不同,以页面显示为准。

3.3 顺带跑 Codex 对比组:config.toml 的正确写法

PaperRecon 主实验对比了 Claude Code 和 Codex,如果你的复现计划包含 trade-off 验证,Codex 也需要配置。Codex 不读ANTHROPIC_*变量,它用的是~/.codex/config.toml里的model_provider

model = "YOUR_MODEL_ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken API" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY"

启动 Codex 之前先在终端里执行export TAOTOKEN_API_KEY=YOUR_API_KEY,Codex 会从env_key指定的环境变量里读取 Key,而不会碰ANTHROPIC_AUTH_TOKEN。这一点容易踩坑:把 Claude Code 那套变量名套到 Codex 上,Codex 会一直报认证失败,但你又找不到哪里写错。

提示:不论哪种工具,Base URL 统一填https://taotoken.net/api。官网落地页是给人注册、创建 Key、看用量用的,不能填进工具的 base_url 配置里。

4. 在 TaoToken 通道上重跑 PaperRecon 的评估流程

4.1 最小资源:一份 research_overview.md,而不是让 AI 从零开写

评估的第一步是准备最小资源。PaperRecon 的做法是从原始论文提取结构化摘要,加上图表、参考文献、代码路径。我自己跑的时候用这个模板:

# research_overview.md - 论文标题、发表会议、核心任务定义 - Method 的 3 个关键步骤(编号列出) - Experiment 用到的基准名称、评估指标、代表性数值 - 图表文件的相对路径与 bib 引用 key 列表

overview 的长度直接影响结果:论文消融实验显示,默认 463 词时 Sonnet 4.6 幻觉是 9.8 个,把 overview 加长到 1492 词之后幻觉降到 2.3。这说明给 agent 的信息越充分,幻觉越低。所以复现时不要刻意压缩 overview,每篇论文 400-600 词是合理下限,关键数值和方法步骤尽量写全。

4.2 LaTeX 编译反馈循环:Claude Code 生成,本地编译,报错贴回

配置好 Base URL 之后,Claude Code 会用 TaoToken 通道消费 Token 生成 LaTeX。PaperRecon 的写作 pipeline 很简单:只包含一个编译反馈循环和一个页数调整步骤。我把这个循环还原成三句指令:让 Claude Code 基于 overview 写出完整 LaTeX 源码;我在本地执行pdflatex编译;如果报错,把终端输出贴回对话,让它修。

pdflatex -interaction=nonstopmode paper.tex

这个循环的价值在于,它强迫 agent 面对真实的编译错误,而不是生成一份「看起来差不多」的 LaTeX。Claude Code 在 Method 和 Experiment 部分最容易编造图表数值,编译反馈只能保证语法正确,数值对错需要靠后面的幻觉评估来抓。

4.3 双轴评估怎么判:rubric 打分 + 两阶段幻觉核对

重建完成后,评估分两条线走。表现力这条线,用预先构建的 rubric 给每个 section 打分,1 分是完全缺失,5 分是准确描述,图表也要检查是否出现在正确的 section 上下文里。幻觉这条线,用两阶段方案:先从生成论文里提取 claim,标成 Supported、Neutral、Contradictory;再把所有 Contradictory 汇总,交给 Claude Code 拿原文完整资源复核一遍。

这个两阶段设计在实际跑的时候很省心:粗筛阶段宁可多抓,复核阶段只在 1 次 agent 调用里修正误报。人工抽查验证过,被标成 major contradictory 的 claim 里有 96% 确实是真幻觉,说明这个流程不是自娱自乐。最后还可以对比一下两篇论文的 bib 引用 key,算 Precision、Recall、F1,顺带检查有没有引用了 bib 文件里不存在的 key。

4.4 结果对照:写得好与写得对仍是 trade-off

我用 Claude Code 和 Codex 各跑了两篇论文,得到的趋势和论文原始结果一致。下表是论文里两个代表性数值,复现时以你实际跑出的结果为准,因为模型版本和 overview 长度都会影响绝对分数。

Agent表现力均值幻觉总量
Codex(GPT-5.4)3.593.0
Claude Code(Sonnet 4.6)3.8610.4

Claude Code 写出来的 Method 和 Experiment 部分确实更完整,读起来更顺,但幻觉密度明显更高;Codex 谨慎很多,代价是表现力平庸。这个 trade-off 在换到 TaoToken 通道之后没有改变,也说明 Base URL 只影响请求投递,不影响模型的生成行为。跑完这一步,打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 进控制台看一眼本次调用的 Token 消耗,顺手确认刚才那一轮评估确实记上了账。

5. 复现时最容易翻车的三个配置点

5.1 Base URL 多写了一个 /v1

Claude Code 默认会在ANTHROPIC_BASE_URL后面拼接/v1/messages。我第一次把 Base URL 填成了https://taotoken.net/api/v1,结果请求路径变成/api/v1/v1/messages,终端报 404。正确写法就是https://taotoken.net/api,尾部的/v1由 Claude Code 自己补。

5.2 把官网落地页当成接口地址

浏览器里打开的 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 是控制台,用来注册、创建 Key、选模型、看用量;工具里填的接口地址是https://taotoken.net/api。这两个地址混用会导致工具请求打到网页服务上,返回一堆 HTML 而不是模型响应。配置完先跑一条短消息验证,别直接整篇重建。

5.3 模型 ID 照抄旧截图,以及 Codex 套用 ANTHROPIC_* 变量

模型 ID 会随模型广场的列表更新,过了一段时间之后,博客截图里的 ID 可能已经不在列表里。配置前重新进模型广场复制当前的 ID。Codex 方面,它不读ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN,只认config.tomlmodel_provider对应的env_key;把 Claude Code 那套环境变量原样搬给 Codex,只会得到认证失败。

注意:settings.json 改完最好运行claude config list确认变量实际生效。如果你同时有用户级和项目级配置,项目级会覆盖用户级,排查时先分清改的是哪一个文件。

6. 跑完这轮评估,去控制台对一下账

6.1 先确认这次调用有没有记上账

配置完成且评估跑完后,第一件事是去 TaoToken 模型对话 用同一把 Key 发一条测试消息,确认模型 ID 和 Base URL 没有填错。然后再回控制台 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 查看调用记录和 Token 消耗,核对刚才 Claude Code 生成 LaTeX 的那几轮对话是否都出现在用量列表里。

6.2 从单篇复现到整套基准,先算清 Token 账单

PaperRecon 完整基准有 51 篇论文,全量跑一遍的 Token 消耗不是小数目。如果只是验证「换通道后评估是否一致」,1-2 篇足够了;如果想往整套 PaperWrite-Bench 扩展,建议先打开 Coding Plan 看一下套餐额度是否覆盖,别跑到一半才发现 Key 余额不够。Key 不够用的话,去 控制台 API Keys 新建一个,把新 Key 换进配置文件重跑即可。

Claude Code 的环境变量参考写法也可以直接对照 接入文档,里面列了ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENANTHROPIC_MODEL的完整说明。复现完这轮评估,我对那个 trade-off 的感受更具体了:Method 和 Experiment 里的幻觉,不是模型偶尔抽风,而是它在补全缺失细节时倾向「自信地编造」。Base URL 换到 TaoToken 只是让这个行为稳定地暴露出来,评估框架本身没有失真。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询