Show HN: AgentState – AI代理的开源弹性与缓存代理
AgentState是一个轻量级、自托管的代理,它拦截LLM和工具调用,自动将执行状态检查点到SQLite,处理重试,并允许从任意点暂停、编辑和恢复运行,从而节省时间和金钱。
AgentState是一个开源项目,旨在解决AI代理在长时间运行任务中因崩溃而浪费token的问题。它作为一个轻量级代理,位于您的LLM客户端和实际API之间,自动拦截所有完成请求,并在SQLite数据库中检查点执行状态。当代理在步骤87处失败时,您无需从头开始,只需从最后一个检查点恢复即可。
该项目提供多种集成方式:一是通过Python SDK的AgentStateOpenAI客户端,只需一行代码即可自动路由所有请求;二是针对LangChain和CrewAI的框架封装;三是支持任何OpenAI兼容的客户端,只需将baseURL指向AgentState代理即可。此外,代理还支持自定义头部实现会话追踪、步骤编号、人类审批触发以及回退模型切换。
AgentState的内置仪表板提供完整的会话管理,包括查看历史、暂挂审批、导出微调数据集等。测试演示展示了弹性恢复(模拟崩溃后通过缓存快速恢复)和人类在环审批(敏感操作暂停直至批准)功能。该项目采用MIT许可证,欢迎社区贡献。
详细来说,AgentState的架构非常简洁:它作为一个中间件,捕获所有LLM和工具调用请求,将每次调用的状态(包括输入、输出、时间戳等)记录到SQLite数据库中。如果代理在某个步骤崩溃,重新运行时可以从最后一次成功记录的状态继续执行,避免了重复计算。此外,AgentState还提供了缓存机制,当相同的请求再次出现时,可以直接返回缓存结果,进一步节省token和成本。对于需要人工审核的场景,AgentState支持HITL审批网关:当代理执行到敏感操作(如删除数据、发送邮件)时,会暂停执行并等待仪表板上的审批结果,只有获得批准后才会继续。在API层面,AgentState兼容OpenAI的聊天完成端点,因此可以轻松替换现有的OpenAI客户端。它还提供了管理API,用于列出会话、查看详情、回滚到指定步骤、处理待审批项以及导出微调数据集。整体而言,AgentState通过简单的集成和强大的功能,为AI代理的可靠性和成本优化提供了实用的解决方案。