又进一步理解Agent 架构

📅 2026/6/27 5:07:15
又进一步理解Agent 架构
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/18486f74001e4ad9a31Java 技术栈后端框架Spring Boot权限Spring Security JWT / Session数据库MySQL / MongoDB缓存Redis搜索Elasticsearch向量库Milvus / pgvector / Elasticsearch dense_vectorAI 框架Spring AI 或 LangChain4j文件存储MinIO / 腾讯云 COS定时任务XXL-JOB / Quartz / Spring Scheduler消息队列RabbitMQ / Kafkabbf465e6f92a5d.png)Agent 要拆成哪些核心能力1. LLM 层LLM 就是大模型调用层。可以接OpenAIClaudeDeepSeek通义千问智谱Moonshot本地 OllamaJava 里可以用Spring AILangChain4j自己封装 HTTP Client推荐你先理解这句话LLM 负责理解和生成业务系统负责提供数据和工具Agent 负责决定什么时候调用什么工具。2. Tool Calling 工具调用工具调用就是让大模型不只会聊天还能调用你系统里的接口。比如你可以定义这些工具SearchQuestionTool搜索面试题GetQuestionDetailTool查看题目详情SearchProjectExperienceTool搜索我的项目经历GenerateStarAnswerTool生成 STAR 话术SaveWeaknessTool保存薄弱点CreateReviewPlanTool生成复习计划UploadResumeTool上传简历ParseResumeTool解析简历SearchInterviewHistoryTool搜索历史面试复盘举例用户问面试官问我 Redis 缓存穿透怎么回答Agent 不应该直接瞎答而是判断这是 Java 八股问题调用 SearchQuestionTool 搜 Redis 缓存穿透调用 SearchProjectExperienceTool 搜你项目里有没有 Redis结合你的项目背景生成回答保存“Redis 缓存问题”为薄弱点这才叫 Agent。记忆系统 MemoryAgent 的记忆至少分三层。短期记忆当前这一轮对话上下文比如你前面说了“我要准备中级 Java”后面问“这个怎么说”它知道“这个”指面试话术。可以存在Redis内存会话表 chat_message长期记忆你的简历你的项目你的薄弱点你的面试经历你的复习计划你的常错题可以存在MySQLMongoDB向量数据库语义记忆把简历、项目文档、面试复盘、题库答案切片后向量化然后用户问问题时通过向量相似度查出来。这就是 RAG 的基础。RAG 检索增强生成RAG 的完整流程是收集资料清洗文本文档切片生成向量存入向量数据库用户提问时检索相关片段组装 Prompt调用大模型生成回答返回答案并记录用户反馈拿你自己的面试系统举例资料来源可以是简历 docx工作内容 md面试复盘 txtJava 高频题项目源码说明题库 question评论 comment试卷 paper搜索历史 search_history切片可以这样设计按项目切EMP 项目、CRM 项目、办公系统项目按知识点切线程池、事务、索引、Redis、MQ按面试问题切一个问题一个 chunk按 STAR 结构切背景、任务、行动、结果每个 chunk 带元数据{“sourceType”: “resume”,“projectName”: “EMPF”,“skill”: “RabbitMQ”,“difficulty”: “middle”,“tags”: [“Java”, “微服务”, “消息队列”],“content”: “…”}这样你问帮我讲一下 EMPF 项目 RabbitMQ 怎么用Agent 可以优先检索projectName EMPFtags 包含 RabbitMQsourceType project_doc / resume / interview_review然后再生成更贴合你的回答。十一、LangChain / LangChain4j 到底是什么LangChain 不是大模型它是一个应用开发框架。它帮你把这些东西串起来Prompt 模板大模型调用工具调用文档加载文本切片向量化向量数据库检索对话记忆Agent 编排Java 生态里更常用的是LangChain4jSpring AI如果你做 Java 项目我更建议你先看Spring AI更贴近 Spring BootLangChain4jAgent / Tool / RAG 概念更明显你可以这样记LLM 大脑Prompt 指令Tool 手Memory 记忆RAG 查资料能力Agent 会自己判断下一步做什么的执行者十二、这个项目可以怎么升级成 AI 面试 Agent基于 mianshiya可以升级成这样原来用户自己搜题、看答案升级Agent 根据用户简历、项目、薄弱点主动生成面试训练新增模块可以是agent-serviceAgent 对话服务rag-service知识库检索服务embedding-service向量化服务resume-service简历解析服务interview-service模拟面试服务plan-service复习计划服务memory-service用户记忆服务核心功能可以做上传简历自动拆项目经历根据项目经历预测面试官问题根据题库 简历生成专属回答用 STAR 结构打磨项目话术模拟 HR 压力追问记录回答薄弱点自动生成复习计划每天推送复习任务这个就很接近你现在想做的“码上面试 / Java 面试 Agent”。十三、两天快速学习路线第一天看懂原项目重点看前端 React Umi 怎么调接口Express 后端路由怎么组织question 题目模型怎么设计Redis 怎么做 Session 和限流Elasticsearch 怎么做题目搜索search-history 怎么沉淀用户需求核心是题库数据资产通过 ES 支持复杂搜索通过 Redis 做登录态和限流通过用户行为数据沉淀个性化推荐基础。把它改造成 Agent 思路重点学LLM 调用流程Prompt 模板怎么写Tool Calling 是什么Memory 怎么分短期和长期RAG 怎么从题库/简历/项目资料里检索Java 里用 Spring AI 或 LangChain4j 怎么落地第二天我会把原来的题库系统升级成 AI 面试 Agent。题库、评论、试卷、搜索历史作为数据资产用户简历和项目经历作为个性化知识库通过 RAG 检索相关资料再结合 LLM 生成专属面试回答。同时通过工具调用查询题库、用户薄弱点和复习计划通过记忆系统持续记录用户的学习轨迹。我重点关注的是它的数据资产设计比如题目、标签、难度、参考答案、评论、收藏、搜索历史、用户兴趣这些数据。因为做 AI Agent 不能只接一个大模型接口真正有价值的是把业务数据变成可检索、可记忆、可调用的能力。用 Java 重构用 Spring Boot 做后端Redis 做缓存和会话Elasticsearch 做关键词搜索向量数据库做语义检索再接 Spring AI 或 LangChain4j 实现 LLM 调用、RAG 和工具调用。这样用户上传简历和项目资料后Agent 可以根据题库和个人经历生成专属面试回答还能记录薄弱点并生成复习计划。