AutoChain
用轻量 Python 框架构建带工具与多轮评测的 LLM 代理。
- Star 数
- ★ 1.9k
- 最近更新
- 2 年前
- License
- MIT
- 主语言
- Python
- FA 评分
- 36/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- Python 开发者要快速试验一个能回答自然语言请求的对话代理,并需要通过 Chain 保留会话历史。
- 不适合
- 需要生产级托管、容器部署与认证能力的团队
- 希望用确定性规则测试而非 LLM 评判的团队
这个 Agent 能做什么,适合哪些场景?
AutoChain 是一个用于构建和评测生成式代理的 Python 框架。它以 Chain、ConversationalAgent、ChatOpenAI 和 BufferMemory 等组件组织一次带会话记忆的代理调用,并可为代理传入 Tool 列表。对于 OpenAI 模型,OpenAIFunctionsAgent 可将既有 Tool 接口的函数规格转换为 OpenAI function calling 格式。其 workflow evaluation 会让待测代理与 LLM 模拟用户进行多轮对话,再由 LLM 判断是否达成预设结果。仓库文档展示的是本地 Python 安装与命令行运行方式,未说明托管服务、容器部署或其他模型提供商支持。
开发者创建 ChatOpenAI(temperature=0)、BufferMemory 和 ConversationalAgent.from_llm_and_tools(...),然后以它们构造 Chain(agent=agent, memory=memory)。调用 chain.run("Write me a poem about AI") 会执行代理链,示例从返回值读取 ['message']。开发者可传入带 name、func 和 description 的 Tool;若改用 OpenAIFunctionsAgent.from_llm_and_tools(llm=llm, tools=tools),框架会为 OpenAI function calling 转换函数规格。评测时运行 autochain/workflows_evaluation/conversational_agent_eval/generate_ads_test.py,框架让代理与包含用户上下文和目标结果的 LLM 模拟用户多轮交谈,并由 LLM 评估会话结果。
- Python 开发者要快速试验一个能回答自然语言请求的对话代理,并需要通过 Chain 保留会话历史。
- 需要让客服、内容或业务原型调用自定义天气查询等函数的团队,可将函数包装为 Tool 后交给 ConversationalAgent。
- 已采用 OpenAI 模型且希望使用 function calling、但保留 Tool 接口的开发者,可采用 OpenAIFunctionsAgent。
- 维护多个用户场景的代理团队,可在 generate_ads_test.py 中定义测试案例并批量运行多轮工作流评测。
- 正在修改提示词且需在终端查看提示词与输出的开发者,可使用 -v 运行以获得详细输出。
如何安装或部署这个 Agent?
从 PyPI 安装:
pip install autochain或克隆仓库后从源码安装:
cd autochain
pyenv virtualenv 3.10.11 venv
pyenv local venvpip install .
随后设置:
export OPENAI_API_KEY=export PYTHONPATH=pwd
如何使用这个 Agent?
先按安装步骤配置 OPENAI_API_KEY 和 PYTHONPATH。要交互运行已提供的示例:
python autochain/workflows_evaluation/conversational_agent_eval/generate_ads_test.py -i要执行该测试文件中的所有案例:
python autochain/workflows_evaluation/conversational_agent_eval/generate_ads_test.py代码使用时,创建 ChatOpenAI、BufferMemory、ConversationalAgent.from_llm_and_tools 和 Chain,再调用 chain.run(...) 并读取返回结果的 ['message']。
这个 Agent 有哪些优点和局限?
- 以 Chain、ConversationalAgent、ChatOpenAI 和 BufferMemory 提供较直接的代理组装路径。
- 同一 Tool 接口可用于 ConversationalAgent,并可由 OpenAIFunctionsAgent 转换为 OpenAI function calling 所需格式。
- 工作流评测覆盖 LLM 模拟用户参与的多轮会话,而非仅预置的单轮查询。
- 支持以 -v 在控制台输出详细提示词和模型输出,便于提示词迭代。
- 文档安装与示例明确要求 OPENAI_API_KEY,且未展示其他模型提供商的适配路径。
- 工作流评测本身依赖 LLM 同时模拟用户和判断结果,因此评测过程并非确定性规则检查。
- 文档只展示本地 Python/命令行执行,没有说明生产托管、容器化、认证或横向扩展方案。
- 示例使用 pyenv virtualenv 3.10.11,其他 Python 版本的兼容性未在所给资料中说明。
这个 Agent 与同类方案有什么区别?
文档说明 AutoChain 借鉴 LangChain 和 AutoGPT;对熟悉 LangChain 的开发者,它采用相似但更简单的概念,并宣称最多保留两层抽象。相较于文档所述的 LangChain 或 AutoGPT 评测困难,AutoChain 的区别在于提供由模拟用户驱动的多轮 workflow evaluation。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AutoChain 当前 | 36 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.9k | 2 年前 | Python | OpenAI API |
| Promptise Foundry | 81 · 表现良好 | 代码库 / SDK免费 + 模型费 | ★ 894 | 今天 | Python | Claude.ai · OpenAI API · Claude API |
| Trace 生成式优化框架 | 51 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 764 | 1 年前 | Python | OpenAI API · Claude API |
| Agent Skills 技能库 | 49 · 缺口较多 | Agent 插件 / 技能免费 + 模型费 | ★ 240 | 2 个月前 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README说明Agent可调用自定义工具、保存对话及工具输出,并要求设置OPENAI_API_KEY;这支持基本能力理解,因此最小权限和数据流各给1分。材料没有用户确认、密钥保护、敏感数据处理、回滚或工具副作用控制说明,相关项低分;依赖有版本下限或范围但未见安全策略,依赖安全仅1分。README列出Yi Lu联系地址,许可证列出Harrison Chase,项目元数据列出Forethought作者;这些署名存在但维护与权属关系不清,来源归属仅1分。
README把框架定位为轻量Agent构建及多轮模拟评估,示例与功能大体对应;但README称评估可自动判断结果,现有测试样本主要断言Agent输出类型,未交叉证明评估准确性,自洽性仅1分。依赖清单明确但含多个开放版本范围,未显示锁文件或可用性兜底,因此依赖可用性1分。所给源码没有错误消息或故障恢复证据,失败消息0分。
README明确面向开发者,并举对话Agent、自定义工具及多轮场景,普通用途覆盖充分,给2分。工具边界、权限限制和不适用场景未说明,能力边界仅1分。触发条件仅由用户输入和模型决策呈现,未见精确策略,给1分。安装步骤覆盖Python虚拟环境、包安装及API密钥,但版本范围较宽且没有平台差异说明,环境适配1分。
README按安装、功能、示例和评估组织,并链接组件文档,信息架构2分;安装说明有快速安装、源码安装和环境变量,给2分。命名在AutoChain、workflow evaluation及路径中基本清晰,但版本元数据和发布说明不足,命名稳定性1分。示例覆盖基本链、工具、函数调用和交互评估,故2分;局限只提到模型行为非确定及评估成本问题,未系统列出,1分。LICENSE提供MIT正文,给2分,但pyproject仍标注TODO定义许可,故未满分。所给材料无变更日志,版本化/变更记录0分。作者及联系信息可见,但持续维护责任和更新路径不清,维护责任1分。
示例展示了可直接理解的链、工具和函数调用模式,评估工作流也针对多轮场景,输出可用性2分、相较手工搭建与单轮测试的边际价值2分。成本收益只作轻量和快速迭代的主张;评估依赖LLM模拟与判定且没有成本控制证据,给1分。
功能主张在README中有相应示例和测试片段可追溯,给2分;但README、元数据和样本测试并未全面互证,尤其评估能力缺少直接佐证,交叉印证1分。材料将目标、示例和测试代码分别呈现,能区分部分主张与实现证据,但仍有未验证宣传性描述,因此事实与推断区分2分。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- Agent会把对话和工具输出放入记忆,并可能调用自定义工具;集成前应明确工具的外部副作用、权限和数据保留方式。
- 安装需提供OPENAI_API_KEY;材料未说明密钥保护方式。依赖范围较宽,且未提供变更日志或已知限制清单。
常见问题
运行它需要什么凭据?
评测会真正和用户聊天吗?
工具函数有哪些权限限制?
是否可直接部署为在线服务?
谢谢反馈,我们会据此改进页面。