1 什么是 AI Agent?和普通大模型应用的区别?
最直白定义
AI Agent = 能自主思考、自主规划、自主执行、自主纠错的“AI 智能体”
它不是一问一答,而是有目标、有记忆、有步骤、会复盘。
普通大模型应用(你平时用的)
- 一问一答
- 没有记忆
- 不会规划步骤
- 不会主动调用工具
- 不会反思错误
= 被动问答机器人
AI Agent(面试高分版)
- 有目标(Goal)
- 有记忆(Memory/状态管理)
- 会自主规划(Planning)
- 会调用工具(Tool Use)
- 会反思/纠错(Reflection)
- 会多步骤闭环完成任务
= 自主闭环智能体
一句话区别
普通大模型:你问啥它答啥。
AI Agent:你给个目标,它自己干完一整件事。
2 LangChain 和 LangGraph 核心区别?Agent 状态管理怎么做?
最直白一句话
LangChain = 做流程;
LangGraph = 做状态、做循环、做多跳Agent。
LangChain
- 链式调用
- 线性流程
- 适合简单任务
- 不擅长循环、不擅长状态持久化
LangGraph(2025–2026 最火Agent框架)
- 基于图(State Graph)
- 状态管理(State Management)
- 支持循环、回跳、反思、多智能体协作
- 适合复杂推理、多步骤规划、工具调用闭环
Agent 状态管理怎么实现?(面试标准答案)
- State 状态:存储记忆、工具结果、历史对话、中间结果
- Node 节点:每个节点做一件事(思考/查资料/调工具/反思)
- Edge 边:控制跳转(下一步干什么)
- Memory 记忆:短期记忆 + 长期记忆
- Loop 循环:直到完成目标才退出
3 如何解决 Agent 幻觉、工具调用错误、规划混乱?
① 幻觉(最常见)
- 加事实校验(Reflection)
- 加RAG 检索,必须基于检索内容回答
- 加约束提示词:“不知道就说不知道,不许编”
- 加自我复盘:回答完自己检查一遍
② 工具调用错误
- 工具描述必须极精简、极准确
- 入参校验、出参格式强约束
- 加工具选择器(ToolSelector)
- 加失败重试机制
- 加结果校验:结果不对就重跑
③ 规划混乱
- 用LangGraph 状态规划
- 分步骤:目标 → 拆解 → 执行 → 校验 → 复盘
- 加反思节点(Reflection)
- 复杂任务用多Agent分工
4 如何将 Agent 与 Java 后端对接?流式响应怎么实现?
① Java 对接 Agent(最标准方案)
- Agent 用 Python/LangGraph 做
- 暴露 HTTP / gRPC 接口
- Java 后端调用接口
- 传入:用户问题 + 历史 + 状态
- 返回:最终结果 + 过程日志
架构:
Java 后端 → Agent 服务 → LLM → 工具/ RAG → 返回 Java
② 流式响应(SSE / Server-Sent-Events)
Java 实现最标准方案:SSE 流式输出
- 前端建立 SSE 连接
- Java 转发给 Agent
- Agent 每一步思考实时返回
- 前端逐字展示
关键词:
SSE、流式输出、逐Token返回、状态同步
5 RAG 在 Agent 中的作用?如何优化检索效果?
① RAG 在 Agent 中的作用(最直白)
RAG = Agent 的“外部知识库”
解决:
- 幻觉
- 知识过时
- 专业领域不精准
- 无企业私有数据
一句话:
Agent 负责思考与执行,RAG 负责给它“正确资料”。
② 如何优化检索效果?(面试高分 8 条)
- 分段更细(100–300字最佳)
- 加元数据(Metadata)
- 混合检索:关键词 + 向量 + 标题匹配
- 重排序(Reranker)
- 检索后过滤(低相似度直接丢掉)
- 多轮检索优化
- 向量模型微调
- 构建私有知识图谱
如果你要,我还能给你:
直接背的「面试标准答案版」
以及「AI Agent + Java 后端」架构图口述版
还有「你这套项目在面试中怎么说最加分」
你要我现在给你整理吗?当前文件内容过长,豆包只阅读了前 7%。