快手 AI 全栈开发面经:Agent Harness、沙箱与知识库两轮追问
- 轮次
- 一面、二面
- 结果
- 已发 offer
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
一面
- 自我介绍。
- 你的 Agent 项目背景是什么?
- Harness 是什么,你是怎么做的?
- 和之前把 Agent 托管在别的平台上相比,有什么区别?
- Agent 沙箱是怎么做的?
- 知识库是怎么做的?
- 现场 AI Coding:实现一个多实例并发系统,先展示 spec,一轮提示词内完成。
- 平时怎么用 AI,比较看重 AI Coding 的哪一步?
- 平时有没有持续学习新东西的习惯?
二面
- Agent 是怎么做的?Loop 在这里指什么?
- Harness 有什么用?
- ReAct 之类的范式了解吗?
- 如果让你设计一个一站式需求交付平台,你会怎么设计?如何优化成本?
- 生活服务场景下,要根据多方面数据分析销量差的原因,你会怎么设计?
- 什么时候能来,能不能再早些?
《参考解析》
Harness 是什么、和托管在别的 Agent 上有什么区别
Harness 是模型之外的执行骨架:它把用户目标变成可执行步骤,负责组织上下文、调用工具、保存中间状态、处理失败重试与人工接管,并提供权限、沙箱、可观测性和评测。模型只负责在当前上下文里做判断,Harness 负责让判断能稳定落地。
自己做 Harness 与托管在现成 Agent 平台上的区别主要在控制权:Loop 怎么转、上下文怎么压缩、工具协议怎么定义、状态存在哪里、失败怎么恢复、成本怎么归因,都由自己决定;代价是要自己承担运行时、沙箱、并发和评测的工程复杂度。如果业务只是做轻量问答,托管平台更省事;如果要接内部系统、做长任务和多实例并发,自研 Harness 才能把关键链路握在手里。
Agent 沙箱怎么做
目标是把不可信的工具调用和代码执行限制在可控范围内:每个任务独立容器或微虚拟机,限制 CPU、内存、磁盘和运行时长;默认禁止外网,按需开白名单;文件系统按任务挂载并在结束后回收;工具调用统一走网关,记录入参、出参和耗时;长任务支持快照与恢复。安全上还要做路径校验、命令白名单和资源配额,避免一个任务拖垮整个实例。
知识库怎么做
一条完整链路是:文档解析与清洗 → 按语义和结构切块 → 建立元数据(来源、更新时间、权限)→ 向量化并写入索引 → 检索时混合向量召回与关键词召回 → rerank → 组装上下文。工程上要解决增量更新、权限过滤、重复内容和失效文档清理;效果上要用真实问题集评 Recall@k、Hit@k 和最终回答正确率,而不是只看切块数量。
多实例并发系统(AI Coding 题)
先写清 spec:任务模型、状态机、并发边界、失败重试和幂等要求。实现上用任务队列分发,每个实例绑定独立工作目录或 worktree,状态落库并用版本号做乐观锁;同一任务加分布式锁,保证重复投递不会重复执行;外部副作用设计成幂等操作;实例崩溃后由租约超时触发重新调度。最后用压测验证吞吐、尾延迟和故障恢复。
一站式需求交付平台怎么设计与降本
平台可以拆成需求接入、方案生成、任务编排、执行环境、评审与交付五层:需求统一转成结构化 spec,编排层把任务拆成可并行的子任务,执行层按任务起隔离环境,评审层用自动化和人工门禁兜底。降本优先做模型路由(简单任务走小模型)、上下文压缩、结果缓存、失败早停和批处理,再用评测数据判断哪些环节真的值得用大模型。