AI Agent 开发实战:用LangChain4j构建你的第一个Java智能体

AI Agent 开发实战:用LangChain4j构建你的第一个Java智能体

一、什么是 AI Agent?

AI Agent 是能够自主决策并执行任务的 AI 系统,核心能力:

  • 理解意图:解析用户自然语言
  • 规划任务:分解复杂任务为多个步骤
  • 工具调用:调用外部 API 获取信息或执行操作
  • 记忆能力:记住多轮对话上下文

回到顶部

二、环境准备

<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j</artifactId> <version>0.36.0</version> </dependency> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>0.36.0</version> </dependency>

回到顶部

三、定义工具

public class WeatherTool { @Tool("查询指定城市的当前天气") public String getWeather(String city) { // 模拟天气查询 return city + "今天晴,气温25度,空气质量优"; } } public class CalculatorTool { @Tool("计算数学表达式") public double calculate(String expression) { return new ScriptEngineManager() .getEngineByName("js") .eval(expression); } }

回到顶部

四、构建 Agent

// 配置大模型 ChatLanguageModel model = OpenAiChatModel.builder() .apiKey(System.getenv("OPENAI_API_KEY")) .modelName("gpt-4o") .build(); // 配置记忆 ChatMemory memory = MessageWindowChatMemory.builder() .maxMessages(10) .build(); // 构建 Agent interface Assistant { String chat(String userMessage); } Assistant agent = AiServices.builder(Assistant.class) .chatLanguageModel(model) .chatMemory(memory) .tools(new WeatherTool(), new CalculatorTool()) .systemMessage("你是一个智能助手,可以查询天气和进行计算。" + "在回答问题前,先思考是否需要调用工具。") .build();

回到顶部

五、运行 Agent

// 测试对话 String response1 = agent.chat("北京今天天气怎么样?"); System.out.println(response1); // 输出:我来为您查询北京的天气。北京今天晴,气温25度,空气质量优。 String response2 = agent.chat("那上海呢?"); System.out.println(response2); // 输出:上海今天晴,气温28度,空气质量良。 String response3 = agent.chat("北京的气温比上海低多少度?"); System.out.println(response3); // Agent会自动调用计算工具:28 - 25 = 3度

回到顶部

六、进阶:结构化输出

record TaskPlan(String goal, List<String> steps, String expectedResult) {} interface Planner { @SystemMessage("你是一个任务规划专家,将复杂任务分解为步骤") TaskPlan plan(String userGoal); } Planner planner = AiServices.builder(Planner.class) .chatLanguageModel(model) .build(); TaskPlan plan = planner.plan("开发一个用户登录功能"); // 返回结构化的任务计划

回到顶部

总结

LangChain4j 让 Java 开发者也能轻松构建 AI Agent。核心要点:

  • @Tool注解定义工具