腾讯 AI 应用开发面试:跨会话记忆与多 Agent

岗位:AI应用开发 · 5 道题 · 更新于 2026-10-28

本场面试题

  1. 跨会话怎样压缩并保留关键信息?
  2. FSM 状态机怎样实现?
  3. 为什么选择 ReAct?
  4. 多 Agent 怎样划分?
  5. Skill 的核心价值是什么?

面经与参考答法

腾讯 AI 应用开发面试:跨会话记忆与多 Agent

原帖未披露具体面试日期和轮次。本文按主题选录可见技术问题;跨会话关联追问并入记忆题,补回工厂模式与后台搭建问题。答案和方案是教学整理,不代表候选人现场回答或项目实际实现;未给出条件的股票交易题保留待确认边界。

原帖自述集中考察记忆介质、状态机、ReAct、多 Agent、Skill、可插拔 RAG 和部署。原帖序号有缺失,本文按主题重组,不补造问题。

同一原问涉及多个既有专题时,下方分列复习入口;它们不代表新增独立题目或面试流程。题后的回答均为整理教学,不是候选人现场作答。

(1)记忆应该存在哪里?

(1)记忆应该存在哪里?

关联知识点待核实。

短期运行状态可放检查点数据库或低延迟 KV;原始对话与审计事件放可靠数据库/对象存储;语义检索需要向量或全文索引。选择时同时考虑一致性、TTL、删除权、租户隔离、容量与恢复。模型上下文只是一种读取视图,不是持久化层。

(2)跨会话怎样压缩并保留关键信息?

(2)跨会话怎样压缩并保留关键信息?

将原始事件和派生摘要分开。摘要只保留已确认事实、偏好、目标、约束、未完成事项及来源 ID;每次更新做冲突检测,并允许从原始事件重建。用户维度至少用 tenant_id + user_id 隔离,session 只表示一次会话,不能拿 session ID 代替用户身份。

(3)同一原问的复习入口(会话摘要、压缩与记忆提炼):跨会话怎样压缩并保留关键信息?

将原始事件和派生摘要分开。摘要只保留已确认事实、偏好、目标、约束、未完成事项及来源 ID;每次更新做冲突检测,并允许从原始事件重建。用户维度至少用 tenant_id + user_id 隔离,session 只表示一次会话,不能拿 session ID 代替用户身份。

延伸阅读:Agent 记忆系统架构设计、会话摘要、压缩与记忆提炼。

(3)FSM 状态机怎样实现?

(4)FSM 状态机怎样实现?

先列有限状态及允许的事件/转移,为每次转移定义前置条件、动作和失败状态。状态持久化使用版本号或 CAS 避免并发覆盖,外部副作用使用幂等键。状态机适合确定性业务阶段,开放式问题求解可在某个状态内部使用 Agent。

延伸阅读:用状态机建模 Agent 行为。

(4)为什么选择 ReAct?

(5)为什么选择 ReAct?

ReAct 让模型在观察工具结果后决定下一步,适合信息不完整、路径需要动态调整的任务。代价是调用次数、延迟和循环风险。生产实现应保存结构化 Action/Observation,限制步数、工具权限和预算;确定流程不要为了“Agent 化”强行使用 ReAct。

(5)多 Agent 怎样划分?

(6)多 Agent 怎样划分?

只有角色需要不同工具/权限、任务可并行或上下文确实需要隔离时才拆分。按研究、执行、校验等责任划分,并定义输入输出 Schema、共享状态所有权和合并策略。多个 Agent 并发写同一资源时使用单写者、事务/乐观锁或任务队列,不能依赖最后写入者获胜。

延伸阅读:多智能体协作与适用边界。

(6)Skill 的核心价值是什么?

(7)Skill 的核心价值是什么?

Skill 把某一任务所需的触发条件、步骤、边界和资源按需加载,减少系统提示长期塞入所有知识。Auto-coder Skill 应进一步约束仓库规则、修改范围、测试和发布门禁。热更新必须带版本号,让进行中的 run 固定旧版本,新 run 再使用新版本。

(7)可插拔 RAG 与热更新怎样做?

(8)可插拔 RAG 与热更新怎样做?

关联知识点待核实。

先抽象稳定的检索接口和结果 Schema,后端实现通过配置选择;新索引构建完成并通过校验后原子切换别名,旧索引保留回滚窗口。配置中心保存版本与审计,运行中的请求读取一致快照,避免一次请求前后使用两套配置。

(8)本地部署要考虑什么?

(9)本地部署要考虑什么?

关联知识点待核实。

除模型和服务启动外,还要规划 CPU/GPU/内存、模型与索引体积、密钥管理、网络出口、日志脱敏、健康检查、备份恢复和升级回滚。配置按环境分层,敏感值由 Secret 管理,不打进镜像。

学习阅读(不计专题频次):Agent 服务部署、扩缩容与版本发布。可继续了解版本、Kubernetes、探针和灰度等生产部署内容;这些扩展不代表原帖实际问过,也不能替代本地运行约束和配置位置的具体回答。

(9)LangChain 与 LangGraph 有什么区别?

(10)LangChain 与 LangGraph 有什么区别?

关联知识点待核实。

LangChain 提供模型、Prompt、检索器和工具等组件;LangGraph 用图和共享状态表达可循环、可中断、可恢复的长流程。简单链路可直接组合组件,复杂控制流才需要图式运行时。

(10)最长有效括号和股票交易题怎样澄清并求解?

(11)最长有效括号和股票交易题怎样澄清并求解?

关联知识点待核实。

原帖记录了“最长有效括号”和“股票交易”。前者可用栈保存未匹配括号下标,或用动态规划记录以当前位置结尾的最长长度;股票题必须先澄清交易次数、手续费和冷冻期,再选择状态机 DP。

(11)工厂模式有什么优点?

(12)工厂模式有什么优点?

关联知识点待核实。

把对象创建与使用分离,可以集中处理实现选择和初始化,让调用方依赖稳定接口,便于替换与测试。代价是增加抽象与维护成本;只有创建分支、生命周期或扩展需求确实复杂时才值得引入。原帖未给出具体工厂实现,不能补造作者的设计。

(12)第一个项目的后台怎样搭建?

(13)第一个项目的后台怎样搭建?

关联知识点待核实。

从真实需求和职责边界讲起,说明接口、鉴权、数据模型、业务层、任务处理、配置与部署,再用一次请求串起数据流和错误处理。应区分本人完成与复用组件,并展示真实验证证据。原帖只给出这一问,未披露后台技术栈或实现细节,本文不替作者补造架构。

面经是候选人自述,解析为 Agent Journey 整理。更多大厂 AI / Agent 岗面经 · 按目标公司模拟面试