文章摘要
Jido 2.0正式发布,这是经过18个月开发重构的AI代理框架,基于Elixir语言和BEAM虚拟机构建。该版本已上线Hex包管理平台,标志着从最初的BotHive聊天机器人平台向AI代理框架的转型。
文章总结
Jido 2.0 正式发布
经过18个月的开发、重构与重新设计,Jido 2.0 现已正式推出,并已在 Hex 上架。
从1.0到2.0的演进
Jido 最初是2024年的一个机器人平台(BotHive),随着AI技术的爆发,项目方向发生了转变。开发者基于Elixir语言和BEAM虚拟机,构建了一个专为智能体系统优化的框架。相比单线程的TypeScript或稳定性不足的Python方案,BEAM的并发特性使其成为更可靠的选择。
Jido 1.0 因过度设计而饱受诟病,用户反馈显示框架的复杂性阻碍了基础功能的实现。2.0版本彻底简化了API,减少冗余设计,回归BEAM原生特性,让开发者更专注于智能体逻辑。
核心功能亮点
纯函数式智能体架构
- 智能体以数据结构(struct)形式存在,包含状态、动作和工具,通过
cmd/2函数驱动。 - 所有副作用通过“指令”(directives)描述,便于测试和调试。
- 示例代码:
elixir {:ok, updated_agent, directives} = Jido.Agent.cmd(agent, {ProcessOrder, order_id: "123"})
- 智能体以数据结构(struct)形式存在,包含状态、动作和工具,通过
可扩展的策略系统
- 提供两种内置策略:
Direct(顺序执行)和FSM(状态机),AI功能(如ReAct、思维链)通过策略插件实现。 - 第三方库(如行为树)可通过相同接口集成。
- 提供两种内置策略:
模块化生态
- jido_action:标准化动作定义,支持25+预置工具和DAG工作流。
- jido_signal:基于CloudEvents的消息系统,提供高性能路由和多协议适配器。
AI集成层
- Jido AI 支持6种推理策略(如ReAct、思维树),通过LLM调用实现结构化决策。
- 工具调用基于
Jido.Action,兼容多模型提供商(通过ReqLLM客户端,覆盖665+模型)。 - 示例:客服智能体自动处理订单查询和工单创建。
生态发展
- Ash框架深度整合:通过
ash_jido将智能体功能嵌入Ash资源,保留权限和类型安全。 - 社区已涌现浏览器自动化、记忆系统等扩展包,详见 jido.run/ecosystem。
致谢与资源
感谢Elixir社区及早期测试者的反馈。开发者可通过以下链接快速上手:
- 安装:{:jido, "~> 2.0"}
- 文档:hexdocs.pm/jido
- Discord社区:jido.run/discord
Jido 2.0 标志着其从单一框架向完整生态的转变,为BEAM上的AI应用开发提供了坚实基础。
(注:原文中的导航栏、版权声明等非核心内容已精简,保留技术细节和关键链接。)
评论总结
以下是评论内容的总结:
对Jido项目的兴趣与期待
- 多位用户表示对Jido 2.0的期待,认为BEAM平台非常适合构建AI代理框架。
"BEAM does seem like a perfect fit for an agent framework... Excited to see 2.0!" (mmcclure)
"I’ve found the hardest part with agent frameworks isn’t model plumbing... BEAM’s supervision model feels like a genuinely strong fit for that." (bhekanik)
- 多位用户表示对Jido 2.0的期待,认为BEAM平台非常适合构建AI代理框架。
技术细节与改进建议
- 用户建议展示BEAM的进程树截图以帮助理解,并指出代码示例中的转义问题。
"It'd be cool to see a screenshot of what 'observer' shows as the process tree..." (davidw)
"Just a heads up, some of your code samples seem to have an issue with entity escaping." (mmcclure)
- 用户建议展示BEAM的进程树截图以帮助理解,并指出代码示例中的转义问题。
与其他工具的关系
- 用户询问Jido与LangChain的关系,认为可能是互补的。
"Where does this stand in relation to LangChain? Probably complimentary but wanted to check." (enraged_camel)
- 用户询问Jido与LangChain的关系,认为可能是互补的。
实际应用与体验
- 部分用户计划试用Jido,认为其能简化开发流程。
"Going to give it a shot this weekend." (carverauto)
"This looks like it will really remove a lot of pain for development." (neya)
- 部分用户计划试用Jido,认为其能简化开发流程。
对生态的批评与担忧
- 有用户质疑Elixir/Erlang是否会因AI代理再次流行,并提到安全性和容器化问题。
"What’s old is now rebranded, reheated and new again." (rvz)
"How do you ensure security? Does it have a proper container?" (malkosta)
- 有用户质疑Elixir/Erlang是否会因AI代理再次流行,并提到安全性和容器化问题。
项目分享与替代方案
- 用户分享了自己开发的类似工具,认为语义不同仍值得保留。
"I decided to leave it up because the package semantics were different enough." (maxekman)
- 用户分享了自己开发的类似工具,认为语义不同仍值得保留。
网站访问问题
- 因流量过大,网站暂时无法访问,用户提供了存档链接。
"The site seems to be getting hugged to death..." (klocksib)
- 因流量过大,网站暂时无法访问,用户提供了存档链接。
总结:评论整体对Jido项目持积极态度,尤其认可BEAM平台的优势,但也提出了技术细节、安全性及生态影响的讨论。部分用户分享了替代方案或计划尝试使用。