快手 大模型算法 二面

前面基本上都在问论文 无手撕

1. 自我介绍

2. 介绍下简历上这个项目

3. 你对对话 LLM 的理解是什么?它和普通文本生成模型的核心区别是什么?

答案:对话 LLM 不是简单地做 next token prediction,它要在多轮交互里持续维护用户意图、对话状态、约束条件和安全边界。普通生成模型更关注单次输入到输出的流畅性,对话模型还要考虑上下文一致性、角色一致性、拒答策略、澄清提问以及工具调用。

它的核心难点在于“历史信息并不等价于有效状态”。用户前面说过的内容,有的仍然有效,有的已经被修正,有的是噪声。对话 LLM 必须学会根据当前轮次重新解释历史,而不是把所有历史机械拼接进去。工程上通常会把对话拆成短期上下文、摘要状态、长期偏好和外部检索证据几部分。

4. 多轮对话训练中,如何解决上下文太长的问题?

答案:多轮对话上下文太长,一般不能只靠截断。直接截断会丢掉早期关键约束,比如用户身份、商品规格、历史确认信息。更稳的做法是把上下文转成状态:保留当前任务目标、用户已确认信息、未解决槽位、最近冲突点和可用证据。历史原文只保留最近几轮,早期内容做摘要或结构化存储。

训练时也可以做多粒度样本:短对话训练基本跟随能力,中长对话训练状态保持能力,超长对话训练摘要压缩和冲突修正能力。对于电商客服这类场景,还可以把商品属性、订单状态、平台规则作为外部 memory,而不是全部塞进 prompt。真正要优化的是“有效上下文密度”,不是上下文越长越好。

def compress_dialogue(turns):
    state = {
        "intent": None,
        "confirmed_slots": {},
        "open_questions": [],
        "conflicts": [],
        "recent_turns": turns[-4:]
    }
    for role, text in turns[:-4]:
        if "尺码" in text:
            state["confirmed_slots"]["size_related"] = text
        if "不一致" in text or "不是" in text:
            state["conflicts"].append(text)
    return state

5. Agentic Training 的训练流程是什么?

答案:Agentic Training 不是只训练模型回答问题,而是训练模型在任务中进行规划、调用工具、观察结果、修正策略并最终输出。流程一般是先收集任务指令,然后构造可用工具集合和工具 schema,再让模型生成 action;执行工具后得到 observation,模型基于 observation 再继续决策,直到给出 final answer。训练数据通常长这样:instruction -> thought/action -> observation -> next action -> final

真正训练时不会把所有中间过程都一股脑作为监督,通常要区分哪些是可见的动作,哪些是内部推理,哪些是工具返回。重点是让模型学会什么时候调用工具、调用哪个工具、参数怎么填、工具失败时怎么恢复。Agentic Training 的难点不在格式,而在轨迹质量。如果轨迹里有无效工具调用、重复调用或者错误观察,模型会学到很差的策略。

trajectory = [
    {"role": "user", "content": "帮我判断这条客服回复是否违反平台规则"},
    {"role": "assistant", "action": "search_policy", "args": {"query": "客服承诺赔付 违规"}},
    {"role": "tool", "name": "search_policy", "content": "规则:不得承诺平台外赔付"},
    {"role": "assistant", "action": "check_reply", "args": {"reply": "我私下转你红包补偿"}},
    {"role": "tool", "name": "check_reply", "content": "命中风险:平台外赔付"},
    {"role": "assistant", "content": "该回复违规,原因是承诺平台外赔付。"}
]

6. 实际训练 Agent 时,工具返回内容要不要 mask 掉?

答案:工具返回是否 mask,要看训练目标。通常工具返回本身不是模型要学习生成的内容,而是环境反馈,所以在计算 assistant 生成 loss 时应该 mask 掉 tool observation。否则模型会被训练去“背工具返回”,而不是学习如何基于工具结果做下一步决策。

更常见的做法是:用户输入、工具返回作为上下文参与 attention,但不参与 loss;assistant 的 action、参数和 final answer 参与 loss。这样模型能看到 observati

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论

相关推荐

04-21 20:49
长沙学院 Java
wu970:标准北漂配置,怎么看着装修风格有点像自如的😭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务