展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 给材料固定可回读坐标
- 先拒绝没有证据的回答
- 实现final_answer_checks函数
- 挂到CodeAgent完成检查
- 保留被拒绝的第一次草稿
- 核对补充工具读取过程
- 同时验收引用和完成状态
1. 给材料固定可回读坐标
两份文档分别标manual-A第3行和manual-B第8行;最终证据必须引用真实id和line,而不只是写“依据资料”。
2. 先拒绝没有证据的回答
audit.py检查author_valid_answer与negative.json。负例虽然有answer文本,但evidence为空,应该失败;作者检查函数不验证所有自然语言事实。
本题独立目录执行
python reference/audit.py3. 实现final_answer_checks函数
当前smolagents 1.26.0会以(final_answer,memory,agent=self)调用检查函数,回调要接受agent或额外关键字参数,并返回真值。包内直接实测真实校验器,不能照抄漏agent参数的旧示例。
本题SDK或目标环境入口
python reference/run_sdk.py4. 挂到CodeAgent完成检查
创建CodeAgent时传入final_answer_checks列表,并在隔离材料目录运行。检查函数属于本地执行门槛,不意味着模型天然会给正确引用。
5. 保留被拒绝的第一次草稿
记录第一次final_answer及检查异常。运行器应让Agent继续补证据;只有实际触发回调才可说完成门槛生效。
6. 核对补充工具读取过程
Agent补证据后应有真实读取manual-B的工具事件,再返回新的answer/evidence。不能把作者真值文件偷偷注入成第二轮模型结果。
7. 同时验收引用和完成状态
最终引用需能回读,失败日志不能被丢弃。包内实测的是作者证据合同,尚未运行Agent循环或模型;真实回调执行另需目标环境。
怎样确认已经完成
- 检查函数确实被执行
- 失败不直接显示成完成
- 人工确认引用能回读
- 已用真实smolagents CodeAgent的最终答案校验器直接验证作者输出,空证据触发AgentError、有效证据通过;未运行Agent循环、工具补证据或真实模型。
常见问题
smolagents怎么给最终答案加证据检查?
给CodeAgent配置final_answer_checks,检查每条证据ID和行号可回读;当前回调需接受agent关键字参数。真实SDK直接校验已通过正负例。
Agent缺少引用就说完成,怎么让它继续找资料?
校验失败要使该答案不被接受,并在真实Agent循环给出可修复理由。本文只直接调用真实最终校验器,未证明Agent会自动补证据完成任务。
这篇教程哪些步骤已经真正执行?
已用真实smolagents CodeAgent的最终答案校验器直接验证作者输出,空证据触发AgentError、有效证据通过;未运行Agent循环、工具补证据或真实模型。



