3-Agent = 模型 + 工具 + 知识库(RAG)
我用最通俗、最详细、Android工程师能秒懂的方式把Agent 模型 工具 知识库RAG讲透包括各自职责、协同流程、代码逻辑、Android端怎么落地。一、一句话核心定义Agent 大脑模型 手脚工具 记忆/知识RAG知识库模型负责思考、理解、决策、说话工具负责做事、查数据、调用系统能力RAG知识库负责给模型提供准确、实时、专属的知识三者协同让 AI 从**“只会聊天”变成“能干活、会查资料、会用App”**的智能体。二、三部分分别是什么超清晰拆解1. 模型大脑负责理解意图 → 推理 → 决策 → 生成回答它是Agent的核心没有它就没有“智能”。模型能做什么听懂用户要做什么判断要不要调用工具判断要不要查知识库规划步骤先做什么、后做什么把结果整理成自然语言典型模型云端GPT、DeepSeek、通义千问、智谱本地Qwen2.5、Llama 3、Gemini NanoAndroid端侧2. 工具手脚负责执行模型下达的指令完成模型做不到的事模型本身不能联网、不能算数学、不能发短信、不能打开App必须靠工具。工具就是一段可调用的函数/API例如get_weather(city)calculate(expression)search_web(query)open_app(appName) Android专属优势send_sms(phone, text) Android专属优势get_location() Android专属优势工具的本质模型输出 JSON → 程序执行函数 → 返回结果给模型3. 知识库RAG负责给模型提供“准确、私有、最新”的知识杜绝幻觉模型自带知识是旧的、通用的RAG让它懂你的文档、你的业务、你的数据。RAG做什么把PDF/Word/Excel/网页切成碎片转成向量embedding存在向量库pgvector、Milvus用户提问时检索最相关的片段喂给模型让模型照着资料回答作用不幻觉回答更准能用私有数据不用训练模型三、三者如何协同工作完整流程 白话解释我给你一个标准 ReAct 工作流思考 → 行动 → 观察这是所有Agent的通用逻辑。完整协同流程一步不丢用户提问“明天北京会下雨吗我需要带伞吗”模型大脑理解 推理- 用户问天气 → 需要实时数据- 模型判断必须调用工具- 模型输出结构化指令JSONjson { tool: get_weather, params: { city: 北京 } }工具手脚执行- 程序调用天气API- 返回结果北京明天晴温度25℃无雨模型判断是否需要查知识库RAG- 天气是实时数据不需要查文档- 如果用户问“公司报销规则是什么”→必须查RAG模型整理结果生成回答“北京明天晴天不用带伞。”多轮对话记忆Memory保留上下文用户接着问“那后天呢”模型知道“后天”指北京后天。另一个带 RAG 的协同例子用户“我们公司的年假有几天”模型判断公司制度是私有知识必须查RAGRAG检索员工手册 → 返回“正式员工年假10天”模型把检索结果当作上下文模型生成准确回答不会编造、不会幻觉四、用代码逻辑再讲一遍Android工程师视角你可以把 Agent 理解成一个Android 架构里的 MVVM 升级版ViewModel 模型决策Repository 工具执行LocalDataSource RAG知识库伪代码逻辑超易懂# 用户问题query北京明天天气如何# 1. 模型思考大脑decisionllm.invoke(f 用户问题{query}判断是否需要调用工具是否需要查知识库 返回JSON格式 )# 2. 如果需要工具 → 调用手脚ifdecision[need_tool]:tool_resultrun_tool(tool_namedecision[tool],paramsdecision[params])else:tool_resultNone# 3. 如果需要知识 → RAG检索记忆ifdecision[need_rag]:rag_contextrag.retrieve(query)else:rag_contextNone# 4. 模型最终回答整合所有信息answerllm.invoke(f 用户问题{query}工具结果{tool_result}参考资料{rag_context}请给出最终回答 )五、三者关系总结最强记忆版模型想什么、做什么决策工具帮模型去做事RAG帮模型查资料、不胡说三者协同 能思考 能干活 懂专业这就是 Agent 比普通聊天机器人强的根本原因。六、Android 开发者专属理解最关键你做 Android天然拥有别人没有的工具能力打开App获取定位读取日历发送短信读取文件设备状态这些都可以变成Agent 的工具。你的架构可以是云端 Agent负责思考、决策、调用RAGAndroid 端负责提供系统级工具端侧小模型负责本地意图识别节省成本这就是移动端 Agent的核心价值。直接一次性给你三张图 一段可运行极简代码全部对齐你要的模型 工具 RAG 协同Android 工程师一看就懂。1. 完整流程图模型 工具 RAG 协同纯文本清晰流程图可直接复制到笔记/PPT用户输入问题 ↓ 【模型大脑】 理解意图 → 判断 ├─ 是否需要查私有知识→ 是 → 调用 RAG └─ 是否需要执行操作→ 是 → 调用 工具 ↓ 【RAG知识库】 检索相关文档片段 → 返回上下文给模型 ↓ 【工具手脚】 执行函数/API → 返回结果给模型 ↓ 【模型再次推理】 整合 RAG 知识 工具结果 → 生成最终回答 ↓ 返回给用户 ↓ 可选存入记忆 → 支持多轮对话简化版一眼记忆用户问 → 模型判断 → 查RAG / 调工具 → 模型整合 → 回答用户2. 可运行极简 Agent 代码Python功能带工具 简易RAG 的最小Agent复制即可跑依赖只需要openai# 安装pip install openaifromopenaiimportOpenAIimportjson# 初始化客户端用国内模型也可兼容clientOpenAI(api_key你的API_KEY,base_urlhttps://api.deepseek.com)# # 1. 工具Agent的“手脚”# deftool_get_weather(city:str)-str:# 真实场景可调用天气APIreturnf{city}明天晴天25℃无雨deftool_calculate(expression:str)-str:try:returnstr(eval(expression))except:return计算错误# 工具注册表TOOLS{get_weather:tool_get_weather,calculate:tool_calculate}# # 2. RAGAgent的“知识库”# defrag_search(query:str)-str:# 简易RAG真实场景替换为向量库检索docs{年假:正式员工每年年假10天,报销:市内交通报销上限50元/天,加班:周末加班可调休或2倍工资}forkeyindocs:ifkeyinquery:returndocs[key]return未找到相关资料# # 3. 极简Agent核心逻辑# defsimple_agent(query:str):# 第一步模型判断是否需要RAG/工具promptf 用户问题{query}请判断 1. 是否需要查RAG(yes/no) 2. 是否需要调用工具如果需要调用哪个工具及参数 工具列表get_weather(city), calculate(expression) 以JSON返回{{need_rag:yes/no,need_tool:yes/no,tool:,params:{{}}}} responseclient.chat.completions.create(modeldeepseek-chat,messages[{role:user,content:prompt}])# 解析决策decisionjson.loads(response.choices[0].message.content)# 第二步查RAGrag_contextrag_search(query)ifdecision[need_rag]yeselse# 第三步调用工具tool_resultifdecision[need_tool]yes:tool_namedecision[tool]paramsdecision[params]tool_resultTOOLS[tool_name](**params)# 第四步模型整合结果并回答final_promptf 用户问题{query}参考知识{rag_context}工具结果{tool_result}请给出自然回答。 final_ansclient.chat.completions.create(modeldeepseek-chat,messages[{role:user,content:final_prompt}])returnfinal_ans.choices[0].message.content# # 测试运行# if__name____main__:# 测试1调用工具print(simple_agent(北京明天天气怎么样))# 测试2调用RAG# print(simple_agent(我们公司年假几天))# 测试3计算# print(simple_agent(3567等于多少))3. Android 端提供工具给 Agent 的架构图纯文本架构图可直接画成PPT【用户】 ↓ 【Android App前端】 - 对话UI - 本地权限管理 - 工具暴露接口 ↓ --------------------------- │ 端侧工具层你的核心优势 │ openApp() │ getLocation() │ readCalendar() │ sendSMS() │ getDeviceInfo() --------------------------- ↓ 【Agent 后端Python】 - 模型决策大脑 - RAG 知识库 - 工具调度中心 - 流式返回结果 ↑↓ 【云端API/模型服务】一句话架构Android 提供系统能力工具Agent 负责思考决策RAG 负责私有知识。