概览
ChemAgent (Gerstein Lab) 是一个研究框架,用于探究自更新知识库如何支持大型语言模型解决多步化学推理问题。论文介绍了一种工作流程:将化学任务拆分为较小的子任务,并将相关经验存入结构化知识库,以供后续查询。ChemAgent 并非独立的化学预测模型,而是在 LLM 周围加入基于记忆的任务拆解与解答生成机制。
该框架以化学推理问题为输入,检索相关的已存储信息,并在构建解答的过程中对这些信息加以完善。文档描述的架构包括任务拆分、执行、关联和反思模块。论文介绍了三种记忆类型;仓库说明则列出 Plan Memory、Execution Memory 和 Knowledge Memory。配置选项用于选择记忆存储位置,并控制执行失败后的策略改进以及是否启用评估。
仓库 README介绍了用于构建记忆池和在 SciBench 衍生数据集 atkins、chemmc、matter 和 quan 上运行实验的代码。文档还指出了实验输出和已存储记忆所在的目录。按照开发工作流程,构建记忆是前置步骤,并非自动安装环节。
这是发布的研究代码,并非有完整文档的即用型服务。安装部分仍是占位内容,现有材料也未能证明已提供完整依赖配置或与当前模型的兼容性。论文将药物发现和材料科学列为潜在的未来应用,而非已经演示的工作流程。
主要功能
- 将化学推理任务拆分为子任务,以便将处理结果加入可复用、可自更新的知识库。
- 检索并完善相关记忆,以支持新问题的任务拆解与解答生成。
- 通过独立的功能模块处理任务拆分、执行、关联和反思。
- 支持配置 Plan Memory 和 Execution Memory 的存储位置,并提供用于启用 Knowledge Memory 的文档化设置。
- 介绍了用于构建记忆的开发模式,以及用于在 `atkins`、`chemmc`、`matter` 和 `quan` 上运行实验的测试模式。
- 提供配置项,用于控制执行失败后的策略改进以及是否启用评估。
使用场景
- 评估建议:补齐不完整的环境配置后,复现文档所述的 SciBench 化学推理工作流程。
- 评估建议:研究可复用的子任务记忆如何影响所提供推理数据集上的解答生成。
- 评估建议:更改策略改进或评估设置进行对照运行,并根据数据集参考答案检查生成的解答。
使用方式
- 阅读 ChemAgent 论文,了解任务拆解、记忆构建和实验范围,再尝试复现。
- 检查已发布的仓库及其 README。确认数据集、记忆目录和实验输出的位置;由于安装说明尚未完成,需另行解决依赖问题。
- 查看
assets/config.yml中的模型设置、Plan Memory 和 Execution Memory 路径、策略改进和评估选项。请在代码中核实 Knowledge Memory 设置:README 示例使用image,但说明文字写的是img。 - 按照 README 的开发工作流程操作:从
XAgent/agent/simple_agent/prompt.py的fewshot_examples中选取两个示例、调整配置,并使用文档所述开发模式,为选定数据集构建记忆。 - 使用
dev_test.py中文档所述的测试模式,并选择atkins、chemmc、matter或quan之一。作为评估步骤,请检查生成的解答和实验输出中是否存在计算与推理错误,不要将运行成功视为已通过科学验证。