Java 生态 Plan-Execute 项目推荐
Java 生态 Plan-Execute 项目推荐
特殊说明,因为我有个java 8 Spring boot 2.3的项目,想搞一些AI方面的工作。
1. LangChain4j(最推荐)
GitHub : https://github.com/langchain4j/langchain4j
Plan-Execute 实现方式 :
LangChain4j 通过两种方式支持 Plan-Execute:
方式 A: AiServices + 自定义 Planner 方式 B:使用 Agent 抽象(新版本 1.0+)
优点 :
- 版本兼容:支持 Java 8+,可与 Spring Boot 2.3 配合
- 生态完善:工具、记忆、RAG、MCP 一应俱全
- 社区活跃:持续更新,文档丰富
- 可扩展性:可以自定义 Plan-Execute 的各个阶段
适合改造 :⭐⭐⭐⭐⭐
2. Spring AI Alibaba(Spring Boot 3.x 必选)
GitHub : https://github.com/alibaba/spring-ai-alibaba
Plan-Execute 实现 :
基于状态机(StateGraph)实现 Plan-Execute:
优点 :
- 阿里云官方出品,对接百炼无缝
- 状态机实现,可视化流程,调试方便
- 支持可观测性(ARMS、Langfuse)
- 内置 Plan-Act-Reflect 模式
注意 :需要 Spring Boot 3.x + JDK 17+
适合改造 :⭐⭐⭐⭐⭐(如果能升级 Spring Boot)
3. AgentScope Java(阿里通义实验室)
GitHub : https://github.com/modelscope/agentscope-java
Plan-Execute 实现 :
采用 ReAct + Planner 分层架构:
项目结构 :
优点 :
- 专为企业级设计
- Plan-Execute 是 核心设计模式 ,不是附加功能
- 内置安全沙箱
- 实时介入机制(可打断、恢复)
注意 :需要 JDK 17+
适合改造 :⭐⭐⭐⭐
4. hello-agents(轻量级参考)
GitHub : https://github.com/kylin-syh/hello-agents
Plan-Execute 实现 :
从 0 到 1 原生实现,代码可读性好:
项目结构 :
优点 :
- 代码最简洁 ,适合学习和改造
- 多层级记忆系统设计出色
- 详细的设计文档和注释
缺点 :社区较小,依赖较少
适合改造 :⭐⭐⭐⭐⭐(作为学习和起点)
对比总结

我的建议
根据你的情况( Spring Boot 2.3 + Java 8 + 需要 Plan-Execute ):
方案 A:LangChain4j + 自定义 Plan-Execute
方案 B:以 hello-agents 为起点
✅ 代码简洁,容易理解
✅ 原生实现 Plan-Execute
✅ 多层级记忆系统可直接复用
❌ 需要适配到你的 Spring Boot 项目
方案 C:升级 Spring Boot + Spring AI Alibaba
✅ 最完整的解决方案
✅ 状态机实现,可视化调试
❌ 需要升级 Spring Boot 和 JDK
如果不想升级 Spring Boot,我推荐方案 B(hello-agents)作为学习参考,然后结合 LangChain4j 的生态在你的项目中实现 Plan-Execute。
StateGraph vs 真正的动态规划

StateGraph 示例(固定)
// 必须预先写死所有节点和路径
graph.addNode("analyze");
graph.addNode("design");
graph.addNode("implement");
graph.addNode("test");
graph.addEdge("analyze", "design");
graph.addEdge("design", "implement");
graph.addEdge("implement", "test");
// LLM 只能在这些预定义路径中选择
真正动态规划示例
// LLM 运行时生成计划
String plan = llm.plan("帮我实现一个用户登录功能");
// plan = "1. 查看现有项目结构\n2. 设计数据库表\n3. 创建实体类\n4. 实现Repository\n5. 实现Service\n6. 实现Controller\n7. 编写单元测试"
// 没有任何预先定义的节点或路径
真正支持动态规划的 Java 项目
1. AgentScope Java(最符合Plan需求)
GitHub : https://github.com/modelscope/agentscope-java
核心设计 :
Plan-Execute 循环 :
优点 :
- ✅ 完全动态 :没有任何预定义的节点或路径
- ✅ LLM 自主决定 :规划、重规划全由 LLM 完成
- ✅ 代码量少 :框架处理循环,只需实现 Planner 接口
- ✅ 可扩展性强 :可以插入反思、验证等环节
2. hello-agents(轻量级,可参考)
GitHub : https://github.com/kylin-syh/hello-agents
核心实现 :
优点 :
- ✅ 代码最简洁 :核心逻辑几百行
- ✅ 可读性好 :没有复杂的抽象
- ✅ 易于改造 :直接复制到你的项目中
3. 自建轻量 Plan-Execute 层
如果不想引入完整框架,可以基于 LangChain4j 自建一个轻量 Plan-Execute 层:
// 核心接口
public interface DynamicPlanner {
List<PlannedStep> plan(String task, List<PlannedStep> completed);
List<PlannedStep> replan(List<PlannedStep> currentPlan, PlannedStep
failedStep, String error);
}
public interface DynamicExecutor {
ExecutionResult execute(PlannedStep step);
}
// 计划步骤
public class PlannedStep {
private String id; // 动态生成
private String description; // "创建 UserController"
private String tool; // "write_file"
private Map<String, String> args; // LLM 决定的参数
private StepStatus status;
}
// Plan-Execute 引擎
public class PlanExecuteEngine {
private DynamicPlanner planner;
private DynamicExecutor executor;
private ChatModel chatModel;
public String run(String task) {
// Phase 1: 规划
List<PlannedStep> plan = planner.plan(task, List.of());
// Phase 2: 执行
for (int i = 0; i < plan.size(); i++) {
PlannedStep step = plan.get(i);
ExecutionResult result = executor.execute(step);
// Phase 3: 反思/重规划
if (result.hasError()) {
List<PlannedStep> completed = plan.subList(0, i);
plan = planner.replan(plan, step, result.getError());
i = -1; // 重新开始遍历新计划
}
}
return summarize(plan);
}
}
使用示例 :
// 动态规划器实现
public class LlmdynamicPlanner implements DynamicPlanner {
private ChatModel chatModel;
@Override
public List<PlannedStep> plan(String task, List<PlannedStep> completed) {
String prompt = buildPlanPrompt(task, completed);
String response = chatModel.call(prompt);
return parsePlanResponse(response); // 解析 LLM 输出为结构化步骤
}
}
对比总结

如果能升级到JAVA17,AgentScope JAVA应该是最佳选择。
浙公网安备 33010602011771号