03 小厂AI应用开发一面问题及参考回答

1555 words
8 minutes
03 小厂AI应用开发一面问题及参考回答

小厂AI应用开发一面问题及参考回答#

4. 讲下skill的运作机制,skill的内容是以什么形式返回给大模型的?#

参考回答

  • 运作机制:当用户提问或触发条件满足时,系统会从 skill 库中匹配最合适的 skill,然后将其内容注入到当前的 Prompt 上下文中,交由大模型处理。
  • 返回形式:通常是以自然语言描述 + 结构化参数(JSON Schema)的形式。例如,先有一段描述该 skill 功能的说明文字,再附带一个定义好输入输出格式的 JSON Schema,让模型知道如何调用。

5. 上下文压缩的时机和方法?#

参考回答

  • 时机:当检测到当前上下文长度接近模型上限(如 80% 阈值),或在多轮对话中历史信息开始冗余、对当前任务贡献度下降时触发。
  • 方法
    • 摘要压缩:用模型对历史对话或长文本生成摘要,保留核心信息。
    • 关键信息提取:抽取实体、动作、意图等关键要素,丢弃次要描述。
    • 滑动窗口:只保留最近的 N 轮对话,丢弃较早的上下文。

6. #精华 进行完这个agent优化后有什么可量化的效果?#

参考回答

  • 准确率提升:如任务完成率从 70% 提升到 85%。
  • 响应速度加快:平均响应时间从 5s 降低到 3s。
  • Token 成本下降:通过上下文压缩和缓存,单次请求平均 Token 消耗减少 30%。
  • 用户满意度提升:如 NPS 评分或人工评估得分提高。

1. skill沉淀怎么处理的?#

参考回答

  • 通常会将业务方或开发者编写的 skill 沉淀到结构化存储中(如数据库、向量数据库或配置文件)。
  • 沉淀时会包含 skill 的元数据(如名称、描述、触发条件)、核心逻辑(如 Prompt 模板、工具调用 Schema)以及版本信息,以便后续检索、复用和迭代。

2. 对拉取的skill做了缓存,是为了处理什么情况?是怎么考虑何时更新缓存的?#

参考回答

  • 目的:主要是为了提升性能,减少每次请求时重复加载 skill 的延迟;同时降低后端存储或外部服务的压力。
  • 更新策略:通常采用 TTL(Time To Live)+ 主动失效机制。例如,设置缓存过期时间(如1小时),或者在 skill 被编辑/更新时,通过消息队列或钩子函数主动清除对应缓存,确保下次拉取的是最新版本。

3. 如果业务方有人写了过长的skill会导致什么问题?#

参考回答

  • 上下文溢出:过长的 skill 容易撑爆大模型的上下文窗口,导致关键指令被截断,模型理解偏差。
  • 性能下降:Prompt 过长会增加模型推理时间,提高 Token 消耗成本。
  • 噪音干扰:冗余内容可能干扰模型注意力,降低任务执行的准确性和稳定性。

7. 怎么处理内置和业务自定义skill的冲突问题?#

参考回答

  • 命名空间隔离:内置 skill 和业务 skill 使用不同的命名前缀或目录结构,避免同名冲突。
  • 优先级机制:定义明确的优先级规则(如内置 skill 优先级高于业务 skill,或反之),在匹配时按优先级选择。
  • 冲突检测告警:在 skill 注册或更新时,自动检测是否存在同名或功能重叠的 skill,提示人工审核。

8. 为什么要使用multi-agent架构?#

参考回答

  • 职责分离:不同 agent 专注不同任务(如查询、分析、执行),代码结构更清晰,易于维护。
  • 能力扩展:可独立扩展某个子 agent 的能力(如增加工具、优化 Prompt),不影响整体系统。
  • 协作效率:主 agent 负责任务分解和调度,子 agent 并行或串行执行,提升复杂任务的完成效率。

9. 主agent与子agent如何通信?能否访问对方的memory?#

参考回答

  • 通信方式:通常通过消息队列(如 Redis、RabbitMQ)或 HTTP/RPC 接口进行异步或同步通信。主 agent 将任务指令发送给子 agent,子 agent 完成后返回结果。
  • Memory 访问:一般不直接访问对方的 memory。每个 agent 的 memory 是其内部状态(如对话历史、中间结果),通过通信传递所需数据,保持模块解耦。如需共享状态,可通过共享存储(如数据库)或上下文对象传递。

10. 这个DAG工作流有没有使用什么已有的AI框架还是自己实现的?#

参考回答

  • 选择自己实现,因为现有框架(如 LangChain、AutoGen)虽然封装完善,但往往存在过度抽象、黑盒化、扩展性差、性能损耗等问题。自己实现可以更精细地控制每个节点的执行逻辑、错误处理和状态管理,更好地贴合业务需求,也便于后续优化和调试。

AI Coding环节:实现一个todo辅助agent#

参考思路

  • 功能:添加任务、删除任务、标记完成、查看列表、设置提醒。
  • 技术点:使用 Python + Flask/FastAPI 提供 API,或命令行交互;用 SQLite/JSON 存储任务;可接入大模型实现自然语言解析(如“提醒我明天开会” → 解析为任务+时间)。
  • 代码结构:主类 TodoAgent,包含 add_taskremove_tasklist_taskscomplete_task 等方法,支持命令行或 HTTP 调用。

反问:进去以后的业务内容方向#

参考回答(作为候选人提问)

  • “请问团队目前在 AI Agent 应用方面主要聚焦哪些业务场景?是偏向内部提效工具,还是面向外部用户的商业化产品?”
  • “未来半年内,团队在 Agent 架构、多模态能力或工程化落地方面有哪些重点规划?我可以提前做哪些准备?”

:以上回答基于行业常见实践整理,实际面试中请根据个人项目经验调整。

Share Article

If this article helped you, please share it with others!

03 小厂AI应用开发一面问题及参考回答
https://estars-blog.pages.dev/posts/求职作战室-面经-agent面经-03-小厂ai应用开发一面问题及参考回答/
Author
Estars
Published at
2026-06-10
License
CC BY-NC-SA 4.0
Profile Image of the Author
Estars
这条路要走完,才能看到世界的终点,是海纳百川,还是星火燎原。
公告
欢迎来到我的博客!这是一则示例公告。
Music
Cover

Music

No playing

0:00 0:00
No lyrics available
Categories
Tags
Site Statistics
Posts
91
Categories
5
Tags
44
Total Words
374,063
Running Days
0 days
Last Activity
0 days ago

Table of Contents