字节跳动二面必杀技!手把手拆解Agent四大核心组件,面试官直呼内行!

张开发
2026/4/16 18:11:09 15 分钟阅读

分享文章

字节跳动二面必杀技!手把手拆解Agent四大核心组件,面试官直呼内行!
这次来学习读者跟我反馈小红书二面遇到的面试题「Agent 的基本架构由哪些核心组件构成」 简要回答我理解 Agent 的基本架构有四个核心组件LLM、工具、记忆、规划模块。LLM 是整个系统的大脑负责理解任务和做决策。工具让 Agent 能跟外部世界交互搜索、执行代码、调 API 都靠它。记忆让 Agent 在任务执行过程中保持状态不会「失忆」。规划模块负责把复杂目标拆解成可执行的步骤。这四个组合在一起才让 Agent 具备了自主完成任务的能力。 详细解析理解了 Agent 是什么之后我们来看它的内部结构一个完整的 Agent 系统到底由哪几个核心部件组成。你可以把整个 Agent 系统类比成一家公司LLM 是老板所有决策都经过它拍板工具系统是外包执行团队老板说「去搜这个」「去发这封邮件」他们负责真正干活记忆系统是公司档案室各种信息的存档和调档都靠它规划模块是项目经理拿到一个大目标后负责拆解成可执行的任务单。四个角色各司其职才撑起了 Agent 的自主运行能力。先来说LLM 核心。它是整个 Agent 的大脑所有的输入不管是用户的指令、工具返回的结果还是记忆里调出来的内容最终都要经过 LLM 来理解和决策。它负责判断下一步该做什么是继续思考、调用某个工具、还是已经可以给出最终答案了没有 LLM其他三个组件就是一堆零件没有人来统一指挥。然后是工具系统这是 Agent 和外部世界交互的唯一入口。LLM 本身是个纯粹的「语言处理器」它不能上网、不能读文件、不能执行代码但这些限制都可以通过工具来突破。工具可以是搜索引擎、数据库查询、代码执行器、发邮件的 API任何你能用函数封装的能力都可以变成工具。工具是怎么定义的我给你看一个最标准的格式# 定义工具的结构以 OpenAI function calling 格式为例# 你只需要告诉模型三件事工具叫什么名、能做什么事、需要哪些参数tools [ { type: function, function: { name: search_web, description: 搜索互联网上的信息, parameters: { type: object, properties: { query: { type: string, description: 搜索关键词 } }, required: [query] } } }]# LLM 决定调用工具时会返回类似这样的结构# {tool_call: {name: search_web, arguments: {query: 2024年大模型最新进展}}}# 然后你的代码负责真正执行这个搜索把结果再塞回给 LLM你看工具定义里没有一行执行逻辑只有「名字、描述、参数说明」。模型读了这份说明书决定要调哪个工具、参数填什么把决策以 JSON 格式告诉你你的代码去真正执行结果再反馈给模型。整个分工很清晰模型负责「决定做什么」程序负责「真正执行」。接下来是记忆系统它分两层你可以类比人的记忆方式来理解。短期记忆就是当前这轮对话的上下文装在 context window 里Agent 在一次任务执行过程中靠它记住中间状态比如第一步搜索到了什么、第二步执行结果是什么。这就像人的「工作记忆」容量有限任务一结束就清空了。所以还需要长期记忆通常用向量数据库来实现把重要信息 embedding 之后存起来下次用的时候做语义检索拿回来。这就像人的「长期记忆」容量大、可以跨天保留但需要主动「回忆」才能调出来。最后是规划模块它决定了 Agent 能不能应对复杂任务。简单任务一步就搞定了但如果你让 Agent「帮我写一份竞品分析报告」它需要先把这个目标拆解搜索竞品资料 - 整理关键数据 - 对比分析 - 撰写报告。规划模块就是做这件事的有些实现是让 LLM 先输出一个完整计划再逐步执行有些是边执行边规划根据每步结果动态调整。这四个组件合在一起到底是怎么跑起来的我用一段伪代码来还原整个运行过程看完你就能理解它们是怎么协作的# Agent 运行的核心 loop伪代码def agent_run(user_goal: str): # 第一步规划模块上场把目标拆成步骤列表 plan llm.plan(user_goal) memory [] # 短期记忆用来存每一步的中间结果 for step in plan: # 第二步LLM 核心做决策这一步该怎么做 action llm.decide( stepstep, historymemory, # 把短期记忆传进去让它知道之前做了什么 long_termvector_db.search(step) # 从长期记忆里捞出相关历史 ) if action.type tool_call: # 第三步工具系统负责真正执行 result tools.execute(action.tool_name, action.args) memory.append({step: step, result: result}) # 执行结果存入短期记忆 elif action.type final_answer: return action.content # LLM 判断任务完成返回最终答案看完这段伪代码你会发现 Agent 的核心节奏其实很简单规划 - 决策 - 执行 - 结果存入记忆 - 再决策循环往复直到任务完成。LLM 始终是那个做决策的角色工具系统是执行者记忆系统让它不会「失忆」规划模块帮它把大目标拆成小步骤。LangChain、LlamaIndex、AutoGen 这些主流框架本质上都是围绕这四个组件来设计的只是封装方式和侧重点各有不同。假如你从2026年开始学大模型按这个步骤走准能稳步进阶。接下来告诉你一条最快的邪修路线3个月即可成为模型大师薪资直接起飞。阶段1:大模型基础阶段2:RAG应用开发工程阶段3:大模型Agent应用架构阶段4:大模型微调与私有化部署配套文档资源全套AI 大模型 学习资料朋友们如果需要可以微信扫描下方二维码免费领取【保证100%免费】配套文档资源全套AI 大模型 学习资料朋友们如果需要可以微信扫描下方二维码免费领取【保证100%免费】

更多文章