Hacker News 中文摘要

RSS订阅

显示 HN:Jido 2.0,Elixir 代理框架 -- Show HN: Jido 2.0, Elixir Agent Framework

文章摘要

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原生特性,让开发者更专注于智能体逻辑。

核心功能亮点

  1. 纯函数式智能体架构

    • 智能体以数据结构(struct)形式存在,包含状态、动作和工具,通过cmd/2函数驱动。
    • 所有副作用通过“指令”(directives)描述,便于测试和调试。
    • 示例代码:
      elixir {:ok, updated_agent, directives} = Jido.Agent.cmd(agent, {ProcessOrder, order_id: "123"})
  2. 可扩展的策略系统

    • 提供两种内置策略:Direct(顺序执行)和FSM(状态机),AI功能(如ReAct、思维链)通过策略插件实现。
    • 第三方库(如行为树)可通过相同接口集成。
  3. 模块化生态

    • 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应用开发提供了坚实基础。


(注:原文中的导航栏、版权声明等非核心内容已精简,保留技术细节和关键链接。)

评论总结

以下是评论内容的总结:

  1. 对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)
  2. 技术细节与改进建议

    • 用户建议展示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)
  3. 与其他工具的关系

    • 用户询问Jido与LangChain的关系,认为可能是互补的。
      "Where does this stand in relation to LangChain? Probably complimentary but wanted to check." (enraged_camel)
  4. 实际应用与体验

    • 部分用户计划试用Jido,认为其能简化开发流程。
      "Going to give it a shot this weekend." (carverauto)
      "This looks like it will really remove a lot of pain for development." (neya)
  5. 对生态的批评与担忧

    • 有用户质疑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)
  6. 项目分享与替代方案

    • 用户分享了自己开发的类似工具,认为语义不同仍值得保留。
      "I decided to leave it up because the package semantics were different enough." (maxekman)
  7. 网站访问问题

    • 因流量过大,网站暂时无法访问,用户提供了存档链接。
      "The site seems to be getting hugged to death..." (klocksib)

总结:评论整体对Jido项目持积极态度,尤其认可BEAM平台的优势,但也提出了技术细节、安全性及生态影响的讨论。部分用户分享了替代方案或计划尝试使用。