吉利科技 大模型应用开发 一面

1. 介绍一下你做的这个代码助手 Agent 项目

2. 你这是在网上找的项目 还是哪里学的

3. 状态机是用于干什么的

状态机在 Agent 里最重要的作用,是把模型原本“想到哪做到哪”的行为,变成一个可观察、可控制的执行流程。特别是代码助手、文件助手、自动化办公这类场景,如果没有状态机,模型一旦中途拿到错误信息或者误判上下文,后面就可能一路错下去。用了状态机之后,你可以明确规定当前是分析态、规划态、确认态、执行态还是回滚态,每个状态允许什么动作,不允许什么动作。

我自己的理解是,状态机不是为了让系统显得高级,而是为了收敛复杂性。你要让模型做事情,就不能只靠 prompt 约束,还要靠流程边界约束。像“未确认前不能写文件”“测试失败要回到分析态”“高风险工具调用后进入等待用户态”,这些都适合状态机表达。

from enum import Enum

class AgentState(Enum):
    ANALYZE = "analyze"
    PLAN = "plan"
    CONFIRM = "confirm"
    EXECUTE = "execute"
    ROLLBACK = "rollback"
    DONE = "done"

4. 在流程中,AI 是否会再次询问用户,比如确认删除文件

会,而且我会把这种确认做成显式的流程节点,而不是只在 prompt 里说一句“谨慎操作”。因为只靠 prompt,模型在长流程里很容易忘。像删除文件、覆盖目录、批量重命名、执行写数据库脚本这类动作,我一般都会加二次确认,而且确认内容不能太抽象,要把具体影响范围讲清楚,比如删的是哪几个文件、影响哪些模块、是否可恢复。

另外确认也不能做得太烦,不然用户体验会很差。所以通常只对高风险动作做强确认,对低风险动作做弱确认或者自动放行。这个平衡点很重要,不然系统会在“太冒进”和“太啰嗦”之间来回摇摆。

dangerous_ops = {"delete_file", "rm_dir", "drop_table"}

def need_confirm(action_type: str) -> bool:
    return action_type in dangerous_ops

5. 在规划时,AI 是否会进一步细化动作

会,但我不太喜欢让模型一上来就把计划展开得特别细。因为计划太粗,后面执行容易跳步;计划太细,模型又容易在无关步骤上消耗太多 token,甚至把自己绕进去。比较实用的做法是先生成一个阶段性计划,比如“定位问题—收集证据—提出修改—执行测试—总结结果”,等进入某个阶段时再局部细化。

这种分层规划比一次性全展开更稳,原因很简单:环境信息是动态变化的。模型读完几个文件、拿到测试日志之后,原计划很可能就要改。如果一开始把每一步都写死,后面反而难调整。规划本身不是目的,能支持动态修正才有意义。

6. 你们使用的是什么框架

如果从 Agent 编排层说,我更倾向用轻量可控的工作流框架或者自己封一层 orchestrator,而不是把所有逻辑都压在一个黑盒框架里。因为代码助手这类场景特别依赖执行可控性,框架一旦封得太深,出了问题很难定位。一般会有几层:模型调用层、工具注册层、状态流转层、观察与日志层,再往下是沙箱和执行环境。

面试里如果继续问,我会强调我看重的是框架能不能支持这几件事:工具 schema 清晰、状态可追踪、失败能回放、上下文能裁剪、节点能打断重试。好不好用不是看生态有多热,而是看出线上问题的时候能不能修。

7. 对于记忆管理,你们有什么想法

记忆管理不能简单理解成“把历史对话全塞进去”。真正有用的记忆通常要分层。短期记忆解决当前任务连续性,比如刚刚读了哪个文件、最近一次执行报了什么错;长期记忆解决用户偏好和环境偏好,比如用户更习惯 Python 工具链还是 Java 工具链、默认测试命令是什么、常用目录结构是什么。

我比较倾向把记忆做成结构化存储,而不是自然语言大段摘要。因为一旦都写成文本,后面检索和更新都很容易污染。比如“用户确认过可自动格式化代码”这种信息,应该是一个明确字段,而不是埋

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

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

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

全部评论

相关推荐

05-30 20:55
门头沟学院 Java
这些面试没有太多参考意义,有参考意义的我都单独发了。2.27新华陆通一面我记得问了那时候简历上面的点评项目,一来就说:你的这个系统在面对百万流量的时候你该怎么做呢?我一听直接懵了,我根本不会,只能说些什么加层缓存吧。然后面试官就不问了,就直接说一天之内完成两道题等结果。参考回答应该从前端拦截开始,先拦截无效请求,身份校验按钮置灰等,然后到网关层限流,在api网关做黑铭感拦截或者分布式限流器(令牌桶算法,也是新华路通的题目),然后是数据提前缓存共业务处理,因为缓存响应快,能抗住高并发,如redis预热等,接着是用消息队列mq异步落库,起到一个削峰的作用,最后持久化数据库。当时还不懂这样简单回答呢3.3上海某初创没问项目八股和算法,问我在项目的学习中遇到什么问题,怎么解决?有没有AI帮助解决?你怎么体验Agent?不知道咋回答,现在也不知道咋回答这类问题,各位路过牛友能给个建议吗?5.25深圳创卓自我介绍之后,要我详细介绍一下我的agent项目,具体做了什么,取得什么结果,在业务场景上解决什么问题?然后我花了十分钟从头到尾大致说了一下这个Agent的流程,然后我等着她继续追问,结果不问了,然后介绍了他们这个岗位,要做什么,然后说觉得我是有经验的,我能够胜任。然后我们再聊了一下有没有时间实习啊,岗位要写前端啊,还夸了我现在实习对我以后成长很有帮助。最后我问结果什么时候出来,她还说周五前,结果到了周五我去ssob问,发现她这几天每天都是沟通10+,问了结果她也没回我,我真的哭啊,我还真想去她们那都说男人的嘴骗人的鬼,但女人说的话也未必全部可信啊,尤其是漂亮姐姐
查看5道真题和解析
点赞 评论 收藏
分享
05-21 09:34
已编辑
长春建筑学院 算法工程师
没录音,回忆Q:RPA,AI,Agent,workflow的关系是怎么样的?(个人根据之前的聊天推测AI指的是大语言模型/llm,而不是ai的大概念)Q:除该岗位还考虑什么岗位Q:(追问)AI产品经理和AI解决方案区别是什么样Q:(追问)你说AI产品经理更广,AI解决方案更深,但是我们也希望做出一个产品可以提供给所有人使用,比如tare既有深度又有广度Q:你判断一个时候该用AI什么时候该用人工,0怎么判断的,原则是什么?Q:(追问)如果让你制作ppt,发送邮件,哪写步骤用ai,哪些人工Q:怎么判断我们的方案做到程度可以交付,依据是什么Q:如果客户只提出了一个构建一个自动体的需求,只能向他提问5次以内。应该怎么问?Q:(追问)客户就想要一个ai助手,想提效A:根据用户的背景信息,比如行业,职位,推测用户可能需要解决什么问题,想怎么提效,找一个对应行业的成熟解决方案是怎么做的,做一个demo让客户感受一下Q:(追问)客户就说想提效,还要继续提问吗?A:那就不问了,客户对自己的需求完全不清楚,继续问只会引起反感,先做demoQ:如果你今天的面试没过,觉得是哪里出问题了?Q:再给你一次机会,介绍一下自己的亮点(完全不是原话,语义)jd要3-5年经验,我是校招,过了一面,估计是一直招不到,初筛和一面放宽标准了,但是二面想要能直接干活的,追问的很深(涉及到个人信息,省略了一部分)。晚上八点状态也很不好,准备的方向也不对,答的一塌糊涂虚心提问,是hr问的深,还是我能力差太多
查看12道真题和解析
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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