首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面试官:后端岗也得会 Agent、RAG、MCP、Skill、Prompt!我:???

面试官:后端岗也得会 Agent、RAG、MCP、Skill、Prompt!我:???

作者头像
一个正经的程序员
发布2026-07-06 13:22:58
发布2026-07-06 13:22:58
130
举报

本文由 #公众号:一个正经的程序员 原创 作者:散淡样子 GitHub:https://github.com/LouisLiu00

现在的后端面试,早就跳出纯 CRUD、纯业务接口的范畴了。

很多公司的后端岗位描述看着很普通,只写微服务、业务开发,完全不提 AI,但面试大概率都会问到这几个核心知识点:Agent、RAG、MCP、Skill、Prompt。

很多人都疑惑:明明不是AI开发岗,为什么要考这些?

其实行业共识已经很明确了:现在没有完全脱离 AI 的后端开发。

企业根本不需要后端去训练大模型、调参优化模型效果,也不用做模型微调。但所有业务系统对接大模型后,产生的数据泄露、权限失控、模型乱输出、线上故障等问题,全部都要靠后端兜底解决。

简单说来:AI 负责智能应答、自动做事,后端负责把控边界、守住安全、稳住稳定性,不让 AI 闯祸。

今天就用大白话和极简落地代码,拆解这几个高频考点,不用背八股文,全是面试和做项目时能用的干货。

Agent:模型是打工调度员,决策权全在后端

别再迷信 Agent 全自动智能执行,真正的生产环境,绝对不会让 AI 自主操作核心业务。

自动删数据、自动退款、自动改订单、自动发福利,这些高危操作一旦交给 AI 自主执行,分分钟引发资损事故。

落地版 Agent 核心思路:模型只负责分析需求、规划步骤,所有真实业务操作,全部由后端接管校验执行。

极简工具路由管控代码:

代码语言:javascript
复制
// Agent 工具调用统一拦截
public ToolResult callTool(String userId, ToolCall call) {
    // 校验工具是否合法
    AgentTool tool = toolMap.get(call.getName());
    if (tool == null) {
        return ToolResult.fail("未知工具,禁止执行");
    }
    // 校验用户权限
    if (!tool.hasPermission(userId)) {
        return ToolResult.fail("权限不足");
    }
    // 高危操作二次确认
    if (tool.isHighRisk() && !call.isConfirmed()) {
        return ToolResult.fail("高风险操作,需手动确认");
    }
    return tool.execute(call.getArgs());
}

模型没有事务、幂等和风险概念,容易重复调用、参数错乱。Agent 落地的核心从来不是智能,是可控、可拦截、可溯源

RAG:根本不是检索知识,是管住模型别瞎编

绝大多数人面试答 RAG,只会死板背诵“检索增强生成”,面试官一听就知道是纸上谈兵。

线上落地 RAG,最大的坑从来不是检索不到内容,而是模型凭空编造信息,看似回答得有理有据,实则全是错的,也就是模型幻觉。

后端做 RAG 的核心逻辑很简单:知识库有内容就精准作答,没内容直接拒绝回答,绝不允许模型自由发挥。

给大家贴一段极简的核心代码,看懂就吃透 RAG 工程核心:

代码语言:javascript
复制
// 核心问答兜底逻辑
public String answerQuery(String userId, String question) {
    // 带用户权限检索文档,避免跨权限查数据
    List chunks = docIndex.search(question, userId, 5);
    // 无知识库内容,直接降级
    if (chunks.isEmpty()) {
      return "暂无相关资料,无法解答";
    }
    // 组装强约束 Prompt
    String prompt = buildStrictPrompt(question, chunks);
    String res = llmClient.chat(prompt);
    // 校验回答是否有资料依据,杜绝幻觉
    if (!checkEvidence(res, chunks)) {
        return "资料依据不足,建议转人工";
    }
    return res;
}

说白了,RAG 的本质不是提升 AI 智商,是后端给模型划定回答边界,强制模型只做“有依据的回答”

MCP:别背协议,重点是安全和审计

很多人面试被问 MCP,只会机械背诵“模型上下文协议”,这种回答基本拿不到高分。

MCP 的核心价值,是统一了模型和后端工具、上下文数据的交互标准,让 AI 可以标准化调用各类业务接口。

但标准化带来的最大问题就是权限失控,所以后端关注的重点从来不是协议本身,而是安全管控。

核心落地逻辑就三点:工具调用身份鉴权、敏感数据自动脱敏、全量操作日志审计。

比如查询用户信息的工具,通过 MCP 被模型调用时,后端必须拦截手机号、身份证、余额等隐私字段,同时记录调用人、调用时间、调用内容,方便后续合规排查,这才是 MCP 的工程落地重点。

Skill:就是给模型用的后端接口,校验必须更严

Skill 是几个概念里最简单的,没任何技术门槛,本质就是封装好的标准化后端业务能力。

我们平时写的查询订单、生成工单、统计用户数据的接口,普通人手动调用叫普通接口,交给 AI 模型自动调用,就叫 Skill。

最大的区别:人用接口会规避错误,模型传参极其随意,空参数、格式错乱、非法字段是常态。所以 Skill 的参数校验,要比前端调用的接口严格十倍。

代码语言:javascript
复制
// 模型调用 Skill 入参强制校验
public void checkOrderParam(Long userId, String orderNo) {
    if (userId == null) {
        throw new IllegalArgumentException("用户ID不能为空");
    }
    // 强制校验订单号固定格式
    if (!orderNo.matches("OD\\d{12}")) {
        throw new IllegalArgumentException("订单号格式错误");
    }
}

参数校验看着基础,但能杜绝 AI 多轮调用引发的连锁报错,是 Skill 稳定运行的关键。

Prompt:不是写话术,是可维护的配置规则

很多新手写 Prompt,喜欢直接把大段文本硬编码写在业务代码里,这是非常业余的写法。

后续改回答话术、加免责声明、调整输出风格,每次优化都要改代码、提版本、重新部署,维护成本极高。

工程化的 Prompt,是可版本、可配置、可清洗的模板,简单示例:

代码语言:javascript
复制
// 标准化 Prompt 模板
public String renderPrompt(Map params) {
    // 读取配置中心的模板文本,不写死在代码
    String template = config.getPromptTemplate("qa_v1.0");
    // 清洗脏数据、替换变量
    String cleanText = cleanIllegalChar(params.get("question"));
    return template.replace("${question}", cleanText);
}

Prompt 从来不是比拼文案功底,而是可迭代、可回滚、不用改代码就能优化的工程规则

最后聊句实在的

后端岗考察 AI 相关能力,真不是企业刻意为难人。

大模型本身的出错概率很低,线上绝大多数 AI 相关事故,全是后端收口不到位导致的:权限混乱、数据泄露、参数异常、重复执行、无降级兜底。

未来容易被淘汰的后端,不是不懂 AI 的人,是只会写 CRUD、不会对接 AI、不懂风险管控的纯业务开发。

面试遇到这几个知识点,别死背概念,结合代码、聊落地、聊兜底、聊安全,绝对是高分答案。

你们面试后端,被这些 AI 新考点卡过吗?评论区聊聊~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个正经的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档