Agent · 技术问答
用法:先口述 60–90 秒,再对照要点。加分句选 1 句。课件里的投顾 / OpenManus / 浏览器案例标成示例,不要背成自己的上线经历。
必会
重点 什么是 LLM Agent?和单轮调用、Function Calling 有什么区别?
答题要点
- Agent ≈ LLM + 工具 + 记忆 + 规划循环:运行中自己决定调什么、读什么、何时结束。
- 单轮调用:一份 prompt 进、一段文本出,一次结束。
- Function Calling 是「模型能吐结构化工具调用」;Agent 是上层循环——要不要调、调完还要不要继续、何时停。
加分句:没有循环和停止条件,只是包了一层 SDK,还不是 Agent。
重点 MCP 和 Function Calling 有什么区别?已经有了 MCP 还要 FC 吗?
答题要点
- Function Calling:各家模型私有插头,换模型往往要改工具描述和解析。
- MCP:通用插槽。Server 写一次,多种 Client 都能连;
List Tools热插,不必改 Agent 本体。 - 模型侧往往还是 FC / tool call,连上的可以是 MCP Server。不是二选一。
- 简单、原子任务直接 FC 更省事:少一层协议,延迟更低。
加分句:项目里文档检索走 MCP,和网页共用一套检索;鉴权在服务端,不靠课件里的桌面 TXT 例子。
重点 编写一个 Agent 框架要解决哪些核心问题?
口述:四件事。少一块就只是脚本套模型。
- LLM 适配层 — 统一聊天、流式、tool calling。换模型不能改业务。
- 工具注册与调度 — 名字、说明、参数 schema、执行;超时、重试、权限。
- Context 管理 — 系统提示、历史、工具返回怎么进窗口,爆了要裁。
- 控制流编排 — ReAct:想 → 调工具 → 观察 → 再想。要分支、重试、人审,链不够就上图。
口条:大脑可换、双手可插、记忆可裁、中枢能停。
重点 LLM 是如何看见工具的?
口述:模型看不见函数体,只看见 JSON Schema(名字、干什么、参数)。框架把函数编成 schema 塞进 tools;模型回 tool call,运行时再执行。
说明写糊了就会乱填参数;执行失败是框架的事,模型只负责点名 + 填表。
重点 Agent 死循环怎么办?
答题要点
- 检测:连续多次 Action 语义极像且没有新 Observation → 强制打断。
- 系统提示:换策略或问用户;必须有全局步数上限。
- ReAct 会死循环:反复同一工具、不给 Final Answer。
为什么需要 Context 管理?记忆怎么分层?
口述:LLM 无状态,窗口又贵。短的管窗口,长的管检索。
- 短期 —
session_id隔开多用户;滑动窗口只留最近 N 轮。 - 长期 — RAG:按相关性捞,不是按时间倒全部历史。
- 关键槽位用结构化状态,不要只靠散文摘要。
控制流:Chain、Loop、DAG 怎么选?
- Chain — 步数写死,线性 RAG / 格式化。
- Loop — ReAct,下一步由模型选,要步数上限。
- DAG — 接力依赖写死、无环;要重试/人审再上带环的图(LangGraph)。
口条:流水线走链,试错走环,接力走 DAG。
进阶
重点 如何平衡响应速度和思考深度?
- 双层:简单查询直接调 API;复杂再 Planner 拆任务。
- 前面加路由:意图简单就短路。
- 能 Workflow 写死的别上自主循环。
重点 为什么代码执行要沙箱?
- 模型生成的代码可能删盘、死循环,不能在宿主机裸跑。
- 隔离容器只回传 stdout/stderr;超时或内存超限销毁。
- 没落地就说「原则 + 自己项目还没有代码执行」,不要虚构。
什么时候单 Agent,什么时候多 Agent?
- 单:工具少、步骤短、上下文单一。
- 多:窗口太长会忘需求、角色指令冲突(规划 / 写码 / 测试拆开)。
- 先拆上下文和职责,再拆进程。
Agent 如何自我修复?工具原子性怎么把控?
- 报错 + 旧代码回灌,要求分析并重写;
max_retries(如 3),超限抛给用户。 - 一事一工具,参数尽量少;不要一个万能
analyze_data。
如何降低 Token、Agent 很慢怎么查?
- 模型分级:路由用小模型,推理用强模型。
- 压缩 System Prompt,少塞重复上下文。
- 慢先看 Trace:是 LLM 吐字慢还是工具(网络 / DB)慢;给工具 timeout,能并行就并行。
你的 Agent 设计哲学是什么?
- 能写代码解决的,少靠纯 CoT。
- 流程确定就用 Workflow / 图。
- 转账、发邮件等关键步必须 Human-in-the-loop。
Dify 怎么把 OA / CRM 接到 Agent?MCP 的价值?
- Workflow 里 HTTP 节点调 REST;自定义工具用 OpenAPI Schema。
- MCP:企业系统做成 Server,按同一协议发现和调用,避免每个 Bot 一套适配。
了解
Agent 怎么处理数值计算?
LLM 当指挥官,算术交给 Python。理解意图 → 写代码 → 执行 → 解释。数用引擎算,模型只写结论。
介绍你最复杂的 Agent?
没做过浏览器就别编。可以讲 ThingJS 文档 RAG:MCP + 混合检索 + 权限 + 索引门禁。复杂要讲失败模式和降级。
浏览器 Agent:动态加载怎么等?DOM 不准怎么结合 VLM?
- 不要只靠
sleep;Playwright 用wait_for_selector/networkidle。 - DOM 会撒谎时:截图给 VLM 要坐标再点。没写过就当概念题,项目回到 RAG/MCP。
思考很久,前端怎么做体验?
SSE 流式;调工具时气泡「正在检索…」,减少卡死感。
Agent 怎么评测?
别只说准不准。Agent 必看计划遵循度;还要测过程(不该走 Planner 却走了 = Fail)。重要门禁仍要黄金集和人工抽检。
速记口条
- MCP 是通用插槽,FC 是各家私有插头。
- 简单短路,复杂再规划。
- 大脑可换、双手可插、记忆可裁、中枢能停。
- 模型指挥,代码计算;生成代码进沙箱。
- 用户输入是数据不是新系统提示。
- 工具要小;相似动作死循环要打断。
- 有环、要暂停用图;线性用 Chain。
- 慢先看 Trace 是模型还是工具。