把实验做明白
实验做完以后,你应该比之前更了解一个问题。开始之前就把想弄清的事写下来,会省去很多不知道为何而跑的时间。
先把问题缩小
比如你发现 Agent 做长任务时容易失败,可以先问:失败发生在哪一步,是忘记早期信息,还是工具调用本身就没成功?
拿一小组任务读完整轨迹,按实际现象分类,再决定是否值得添加记忆或恢复机制。这个例子是一个研究思路示范,不是已经完成的实验结论。
阅读时留下的问题,也可以直接带进实验记录:对应哪篇论文和哪张图,结论在什么条件下成立,你准备改变哪个因素,预期会看到什么。先把这些写清,再决定跑什么。整理疑问可以参考 irene 的阅读与证据记录。
改模型之前,先跑通 baseline
先跑通基线,保留数据版本、模型版本、配置、随机种子、代码版本和评测方法。随机种子控制的范围与具体实现有关,记录它之外也要说明重复运行情况。
每次重要改动单独留结果。比较要对应你的主张:如果说更省计算,就比较计算代价;如果说更可靠,就看多次运行与失败类型。质量、延迟和成本可以同时记录。
Karpathy 的训练经验适合排查基本问题;Deep Learning Tuning Playbook适合进一步安排调参与实验。scikit-learn 的常见错误则把泄漏、预处理和随机性讲得很具体。
一次实验要记录什么?
记录问题、配置、预期、实际结果、原始输出的位置,以及下一步判断。失败也记录。以后写文章、查异常、与别人合作,都依赖这些东西。
可以直接用下面几行开始:
这次想查什么:
相比上一版改了什么:
在什么数据和条件下运行:
看到了什么,记录在哪里:
我现在怎么解释,还不能确定什么:
下一步准备怎么区分这些解释:
没有结果时,也可以推进
如果结果和预期不符,先查流程是否成立,再考虑解释是否需要变化。把范围缩小,查实际样本,不要只盯总分。
当自己没有新思路时,把记录拿去问人。一次把问题说清的讨论,有时比继续跑一批同类实验更有帮助。怎么开口,去交流页。
下一步是把主张和证据写出来。如果想看别人怎么经历这些事情,去经验栏目。
看一次具体的研究判断
Chai 的 LoopDiT 与 AutomationBench 分析分别讨论比较条件和评分口径。LessWrong 的测量文章可以配着读:自己的分数到底测到了什么?