小白程序员必看:收藏这份 Agent 技术解析,轻松掌握 LLM 进阶用法!
本文深入解析了 AI Agent 的核心概念涵盖 Agent 的四大组件LLM、Tools、Memory、Planning、ReAct 推理行动循环模式、Function Calling 工具调用机制并对比了 Agent 与普通 LLM 调用的本质区别。文章还介绍了主流推理模式对比、Java 实战案例以及生产环境 Agent 开发注意事项旨在帮助读者快速理解和应用 Agent 技术实现 LLM 从“只会说”到“能做事”的突破。面试高频题什么是 AI AgentReAct 模式的核心思想是什么Function Calling 的底层原理是什么Agent 和普通 LLM 调用有什么本质区别一句话答案Agent 以 LLM 为大脑 Tools 为手脚 Memory 为记忆 Planning 为规划 的自主系统ReAct Thought → Action → Observation 交替循环的推理模式Function Calling LLM 经过对齐训练后输出结构化 JSON 调用外部工具的通信机制。三者关系ReAct 是推理模式Function Calling 是工具调用机制Agent 是承载两者的系统。核心痛点让 LLM 从只会说变成能做事——原生 LLM 只能基于训练数据生成文本Agent 通过工具调用打破信息边界通过循环执行实现多步推理。一、Agent 是什么四大核心组件Agent智能体是以 LLM 为核心驱动的自主系统能够感知输入、规划任务、调用工具、维护记忆、循环执行直到完成目标。一个完整的 Agent 由四大组件构成LLM大脑语言理解、推理、决策GPT-4o / Claude 3.5 / Gemini / QwenTools手脚搜索、代码执行、DB 查询API 调用、文件读写Memory记忆短期对话上下文窗口长期向量数据库检索Planning规划任务分解、反思 Reflection动态重新规划 ReplanAgent 运行循环用户输入→LLM 推理 (Thought)→工具调用 (Action)→执行 观察 (Observation)↑ LLM 推理 → 工具调用 → 观察结果 → 再推理……循环直到不再调用工具输出最终答案关键区分ReAct 是推理模式告诉 LLM “怎么想”Function Calling 是工具调用机制告诉 LLM “怎么调”Agent 是承载两者的系统。现代 Agent 通常用 Function Calling 实现工具调用用 ReAct 思想指导 LLM 推理过程两者结合使用。二、ReAct 模式推理-行动循环ReAct 由 Yao 等人在 2022 年论文“ReAct: Synergizing Reasoning and Acting in Language Models”ICLR 2023中提出。核心思想让 LLM 交替执行推理Reasoning和行动Acting通过外部工具获取实时信息来辅助推理。Thought推理当前状态分析下一步该做什么LLM 内部思考Action调用外部工具执行操作搜索 / 查询 / 计算 / 代码执行Observation获取工具返回的结果作为下一轮推理的输入ReAct Prompt 模板/* ReAct 经典 Prompt 模板文本格式 */You are a helpful assistant. You have access to the following tools:{tool_descriptions}Use the following format:Thought: your reasoning about what to do nextAction: the tool name to callAction Input: the input parameters (JSON format)Observation: the result returned by the tool(Thought/Action/Action Input/Observation can repeat N times)Thought: I now know the final answerFinal Answer: the final answer to the original questionQuestion: {user_input}ReAct 执行轨迹示例Question: 深圳今天的 PM2.5 是多少Thought: 我需要查询深圳今天的空气质量数据Action: get_air_qualityAction Input: {city: 深圳, date: today}Observation: 深圳今天 PM2.5 为 35空气质量优Thought: 已获取到深圳今天的 PM2.5 数据可以回答用户了Final Answer: 深圳今天的 PM2.5 为 35空气质量为优。为什么 ReAct 比纯 CoT思维链好纯 CoT 只靠 LLM 内部知识推理无法获取外部实时信息容易产生幻觉。ReAct 通过 Action 调用工具获取真实数据Observation让推理基于事实而非猜测。论文实验证明ReAct 在事实准确性上显著优于纯 CoT同时减少了幻觉。三、Function CallingLLM 如何调用工具Function Calling 是让 LLM 调用外部工具的通信机制。LLM 经过对齐训练SFT RLHF后能在需要调用工具时输出结构化 JSON而不是纯文本。Agent 程序解析 JSON、执行工具、把结果回传给 LLM 继续推理。1定义工具 JSON Schema名称、描述、参数类型2用户 prompt 工具定义一起发给 LLM3LLM 判断是否需要调用工具4若需要输出tool_callsJSON工具名 参数5Agent 执行工具 → 结果回传 → LLM 继续推理回到步骤 3工具定义OpenAI 格式{ type: function, function: { name: get_weather, description: 查询指定城市的天气预报, parameters: { type: object, properties: { city: { type: string, description: 城市名称如北京、上海 }, date: { type: string, description: 日期如 today、tomorrow } }, required: [city] } }}LLM 响应发起工具调用{ role: assistant, content: null, tool_calls: [{ id: call_abc123, type: function, function: { name: get_weather, arguments: {/city/:/深圳/,/date/:/today/} } }]}// content null 表示 LLM 不输出文本只发起工具调用// Agent 执行 get_weather 后将结果以 roletool 回传给 LLM// LLM 拿到结果后继续推理可能直接回答或继续调用其他工具⚠️不同厂商 Function Calling 格式有差异OpenAI2023.6 首发用tools参数 tool_calls响应Anthropic Claude 用tools参数 tool_usecontent blockGoogle Gemini 用function_declarationsfunctionCall响应。概念相同API 细节不同。开源模型Llama / Qwen需要经过 SFT 微调才能稳定支持 Function Calling。四、ReAct vs Plan-and-Execute vs ReWOOAgent 的推理模式不止 ReAct 一种主流模式有三种各有适用场景维度2022 ReAct2023 Plan-and-Execute2023 ReWOO核心思想推理与行动交替执行先全量规划再逐步执行分离规划与执行可并行规划方式每步动态决策前置一次性规划全部步骤前置一次性规划执行方式严格串行边走边看按计划串行可并行执行独立步骤中间结果每步带回 LLM 上下文每步带回不带回节省 TokenToken 消耗最高中等最低错误恢复即时反馈动态调整需触发 Replan需整体重跑适用场景探索性、信息依赖强步骤明确、依赖链清晰步骤独立、可并行探索性任务 → ReAct如调研某技术方案、查多源数据综合分析。每步结果影响下一步方向需要即时反馈。步骤明确 → Plan-and-Execute如ETL 数据流水线、CI/CD 流程。步骤可预知减少 LLM 调用次数降低成本。步骤独立 → ReWOO如批量搜索多个关键词、并行查询多个数据源。Token 消耗最低执行速度最快。五、Java 实战手写简易 Agent用 Java 手写一个最小可用的 Agent核心是 Tool 接口 Agent 主循环。设计思路与 LangChain4j / Spring AI 一致1. Tool 工具接口/ * 工具接口每个工具实现此接口 * 对标 LangChain4j 的 Tool 注解 */public interface Tool { String getName(); // 工具名称LLM 用此名称调用 String getDescription(); // 工具描述告诉 LLM 何时用 String getParametersSchema(); // JSON Schema 参数定义 String execute(String arguments); // 执行工具返回结果字符串}2. Agent 主循环ReAct 核心public class Agent { private final LLMClient llm; private final MapString, Tool tools new HashMap(); private final ListMessage messages new ArrayList(); private static final int MAX_ITERATIONS 10; // 防死循环 public Agent(LLMClient llm) { this.llm llm; } public void registerTool(Tool tool) { tools.put(tool.getName(), tool); } public String run(String userInput) { messages.add(new Message(user, userInput)); for (int i 0; i MAX_ITERATIONS; i) { // 1. 调用 LLM携带对话历史 工具定义 LLMResponse resp llm.chat(messages, getToolDefinitions()); messages.add(resp.getMessage()); // 2. 无工具调用 → 最终答案退出循环 if (!resp.hasToolCalls()) { return resp.getContent(); } // 3. 执行所有工具调用 for (ToolCall call : resp.getToolCalls()) { Tool tool tools.get(call.getName()); String result (tool ! null) ? tool.execute(call.getArguments()) : Error: tool call.getName() not found; // 4. 工具结果回传给 LLMObservation messages.add(new Message(tool, result)); } } return 已达最大迭代次数Agent 终止; }}3. 示例工具天气查询public class WeatherTool implements Tool { Override public String getName() { return get_weather; } Override public String getDescription() { return 查询指定城市的天气预报; } Override public String getParametersSchema() { return {type:object,properties:{ city:{type:string,description:城市名}, date:{type:string,description:日期} },required:[city]}; } Override public String execute(String arguments) { // 解析 JSON 参数 → 调用天气 API → 返回结果 // 此处简化演示 return 深圳今天晴25°C湿度40%; }}// 使用Agent agent new Agent(new OpenAIClient(apiKey));agent.registerTool(new WeatherTool());agent.registerTool(new SearchTool());String answer agent.run(深圳今天适合户外运动吗);Java 生态 Agent 框架生产环境推荐 LangChain4jJava 生态首选支持 OpenAI/Claude/Ollama内置 RAG/Tool/Memory或 Spring AISpring Boot 3.x 原生集成与 Spring 生态无缝衔接。两者都封装了 Function Calling ReAct 循环 向量记忆无需手写上述底层代码。六、高频面试问答5道Q1Agent 和普通 LLM 调用有什么本质区别答普通 LLM 调用是单轮输入输出无法获取外部信息或执行操作只能基于训练数据生成文本。Agent 是多轮循环系统LLM 决策 → 工具执行 → 观察反馈 → 继续决策直到完成目标。Agent 额外具备工具使用、记忆维护和自主规划能力能处理需要外部信息和多步推理的复杂任务。Q2ReAct 的核心思想是什么为什么比纯 CoT 好答ReAct Reasoning Acting 交替执行。核心循环是 Thought → Action → Observation推理当前状态、调用工具执行、获取结果反馈。纯 CoT 只靠 LLM 内部知识推理无法获取外部实时信息容易幻觉。ReAct 通过 Action 调用工具获取真实数据Observation让推理基于事实而非猜测。论文实验证明 ReAct 在事实准确性上显著优于纯 CoT。Q3Function Calling 的底层原理是什么LLM 是怎么学会调用工具的答本质是对齐训练SFT RLHF。模型在预训练阶段学会语言能力在指令微调阶段用大量工具调用格式的训练数据学习输出结构化 JSON。推理时工具定义放在 system prompt 中模型根据用户意图判断是否需要调用工具。如需要则输出tool_callsJSON工具名 参数。注意LLM 本身不执行工具只输出调用意图由 Agent 程序解析 JSON、执行工具、回传结果。Q4Agent 的 Memory 分哪几种怎么实现长期记忆答短期记忆 对话上下文窗口messages 列表受 Token 上限制约随轮数增长会被截断。长期记忆 向量数据库如 Milvus / Pinecone / Chroma将历史对话或知识 Embedding 后存储检索时用语义相似度召回相关记忆注入 prompt。常见上下文管理策略滑动窗口保留最近 N 轮 摘要压缩旧对话用 LLM 生成摘要替代原文在信息保留和 Token 成本之间取平衡。Q5ReAct、Plan-and-Execute、ReWOO 各自的优缺点答ReAct 优点是动态灵活、即时反馈可调整缺点是 Token 消耗最高每步带完整历史、严格串行慢。Plan-and-Execute 优点是步骤清晰、减少 LLM 调用次数降低成本缺点是前置规划可能不准、遇到意外需要 Replan。ReWOO 优点是 Token 消耗最低规划不含中间结果、可并行执行速度快缺点是规划与执行解耦无法根据中间结果动态调整步骤出错需整体重跑。七、面试答题模板标准话术2 分钟版“Agent 是以 LLM 为核心的自主系统包含四大组件LLM 负责推理决策Tools 提供行动能力Memory 维护上下文Planning 进行任务分解。核心运行模式是 ReAct 循环——Thought 推理当前状态Action 调用工具执行Observation 获取结果反馈循环往复直到完成目标。工具调用的底层机制是 Function CallingLLM 经过对齐训练后能输出结构化 JSON 描述工具调用意图Agent 程序解析 JSON、执行工具、将结果回传给 LLM 继续推理。需要注意 ReAct 是推理模式Function Calling 是工具调用机制两者结合使用。相比单轮 LLM 调用Agent 能自主获取外部信息、使用工具、维护记忆适合复杂多步任务。生产环境中需注意 Token 消耗控制、工具安全性校验、循环终止条件和幻觉防范。”八、生产环境 5 条军规1Token 消耗控制每轮循环把完整对话历史发给 LLM长对话 Token 暴涨。策略滑动窗口保留最近 N 轮 历史摘要压缩旧对话用 LLM 生成摘要替代原文。监控每轮 input_tokens设 Token 上限熔断。2工具安全性工具参数必须校验白名单 / 正则 / 类型检查防止 LLM 幻觉产生危险操作。如文件操作工具限制路径在白名单目录内代码执行工具沙箱隔离 超时控制。3循环终止必须设置MAX_ITERATIONS和超时时间防止 Agent 陷入死循环LLM 反复调用同一工具、或陷入再查一次的无限推理。同时检测重复 Action 模式主动中断。4错误恢复工具调用失败时不要直接中断而是将错误信息以roletool回传给 LLM让 LLM 自主 Replan换工具 / 换参数 / 放弃。这比硬编码重试逻辑更灵活。5可观测性记录每轮 Thought / Action / Observation 完整日志方便调试和追踪 Agent 决策链路。生产环境接入链路追踪如 OpenTelemetry每轮 LLM 调用记录 input/output tokens、延迟、工具执行结果便于性能优化和故障排查。大模型的知识又多又杂到底怎么学做这行久了被问最多的问题就一个大模型的知识又多又杂我到底先学啥翻了一堆资料看啥都像重点结果啥都没学进去。今天把我自己一路摸出来的顺序捋一遍零基础、应届生、转行的都适用。跟着走至少方向不乱、不瞎忙学完拿得出手。第一阶段10天初阶应用这一阶段就一个目标把大模型真正玩明白不是只会聊天那种而是能调教它、能用代码把大模型和业务接起来。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用这阶段正式进实战目标很实在做出两个能拿出手的东西——一个私有知识库一个 agent 对话机器人。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…走完这 30 天Python 或 JavaScript 背景的基本能独立做一套 RAG 应用简历上也敢写大模型应用开发了。第三阶段约20天动手微调学到这你已经开始 “造” 模型了 —— 通过微调搞出垂直领域的专用小模型。为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你从 “只会用” 变成 “能造” 的 AI 小子。那么你还想往下探索吗想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料第四阶段20天商业闭环部署落地技术学完落地才算数。这阶段带你搞明白大模型怎么真正跑起来、用起来。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…想要入坑大模型的朋友给大家准备了一份2026 年最新 AI 大模型全套学习资料1、大模型系统化学习路线2、大模型学习视频教程3、大模型学习书籍电子文档4、AI大模型最新行业报告5、大模型项目实战配套源码6、2026大模型大厂面试真题7、为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。8、适合谁学传统后端 / Java / 前端开发想转型 AI 应用大学生、应届生想拿更好的 offer产品经理、运营想武装职业竞争力技术负责人想给团队落地提效学习是反人性的但回报是真金白银。技术会更新赛道会切换但只要你先动手机会就永远站在你这边。9、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料好了就写到这。路线是死的人是活的卡住了随时来问我。觉得有用就点个收藏别让它进收藏夹吃灰——动起来比啥都强。