JoyAgent-JDGenie 是什么?京东开源的端到端通用 Agent 产品,11.9K 星

JoyAgent-JDGenie 是什么?京东开源的端到端通用 Agent 产品,11.9K 星

开源 Agent 这个圈子,大部分项目给你的是一套 SDK 或者一个框架:LangGraph、AutoGen、CrewAI 都是如此。能力不缺,缺的是”能直接用的那层”——前端界面、会话管理、任务拆解、文件产出,全要自己补。京东 2025 年 7 月开源的 JoyAgent-JDGenie 走的是另一条路:它开源的是一个端到端的产品,不是让你二开的脚手架。GitHub 上目前 11.9K 星,Apache 2.0 协议,默认分支就是 data_agent。

它到底是个什么东西

用一句话说:你给它一句任务,它还你一个交付物。比如”做一份最近美元和黄金的走势分析”,它会自己拆步骤、自己搜资料、自己算数据,最后吐一份网页版报告出来,也可以要 PPT 或者 Markdown。文件、表格、代码执行都在它的工具集里,不需要你写胶水代码。

项目本身是混合栈:后端 Java(Spring Boot,:8080),前端 React(:3000),工具层 Python(:1601)。整套东西打成一个镜像,docker run 起来就能用,这点对不想折腾编译的人挺友好。

它跟 Dify、n8n 这类平台不是一回事。Dify 是给你搭 AI 应用的场地,我写过它的入门;n8n 是自动化积木,这篇讲过定位。JDGenie 更像是把”通用助手”做成了一个开箱即用的成品,你要加能力就往上面挂子智能体。官方对比表里把这两类都归成”只开源了框架”,这话带立场,听听就行——它们解决的是不同问题。

架构:三层,两个核心角色

JoyAgent-JDGenie 架构图:前端、规划器、执行器、工具服务与 LLM 接口
请求链路:前端 :3000 → 后端 :8080(规划器拆任务、执行器按 DAG 调度)→ 工具服务 :1601 → 产出 HTML / PPT / Markdown 报告

请求链路很直白:前端把 query 通过 SSE 推给后端,后端先交给规划器,规划器把任务拆成一到五个有先后关系的子任务,再交给执行器按 DAG 并发跑,执行器每一步要么调工具、要么调模型、要么落文件。工具调用统一走 genie-tool 这个 Python 服务,搜索、代码解释器、文件读写、报告生成、PPT 生成都在里面,模型接口在 application.yml 的 llm.default 里配(base_url / apikey / model / max_tokens)。

两个设计细节值得注意。一是它支持两种模式:react(边想边做)和 plan and executor(先规划再执行),配置里能选,复杂任务用后者,简单问答用前者更省 token。二是子智能体是插件式的,你实现一个 BaseTool 接口——给个名字、描述、参数 schema、执行方法——就能挂上去,不需要改引擎。外部工具还能通过 mcp_server_url 塞进来,格式是逗号分隔的 SSE 地址。

跑起来要改什么

三步:clone、改配置、build & run。真正花时间的是第二步,两个文件:

  • genie-backend/src/main/resources/application.yml:填 base_url、apikey、model、max_tokens。用 DeepSeek 的话 max_tokens 记得设 8192,写大了会报错。
  • genie-tool/.env_template:填 OPENAI_API_KEY、OPENAI_BASE_URL、DEFAULT_MODEL,外加一个 SERPER_SEARCH_API_KEY(搜索工具用 Serper,没这个 key 搜索链路直接断)。DeepSeek 走的是 DEEPSEEK_API_KEY / DEEPSEEK_API_BASE,模型名写 deepseek/deepseek-chat。

然后 docker build -t genie:latest .,docker run -d -p 3000:3000 -p 8080:8080 -p 1601:1601 --name genie-app genie:latest,浏览器开 3000 就能用。不想用 Docker 的话,环境是 JDK 17 + Python 3.11 + uv,仓库里带了 check_dep_port.sh 和 Genie_start.sh,先查端口占用再一键起,Ctrl+C 全杀。

说点实话

第一,别被 75.15% 这个数字带跑。那是 GAIA 验证集的自测成绩,同一张表里 Alita v2.1 是 0.8727、Skywork 0.8242、蚂蚁 AWorld 0.7758,都排在它前面。JDGenie 的位置是中上,不是第一。它的卖点从来不是分数,是”开箱即用的完整产品”这个形态——AutoGPT 当年也是通用 Agent 的思路,但给的是个需要自己拼的骨架;MetaGPT 更像多角色协作的范式演示。JDGenie 至少把报告、PPT 这些”最后一百米”给做完了。

第二,双栈是有代价的。Java 改逻辑、Python 改工具、前端改界面,出问题要跨三套栈排查。而且规划器、执行器的 system prompt 全塞在 yml 的长字符串里,中文加转义,改一个字都容易踩坑。想要”改两行 Python 就跑”的体验,这套不合适。

第三,成本不是零。max_steps 默认 40,执行器单步观察上限 10000 token,一个稍复杂的任务跑十几步很常见。模型 API 加 Serper 的调用费,跑批之前先算账。另外它没有多租户和账号体系,团队内部用要自己在前面套一层网关。

适合谁:想要一个”提问出报告”的通用助手、能接受 Java 栈、有私有化部署需求的团队,或者想研究多智能体产品级实现的人——它的前端、引擎、子智能体是一起开源的,这种完整度在开源项目里不多见。不适合谁:只想接个 API 写几十行代码的,那用官方 Agents SDK 更轻。

真要上手,建议先拿一个小任务把链路跑通:搜一条新闻出个网页报告,确认 LLM、Serper、工具服务三个环节都通了,再往复杂任务上加。别一上来就丢”分析某个行业”这种大活,调试成本会让你怀疑人生。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注