type
date
slug
summary
tags
category
icon
password
Publication Date
Link
Shot Title
Author/Team
Fields
Publication
Notes
Status
status
Notion Tip: Use this page to keep track of all your notes and highlights. You can also reference other Notion pages by typing the
[[ command. Learn more here.
Fast ReviewShot AbstractNotesKey takeawaysSummaryMy NoteAI-assistant Summary1. Task:这篇文章所做的任务是什么? (包括输入、输出,一般用于哪些场景中)2. Aspect: 这篇文章中,主要面对这个任务,发现之前工作有哪些不足? (一般在 Abstract 、Introduction中的转折语气后)3. Motivation: 在发现已有工作后,该文章作者又是如何考虑的,他们进行改进的出发点,或者说motivation是什么?(主要是一句话说清楚,他们是从哪个角度去思考问题去解决问题的)4. Methods: 该文章提出的方法有哪些?主要是哪些方面上的改进,比如 是模型结构上的改进,还是训练方法上的改进,或者是使用数据的改进 , 这些具体改进的策略或者动机是啥?5. Experiment: 该文章中是如何进行实验进行测试实验的?他们训练的模型是基于什么模型改进的(重要),用了哪些数据,用了多少训练资源(用的啥GPU,训练了多久),测试了哪些数据? 他们的实验如何证明了他们方法的有效性? 有多有效? 还存在哪些缺陷?6. Summary : 帮我根据我的总结,提炼一下这篇论文,提取成合适的总结格式,这个也需要请你帮我想一个好的格式。
Fast Review
Shot Abstract
这里提出了一个 CRITIC 的框架,是一个 in-context learning 的框架,而不进行训练。想要的是通过上下文内容,给出模型对答案进行验证自纠的形式,让模型能够调用(从上下文给定的样例中学习调用)一些外部的工具,去验证删除的正确性,并进行提示修正。整个的输出轨迹拼在一起让 LLM 进行自纠,LLM 本身被看做是一个黑盒。
Notes
Motivation 主要在于模仿人类的 self-correct 的方式, 会通过搜索引擎或工具去自己发现错误。所以文中涉及了一种黑盒框架,让模型能够去模仿这种行为,在验证与反馈中修正自己的回答。

它调用外部工具进行验证的时候,不是让模型训练学习,而是用 in-context learning ,使用少量的示例以及对工具调用的特殊化处理,让模型在 prompt 上学会该如何使用这些内容。
外部工具是通过文本到文本的API形式被集成到模型的推理过程中
- 生成初步输出:模型首先根据输入 xx 生成初步的输出 \hat{y}_0y^0。
- 生成验证请求:基于初步的输出 \hat{y}_0y^0,LLM 生成一个请求或查询,这些请求的格式通常是文本描述(例如:“请验证这个信息的真实性”或者“计算这个表达式”)。
- 发送请求并获取工具反馈:LLM 将生成的查询发送给合适的外部工具。外部工具执行任务并返回相关的反馈信息。这些反馈可以是原始数据(如从搜索引擎得到的页面内容),也可以是处理后的信息(如程序的执行结果)。
- 合并外部反馈:LLM 将工具返回的反馈与初步输出结合,形成新的“批评”(critique)。这些批评提供了对初始输出的评估和修改建议。
- 根据批评修正输出:LLM 使用批评信息对输出进行修正,并生成新的结果 \hat{y}_{i+1}y^i+1。如果批评足够完善,LLM 可能会停止修正,否则会继续与工具交互,直到满足停止条件。
其主要工程上的工作量是,设计一些 in-context learning 的 prompt 的设计,设计了很长的一段 prompt 的文本内容。里面包含了一些工具使用的例子,让模型在上下文学习时能自己使用调用。

Key takeaways
Summary
✍️ Notes taken
You can write down the notes from the book.
💡 My thoughts
What do you learn from this book? Just write down.
🔗 Reference
- You can list the reference mentioned in the book.
- You can also list other reference / url.
My Note
AI-assistant Summary
帮我总结一下这几个问题:
1. Task:这篇文章所做的任务是什么? (包括输入、输出,一般用于哪些场景中)
这篇文章提出了一个名为CRITIC的框架,允许大型语言模型(LLMs)通过与外部工具交互来验证和纠正自己的输出。主要任务包括:
- 输入:初始文本输出
- 过程:与外部工具(如搜索引擎、代码解释器等)交互进行验证和修正
- 输出:经过验证和修正的更可靠输出
适用场景包括开放式问答、数学程序合成和降低毒性等需要提高输出可靠性的任务。
2. Aspect: 这篇文章中,主要面对这个任务,发现之前工作有哪些不足? (一般在 Abstract 、Introduction中的转折语气后)
文章指出之前工作的主要不足:
- 传统方法依赖大规模人工标注或数据构建,资源密集且难以获取。
- 现有的自我纠正方法缺乏可靠的外部反馈,可能导致性能下降。
如文中所述:"Without the aid of oracle verification (employed in many contemporary works such as Reflexion, RCI, and Self-Refine), self-correction might surprisingly deteriorate performance for many tasks, even worsening the initial answer."
3. Motivation: 在发现已有工作后,该文章作者又是如何考虑的,他们进行改进的出发点,或者说motivation是什么?(主要是一句话说清楚,他们是从哪个角度去思考问题去解决问题的)
作者的主要出发点是通过引入外部工具交互来提高LLMs的自我验证和纠正能力。他们受到人类认知和批判性思维的启发,提出了一个通用的框架,支持精确、可解释的文本验证和纠正。
4. Methods: 该文章提出的方法有哪些?主要是哪些方面上的改进,比如 是模型结构上的改进,还是训练方法上的改进,或者是使用数据的改进 , 这些具体改进的策略或者动机是啥?
CRITIC框架的主要改进包括:
- 与外部工具交互:利用搜索引擎、代码解释器等工具获取可靠反馈。
- 迭代验证-纠正过程:反复进行验证和纠正,直到满足停止条件。
- 上下文学习:使用少量示例进行提示,无需额外训练。
文中描述:"CRITIC interacts with external tools like search engines and code interpreters to verify the desired aspects of an initial output and subsequently amends the output based on the critiques from the verification."
5. Experiment: 该文章中是如何进行实验进行测试实验的?他们训练的模型是基于什么模型改进的(重要),用了哪些数据,用了多少训练资源(用的啥GPU,训练了多久),测试了哪些数据? 他们的实验如何证明了他们方法的有效性? 有多有效? 还存在哪些缺陷?
实验设置:
- 基础模型:ChatGPT、Text-Davinci-003和开源LLaMA-2变体(7B、13B和70B)
- 数据集:AmbigNQ、TriviaQA、HotpotQA(问答)、GSM8k、SVAMP、TabMWP(数学推理)、REALTOXICITYPROMPTS(毒性降低)
- 评估指标:EM、F1分数(问答)、解决率(数学推理)、毒性概率(毒性降低)
主要结果:
- 问答任务:CRITIC在ChatGPT上平均提高7.7个F1分
- 数学推理:在三个任务上平均提高7.0%
- 毒性降低:毒性概率降低79.2%
文章还指出了一个重要发现:"Our results underscore the unreliability of all tested LLMs, when it comes to validating their own results."
这表明仅依赖自我纠正可能效果有限,突出了外部反馈的重要性。
请你帮我根据这篇论文的内容,帮我回答出这些问题,这些问题是文章中都会提到的,你最好的回答方式是,引用他文章的原话,再加上自己的补充来回答这些问题。
6. Summary : 帮我根据我的总结,提炼一下这篇论文,提取成合适的总结格式,这个也需要请你帮我想一个好的格式。
任务:
- 提出CRITIC框架,使LLMs能够通过工具交互进行自我验证和纠正
- 解决开放式问答、数学程序合成、毒性降低等任务中的输出可靠性问题
挑战:
- 传统方法依赖昂贵的人工标注和数据构建
- 现有自我纠正方法缺乏可靠的外部反馈
- LLMs在自我验证时存在不可靠性问题
思路:
- 受人类认知和批判性思维启发
- 通过外部工具交互获取客观反馈
- 采用迭代式的验证-纠正机制
- 使用少样本上下文学习,无需额外训练
核心方法:
- 工具交互模块:
- 搜索引擎用于事实验证
- 代码解释器用于程序执行
- 毒性API用于安全评估
- 验证-纠正循环:
- 验证阶段:与工具交互获取反馈
- 纠正阶段:基于反馈生成改进后的输出
- 迭代进行直至满足停止条件
实验情况:
- 基础模型:
- ChatGPT
- Text-Davinci-003
- LLaMA-2(7B/13B/70B)
- 主要结果:
- 问答:F1提升7.7
- 数学推理:准确率提升7.0%
- 毒性降低:79.2%
- 证实了外部反馈的重要性
主要贡献:
- 提出统一的CRITIC框架,支持多种任务的输出改进
- 通过大量实验证明了方法的有效性和通用性
- 揭示了LLMs自我验证的不可靠性,强调外部反馈的重要性
- 为提高LLMs输出可靠性提供了新的研究方向
