奇虎 AI Agent开发 二面

1. 请做一个简短的自我介绍

2. 在你的项目里,挑一个技术难度大点介绍一下

3. 你平时工作中用过哪些 AI 编程工具

4. 对 Python 掌握如何?在你的实际使用里主要承担什么角色

5. 对协程了解吗

如果面试官保留“协程”这个点,其实完全可以只从 Python 角度展开。你可以说协程适合 I/O 密集场景,比如异步调用多个外部工具、并发请求检索服务、批量处理模型请求、流式返回等。协程不是让 CPU 计算变快,而是提高等待 I/O 时的资源利用率。

在 Agent 场景里,协程比较适合做并发检索、多工具并发探测、异步日志上报、流式 token 处理这些事情。如果继续深入,可以提一下 asyncio、事件循环、await 的含义,以及为什么不适合 CPU 密集任务。

import asyncio​async def fetch(name, delay):    await asyncio.sleep(delay)    return f"{name} done"​async def main():    results = await asyncio.gather(        fetch("search", 1),        fetch("rerank", 2)    )    print(results)​asyncio.run(main())

6. MCP 网关实现协议转换,你们的 MCP 协议主要解决了什么问题

这个问题的重点不只是“协议转换”,而是标准化模型和工具之间的连接方式。MCP 这类协议的核心价值在于,把模型可调用的资源、工具、参数格式、返回结构、错误处理方式统一起来。这样上层 Agent 不需要为每个工具都写一套定制 prompt glue code,接入成本和维护成本都会低很多。

如果从系统角度说,它解决的是几个问题:工具接入不统一、模型无法稳定理解能力边界、调用链难治理、跨服务扩展困难。做了协议层之后,工具可以插拔,权限可以控制,日志可以统一,后续扩展知识库、数据库、文件系统、业务接口时都会更顺。

7. 大模型的熔断和降级是如何处理的

这个问题比较偏工程。比较完整的回答一般包括几层:先做超时控制和失败重试,再做熔断策略,比如某个模型服务错误率持续升高时暂停继续打流量,然后做降级,比如切到更小模型、切到缓存结果、切到规则模板、或者返回保守结果而不是硬生成。这样系统在模型不稳定时还能维持基本可用。

另外要强调一点,降级不是单纯“换个模型”这么简单,还要看任务类型。像高风险写操作、审批类任务、合规判断类任务,不适合随便降级成弱模型硬上,必要时应该直接转人工或返回不可执行状态。

class CircuitBreaker:    def __init__(self, threshold=3):        self.fail_count = 0        self.threshold = threshold        self.open = False​    def call(self, func, *args, **kwargs):        if self.open:            return "fallback"        try:            result = func(*args, **kwargs)            self.fail_count = 0            return result        except Exception:            self.fail_count += 1            if self.fail_count >= self.threshold:                self.open = True   

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

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

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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