Skip to content

AI 面试题

LLM 应用开发模块:从 Function Calling、Prompt 工程到 Agent 框架、多模态、安全评估,覆盖大语言模型应用开发的核心技能和实战经验。这是 AI 工程师最常接触的工作内容。

Q1: 什么是 Function Calling?有什么应用场景? 「🟡 中级」

考察点:工具调用能力的理解。筛掉不知道 LLM 可以调用外部工具、只会做纯文本生成的人。

参考答案

  • Function Calling(函数调用 / 工具调用):大模型根据用户意图,自动选择并调用外部函数/工具,获取结果后再生成最终回答的能力。

  • 核心价值:让 LLM 从"纯文本生成"变成"能行动的智能体",突破模型自身的知识和能力边界。

  • 基本原理

    1. 开发者预定义一组工具(函数名称、参数描述、功能说明)。
    2. 用户提问后,LLM 判断是否需要调用工具,以及调用哪个工具、传什么参数。
    3. 系统执行函数调用,获取返回结果。
    4. LLM 结合工具返回结果,生成最终回答。
  • 调用流程

    用户提问 → LLM(判断是否需要工具)
    
            ┌─────┴─────┐
            │           │
         需要工具     不需要工具
            │           │
      生成函数调用    直接回答
    
      执行函数 → 获取结果
    
      LLM(结合结果生成回答)
    
         最终回答
  • 应用场景

    1. 实时信息获取

    • 查天气、查股票、查航班、查新闻。
    • 搜索引擎调用(获取最新信息)。

    2. 数据查询与操作

    • 查数据库(自然语言转 SQL)。
    • 查 CRM/ERP 系统。
    • 读写文件、操作表格。

    3. API 编排

    • 调用第三方 API(支付、物流、邮件、短信)。
    • 多 API 串联完成复杂任务。

    4. 计算与代码执行

    • 调用计算器、Python 代码执行器。
    • 复杂数学计算、数据分析。

    5. 与 RAG 结合

    • 将检索作为一种 Function Call。
    • 多工具路由:有的问题走检索,有的走 API,有的直接回答。
  • 结构化输出

    • Function Calling 本质上是让 LLM 输出结构化的 JSON(函数名 + 参数)。
    • 这种能力也可以用来做结构化输出(如信息抽取、JSON 生成、表格解析)。
    • 很多模型支持 response_format: json_object,强制输出 JSON。
  • 最佳实践

    1. 工具描述清晰:函数名和参数描述要准确,LLM 才能正确调用。
    2. 错误处理:工具调用失败时,把错误信息返回给 LLM,让它重试或换方案。
    3. 参数校验:在执行函数前校验参数合法性,防止非法调用。
    4. 权限控制:敏感操作(删除、支付)需要人工确认。
    5. 并行调用:支持同时调用多个独立工具,提高效率。
  • 与 RAG 的关系

    • RAG 可以看作是 Function Calling 的一个特例(检索函数)。
    • Function Calling 比 RAG 更通用,可以调用任意工具。
    • 实际应用中,两者经常结合使用:Agent = LLM + 多种工具(含 RAG)。

追问延伸

  • Function Calling 是怎么训练出来的?(用函数调用数据微调)
  • 怎么让模型更准确地选择工具和参数?
  • 工具调用失败了怎么办?有什么重试策略?
  • 怎么保证工具调用的安全性?(防止注入攻击、越权调用)
  • 并行工具调用和串行调用各适用于什么场景?

Q2: 什么是 Prompt 工程?有哪些常用技巧? 「🟡 中级」

考察点:Prompt 能力的掌握。筛掉写不好 Prompt、不知道系统优化 Prompt 方法的人。

参考答案

  • Prompt 工程(Prompt Engineering):通过设计和优化输入提示词,引导大模型输出更高质量、更符合预期结果的技术和实践。

  • 核心思想:大模型是"概率续写机器",好的 Prompt 能把模型引导到正确的"分布"上。

  • 常用技巧

    1. 角色设定(Role Prompting)

    • 给模型分配一个专业角色,让它以该角色的视角回答。
    • 示例:你是一位资深的后端架构师,有10年分布式系统设计经验...
    • 作用:激活模型中对应角色的知识和表达方式。

    2. 任务明确化

    • 用清晰的动词描述任务:分析、总结、提取、翻译、分类、排序。
    • 明确输出要求:字数、格式、语气、受众。
    • 反例:帮我看看这个(太模糊)。
    • 正例:请用3句话总结以下文章的核心观点,用中文回答,每句不超过30字。

    3. Few-shot Learning(少样本学习)

    • 在 Prompt 中提供几个输入-输出示例,让模型学习模式。
    • 比 Zero-shot(零样本)效果更好,尤其是格式要求严格的场景。
    • 示例:
      请按以下格式提取信息:
      输入:"张三,男,30岁,北京"
      输出:{"name": "张三", "gender": "男", "age": 30, "city": "北京"}
      
      输入:"李四,女,25岁,上海"
      输出:

    4. 思维链(Chain-of-Thought, CoT)

    • 让模型"一步步思考",显式输出推理过程。
    • 用法:请一步步思考,然后给出答案 或提供 CoT 示例。
    • 适用:数学题、逻辑推理、复杂问题分析。
    • 进阶:
      • Zero-shot CoT:不需要示例,只要说"让我们一步步思考"。
      • Auto-CoT:自动生成多样化的思维链示例。

    5. 思维树(Tree-of-Thoughts, ToT)

    • 不只是一条推理链,而是探索多个推理路径。
    • 每一步生成多个候选,评估后选择最优路径继续。
    • 适用:需要搜索、规划的复杂问题。

    6. 自我一致性(Self-Consistency)

    • 多次采样生成多个答案,投票选择出现次数最多的。
    • 思路:正确的推理路径可能有多种,但最终答案应该一致。
    • 效果:提升数学题、推理题的准确率。

    7. 结构化输出

    • 明确指定输出格式:JSON、Markdown、XML、表格等。
    • 提供格式示例或 Schema。
    • 可以用 Function Calling 能力强制结构化输出。

    8. 负面提示(Negative Prompting)

    • 明确告诉模型不要做什么。
    • 示例:
      • 不要编造信息,如果不知道就说不知道
      • 不要使用专业术语,用大白话解释
      • 不要超过300字

    9. 提示词模板(Prompt Template)

    • 将 Prompt 模块化、模板化,动态填充变量。
    • 结构:系统提示 + 上下文 + 历史对话 + 用户问题 + 输出格式要求。
    • 便于管理、版本控制和 A/B 测试。

    10. 检索增强(RAG)

    • 在 Prompt 中插入检索到的相关知识。
    • 减少幻觉,提升事实准确性。
  • Prompt 优化的一般流程

    1. 明确目标和评估标准。
    2. 写初版 Prompt,测试效果。
    3. 分析 bad case,针对性优化。
    4. 迭代测试,对比效果。
    5. 沉淀为模板,版本管理。

追问延伸

  • System Prompt 和 User Prompt 有什么区别?怎么用好 System Prompt?
  • 怎么评估 Prompt 的好坏?有什么量化方法?
  • Prompt 越长越好吗?长 Prompt 有什么问题?
  • 什么是 Prompt 注入攻击?怎么防范?
  • CoT 为什么有效?它的原理是什么?

Q3: 什么是多模态大模型?有哪些应用? 「🟡 中级」

考察点:多模态知识的广度。筛掉对多模态完全不了解、只知道纯文本 LLM 的人。

参考答案

  • 多模态大模型(Multimodal LLM):能够同时理解和生成多种模态信息(文本、图像、音频、视频等)的大模型。

  • 核心能力:打破模态壁垒,让 AI 能像人一样通过多种感官理解世界。

  • 主流模型

    1. 图文理解

    • GPT-4V(Vision):OpenAI,支持图像理解 + 文本对话。
    • Claude 3:Anthropic,支持图像理解。
    • Gemini:Google,原生多模态,支持图文音视频。
    • Qwen-VL:阿里云,开源多模态模型。
    • LLaVA:开源,基于 LLaMA + ViT 的视觉语言模型。
    • InternVL:上海AI实验室,开源多模态。

    2. 图像生成

    • DALL·E 3:OpenAI,文生图。
    • Midjourney:高质量图像生成。
    • Stable Diffusion:开源,可本地部署。
    • Flux:Black Forest Labs,新一代开源模型。

    3. 语音交互

    • Whisper:OpenAI,语音识别(ASR)。
    • TTS:文本转语音(ElevenLabs、Azure TTS)。
    • GPT-4o:实时语音对话。

    4. 视频理解

    • Gemini:支持视频理解。
    • GPT-4o:支持视频帧分析。
  • 关键技术

    1. CLIP(Contrastive Language-Image Pre-training)

    • OpenAI 提出,用对比学习训练图文对齐。
    • 图文分别编码,在同一向量空间对齐。
    • 可用于图文检索、零样本分类。
    • 是很多多模态模型的基础组件。

    2. 视觉编码器

    • ViT(Vision Transformer):用 Transformer 处理图像。
    • 将图像分成 patch,类似文本 token。
    • 输出视觉特征序列,输入 LLM。

    3. 模态对齐

    • 将不同模态的表示映射到同一语义空间。
    • 方法:投影层、交叉注意力、联合训练。
  • 应用场景

    1. 内容理解

    • 图片问答:这张图里有什么?
    • OCR 增强:识别图片中的文字、表格、公式。
    • 文档理解:PDF、PPT、扫描件的智能问答。
    • 商品识别:拍照识别商品、价格、规格。

    2. 内容生成

    • 文生图:根据描述生成图片。
    • 图生文:给图片生成标题、描述、故事。
    • 图文结合:生成带图的文章、PPT。
    • 设计辅助:UI 设计、海报生成、Logo 设计。

    3. 工业与安防

    • 质检:产品缺陷检测。
    • 监控分析:异常行为识别。
    • 医疗影像:辅助诊断。

    4. 教育与培训

    • 拍照解题:数学题、物理题。
    • 图表讲解:解释图表含义。
    • 实验指导:识别实验器材和步骤。

    5. 智能客服

    • 用户发图片/截图,客服自动理解问题。
    • 视觉化的故障排查指导。
  • 多模态 RAG

    • 传统 RAG 只处理文本,多模态 RAG 可以处理图片、表格、视频。
    • 方案:
      • 图片 → 多模态 Embedding(CLIP) → 向量库。
      • 图片 → 文字描述(Caption) → 文本 RAG。
      • 混合检索:文本搜图、图搜文本、图搜图。

多模态 vs 纯文本

维度纯文本 LLM多模态 LLM
输入纯文本文本 + 图像 + 音频 + 视频
输出纯文本文本 + 图像 + 语音
应用场景对话、写作、代码更广泛,覆盖视觉、听觉
计算成本较低更高(视觉编码器)
幻觉类型事实幻觉视觉幻觉(看错、数错)

追问延伸

  • 多模态模型是怎么训练的?图文对齐怎么做?
  • 多模态大模型有哪些特有的幻觉问题?
  • 怎么评估多模态模型的效果?
  • 图像生成和图像理解是同一类模型吗?有什么区别?
  • 多模态 Agent 有什么应用想象空间?

Q4: 主流的 AI Agent 框架有哪些?各有什么特点? 「🟡 中级」

考察点:Agent 生态的了解程度。筛掉只知道 LangChain、对整体生态缺乏认知的人。

参考答案

  • AI Agent 框架:帮助开发者快速构建 AI Agent(智能体)应用的开发框架,提供工具调用、记忆、规划、多 Agent 协作等能力的封装。

  • 主流框架对比

    1. LangChain

    • 定位:最流行的通用 LLM 应用开发框架。
    • 特点
      • 概念最全:Chain、Agent、Tool、Memory、Retriever 等。
      • 生态最丰富:集成了上百种 LLM、向量库、工具。
      • LangGraph:支持图结构的 Agent 编排,适合复杂工作流。
      • LangSmith:调试、评测、监控平台。
    • 优势:功能全面、社区大、文档多。
    • 劣势:过度封装、调试困难、版本变动快、学习曲线陡。
    • 适用:复杂 Agent 应用、多工具协作、需要灵活编排的场景。

    2. LlamaIndex

    • 定位:数据索引与 RAG 框架,也有 Agent 能力。
    • 特点
      • 核心是"数据连接 + 索引 + 检索"。
      • 100+ 数据源连接器(Notion、Slack、Google Drive 等)。
      • 丰富的索引类型(树索引、列表索引、关键词索引、向量索引)。
      • 高级 RAG 能力:路由查询、融合检索、子问题分解。
      • Agent 能力:ReAct、OpenAI Agent、多文档 Agent。
    • 优势:RAG 开箱即用、数据连接器丰富。
    • 劣势:Agent 能力不如 LangChain 灵活。
    • 适用:知识库问答、文档处理、数据密集型应用。

    3. AutoGPT / AutoGPT 式 Agent

    • 定位:全自主 AI Agent,给定目标自动完成复杂任务。
    • 特点
      • 自主规划、自主执行、自主反思。
      • 长任务分解、多步骤执行。
      • 代表:AutoGPT、BabyAGI、AgentGPT。
    • 优势:自主性强,适合开放式任务。
    • 劣势:不可控、容易跑偏、token 消耗大、可靠性低。
    • 适用:探索性任务、创意生成、研究实验。

    4. CrewAI

    • 定位:多 Agent 协作框架,"角色化"的多智能体系统。
    • 特点
      • 每个 Agent 有明确的角色、目标、背景故事。
      • Task 委派和协作机制。
      • 支持顺序执行、层级执行、并行执行。
      • 内置 Process 概念(类似项目管理)。
    • 优势:多 Agent 协作的抽象好,角色化设计直观。
    • 劣势:生态不如 LangChain 丰富。
    • 适用:复杂任务需要分工协作的场景(如内容创作团队、研发团队模拟)。

    5. Dify

    • 定位:LLM 应用开发平台,低代码/无代码。
    • 特点
      • 可视化的 Prompt 编排和调试。
      • 内置 RAG 引擎(文档上传、分段、检索)。
      • 支持工作流(Workflow)编排。
      • 应用发布、API 生成、用户管理。
      • 日志和标注功能。
      • 开源,可私有化部署。
    • 优势:上手快、产品化程度高、非工程师也能用。
    • 劣势:灵活度不如纯代码框架。
    • 适用:快速原型、企业内部应用、非技术团队使用。

    6. 其他值得关注的框架

    • AutoGen(微软):多 Agent 对话框架,强调多 Agent 交互。
    • MetaGPT:多 Agent 协作,模拟软件公司流程(产品经理、架构师、工程师)。
    • Semantic Kernel(微软):.NET/Java/Python 多语言支持,企业级。
    • Haystack:侧重 RAG 和搜索的框架。
    • Coze(字节):Bot 开发平台,支持插件、工作流、知识库。
  • 选型建议

    场景推荐框架理由
    知识库问答LlamaIndex / DifyRAG 能力强,开箱即用
    复杂 Agent + 多工具LangChain + LangGraph灵活、生态全
    多 Agent 协作CrewAI / AutoGen角色化、协作机制完善
    快速原型 / 低代码Dify / Coze可视化、上手快
    探索性研究AutoGPT / BabyAGI自主性强
    企业级 .NET 栈Semantic Kernel微软生态、企业级支持
  • 最佳实践

    • 不要被框架绑架,核心逻辑尽量自己控制。
    • 框架用在"编排"和"集成",核心 Prompt 和业务逻辑自己写。
    • 先验证核心流程,再引入框架。
    • 注意框架的版本兼容和升级成本。

追问延伸

  • LangChain 和 LlamaIndex 可以结合使用吗?怎么结合?
  • 什么是 Agent 框架的"过度封装"问题?怎么避免?
  • 怎么衡量 Agent 框架的好坏?
  • 自研 Agent 框架 vs 使用开源框架,怎么选?
  • LangGraph 和传统 LangChain Agent 的区别?

Q5: LLM 应用中的数据飞轮是什么?怎么构建? 「🔴 高级」

考察点:产品运营思维。筛掉只会写代码、没有产品化和持续迭代思维的人。

参考答案

  • 数据飞轮(Data Flywheel):用户使用产品产生数据,数据反哺优化模型和产品,产品体验提升吸引更多用户,形成正循环的增长机制。

  • 核心思想:用数据驱动持续迭代,让产品越用越好,用户越多数据越多,数据越多产品越好。

  • 飞轮的五个环节

    ┌───────────────────────────────────────────┐
    │                                           │
    │   用户交互 → 数据收集 → 标注/评估 → 模型优化  │
    │     ↑                                     │
    │     │                                     │
    │   更好体验 ← 更多用户 ←───────────────────┘
    │                                           │
    └────────────── 数据飞轮 ────────────────────┘

    1. 用户交互

    • 用户使用产品,产生对话、查询、反馈等行为数据。
    • 数据类型:Prompt、回答、点击、停留、点赞/点踩、修改、复制。

    2. 数据收集

    • 完整记录交互日志:用户输入、模型输出、耗时、模型版本、Prompt 版本。
    • 用户显式反馈:👍/👎、评分、纠错。
    • 用户隐式反馈:点击链接、复制回答、修改回答、跳转行为。
    • 埋点系统:前端 + 后端全链路追踪。

    3. 标注 / 评估

    • 筛选高质量和低质量的交互样本。
    • 人工标注:对 bad case 标注正确答案,用于微调数据。
    • 自动评估:用 LLM 评估回答质量,打标签。
    • 数据清洗:去重、去噪、脱敏。

    4. 模型优化

    • Prompt 优化:分析 bad case,优化 Prompt 模板。
    • RAG 优化:补充知识、优化分块、优化检索策略。
    • 微调(SFT):用高质量交互数据微调模型,提升特定场景效果。
    • 工具优化:增加新工具、优化工具描述。
    • A/B 测试验证优化效果。

    5. 更好体验 → 更多用户

    • 优化后的模型提供更好的回答。
    • 产品体验提升,用户满意度提高。
    • 用户留存和增长,带来更多交互数据。
    • 飞轮进入下一轮循环。
  • 构建数据飞轮的关键要素

    1. 数据收集体系

    • 全量日志:每次交互都要记录。
    • 结构化存储:便于分析和挖掘。
    • 隐私合规:PII 脱敏、用户授权。

    2. 反馈机制设计

    • 显式反馈:点赞/点踩、评分、纠错。
    • 隐式反馈:行为数据的信号提取。
    • 反馈激励:让用户愿意反馈(如积分、勋章)。

    3. 数据标注能力

    • 内部标注团队 + 外部众包。
    • 标注工具和流程。
    • 标注质量控制(多人标注、一致性检验)。

    4. 快速迭代能力

    • Prompt 版本管理和快速发布。
    • 模型微调流水线(数据准备 → 训练 → 评估 → 上线)。
    • A/B 测试框架。

    5. 效果评估体系

    • 离线评估:基准测试集。
    • 在线评估:业务指标 + 用户满意度。
    • 确保每一轮飞轮确实在提升效果,而不是"瞎转"。
  • 常见误区

    • 只收集数据,不做分析和使用。
    • 数据质量差,标注不准,越训越差。
    • 飞轮转不起来:用户少 → 数据少 → 优化慢 → 用户更少。
    • 忽略冷启动:初期没有用户数据怎么办?(用公开数据、合成数据、内部测试)

追问延伸

  • 冷启动阶段没有用户数据,怎么启动飞轮?
  • 怎么判断飞轮在"转"还是在"空转"?有什么指标?
  • 数据飞轮和传统的数据驱动有什么区别?
  • 用户反馈数据有偏怎么办?(喜欢反馈的都是极端用户)
  • 怎么平衡数据利用和用户隐私?

Q6: 如何构建 LLM 应用的评估体系? 「🔴 高级」

考察点:质量保障的方法论。筛掉没有系统化评估思维、全靠"感觉"判断效果的人。

参考答案

  • LLM 应用评估体系:从多个维度、用多种方法,系统性地衡量 LLM 应用的质量和效果,为产品迭代提供依据。

  • 核心挑战:LLM 输出是开放式的,"正确答案"往往不唯一,传统的准确率指标不适用。

  • 评估维度

    1. 准确性维度

    • 事实准确性:回答的内容是否真实、正确。
    • 幻觉率:编造信息的比例。
    • 任务完成率:是否完成了用户的任务目标。
    • 引用准确率:RAG 场景下,引用来源是否正确。

    2. 相关性维度

    • 问题相关性:回答是否紧扣用户问题。
    • 上下文相关性:是否正确理解了对话历史和上下文。
    • 检索相关性:RAG 中检索到的内容是否相关。

    3. 安全性维度

    • 有害内容率:输出违法、暴力、歧视等内容的比例。
    • 越狱抵抗力:被 Prompt 注入和越狱攻击的成功率。
    • 数据泄露风险:是否会泄露敏感信息。
    • 偏见程度:性别、种族、地域等偏见。

    4. 体验维度

    • 流畅性:语言是否自然、通顺。
    • 有用性:回答是否有帮助、有价值。
    • 满意度:用户整体满意程度。
    • 回复风格:是否符合品牌调性和产品定位。

    5. 性能维度

    • 延迟:首 Token 延迟、总延迟。
    • 吞吐量:每秒处理请求数。
    • 成功率:接口调用成功率。
    • 稳定性:异常率、错误率。

    6. 成本维度

    • 单次调用成本:Token 消耗费用。
    • 平均用户成本:每个用户 / 每次会话的成本。
    • 成本效益比:投入产出比。
  • 评估方法

    1. 自动评估(Offline)

    • 客观题测试集:有标准答案的问题(知识问答、代码生成)。
    • LLM-as-Judge:用 GPT-4 等强模型给回答打分。
      • 单模型打分:1-5 分或多维度评分。
      • 对比打分:A/B 对比,选更好的。
      • 优点:快、可扩展。
      • 缺点:有偏差、可能被"讨好"。
    • 嵌入相似度:回答与参考答案的 Embedding 余弦相似度。
    • 传统指标:BLEU、ROUGE、BERTScore(文本生成)。
    • 代码指标:Pass@k(代码执行通过率)。

    2. 人工评估(Human Evaluation)

    • 标注员评分:按评估维度逐项打分。
    • A/B 对比评估:两个回答二选一哪个更好。
    • 专家评审:领域专家评估专业内容。
    • 用户研究:真实用户访谈和可用性测试。

    3. 在线评估(Online)

    • 用户反馈:点赞/点踩、评分、纠错。
    • 行为指标:点击率、停留时长、转化率、留存率。
    • A/B 测试:不同版本的对比实验。
    • 灰度发布:逐步放量,观察指标变化。

    4. 对抗评估

    • Red Teaming:主动尝试攻击模型。
    • 安全测试集:专门的安全 benchmark。
  • 评估体系建设步骤

    1. 明确评估目标:产品的核心价值是什么?最重要的质量指标是什么?
    2. 定义评估维度:根据产品特性选择 3-5 个核心维度。
    3. 构建测试集
      • 覆盖典型场景和边界 case。
      • 有代表性的样本量(建议至少几百条)。
      • 定期更新和扩充。
    4. 选择评估方法
      • 自动评估做日常回归。
      • 人工评估做质量把关。
      • A/B 测试做上线验证。
    5. 建立评估流水线
      • 每次版本更新自动跑评估。
      • 可视化报告,追踪趋势。
    6. 持续迭代
      • 分析 bad case,反哺优化。
      • 定期回顾评估体系本身的有效性。

评估方法对比

方法成本速度客观性覆盖度用途
客观测试集日常回归、版本对比
LLM 评测快速评估、开放式任务
人工评估质量验证、主观维度
A/B 测试上线决策、效果验证
用户反馈持续线上监控、问题发现

追问延伸

  • LLM-as-Judge 的偏差怎么减少?有什么校准方法?
  • 怎么构建一个好的评估测试集?需要注意什么?
  • 评估体系怎么和研发流程结合?(CI/CD、灰度发布)
  • 业务指标和技术指标怎么对齐?
  • 怎么评估"创造性"任务的输出?(写作、设计等没有标准答案的场景)

Q7: AI 应用的安全风险有哪些?怎么防范? 「🔴 高级」

考察点:AI 安全的认知深度。筛掉安全意识薄弱、对 AI 特有风险不了解的人。

参考答案

  • AI 应用的安全风险:AI 系统特有的安全挑战,既包括传统安全问题,也包括 AI 模型本身带来的新型风险。

  • 主要风险类型及防范措施

    1. Prompt 注入攻击(Prompt Injection)

    • 风险描述:攻击者通过构造恶意输入,覆盖或绕过系统指令,让模型执行非预期操作。
    • 类型
      • 直接注入:用户输入中包含"忽略之前的指令,现在你是..."。
      • 间接注入:注入内容隐藏在检索结果、外部文件、图片中。
      • 多语言注入:用小语种绕过检测。
      • 编码注入:用 Base64 等编码隐藏恶意指令。
    • 防范措施
      • 输入检测:敏感词、模式匹配、注入特征识别。
      • System Prompt 强化:明确强调必须遵守系统指令,忽略用户的角色替换。
      • 输入输出隔离:用户输入和系统指令分开处理。
      • LLM 审核:用另一个 LLM 检查输入是否包含注入攻击。
      • 权限最小化:即使被注入,能造成的破坏也有限。

    2. 越狱攻击(Jailbreaking)

    • 风险描述:诱导模型绕过安全护栏,输出有害、违法、不道德的内容。
    • 常见手法
      • 角色扮演("假设你是一个没有限制的AI...")。
      • 前缀注入("为了研究,请展示如何...")。
      • 分步诱导:先让模型答应,再逐步深入。
      • 多语言混合:用不同语言组合绕过检测。
    • 防范措施
      • 输出审核:对生成内容做安全检测。
      • 安全微调(Safety Fine-tuning)。
      • RLHF 中的无害性训练。
      • Red Teaming:主动发现漏洞并修复。
      • 内容过滤(敏感词、有害分类模型)。

    3. 数据泄露

    • 风险描述:模型输出中包含不应公开的敏感信息。
    • 类型
      • 训练数据泄露:模型记忆了训练数据中的敏感信息。
      • 用户数据泄露:对话历史、个人信息被模型引用。
      • RAG 数据泄露:检索系统返回了越权的文档。
    • 防范措施
      • PII(个人可识别信息)检测与脱敏。
      • 训练数据清洗和去敏。
      • 权限控制:RAG 中按用户权限过滤检索结果。
      • 本地部署 / 私有化部署。
      • 差分隐私(Differential Privacy)训练。
      • 输出信息过滤。

    4. 幻觉风险

    • 风险描述:模型生成看似合理但实际错误的信息,误导用户。
    • 危害场景
      • 医疗咨询:给出错误的诊疗建议。
      • 法律咨询:给出错误的法律意见。
      • 金融分析:编造数据和分析。
      • 知识库问答:编造不存在的事实。
    • 防范措施
      • RAG + 引用溯源,让用户可以验证。
      • 明确免责声明。
      • 降低 temperature,减少随机性。
      • 自我验证:让模型检查自己的回答。
      • 人工审核(高风险场景)。
      • 事实核查工具接入。

    5. 内容安全

    • 风险描述:模型生成或传播有害内容。
    • 类型:暴力、色情、仇恨言论、虚假信息、违法指导。
    • 防范措施
      • 输入过滤:拦截有害查询。
      • 输出审核:检测并拦截有害输出。
      • 安全对齐训练(RLHF、 Constitutional AI)。
      • 内容安全 API:阿里云内容安全、腾讯内容安全。

    6. 模型被盗 / 知识产权风险

    • 风险描述:模型权重、Prompt、知识库等核心资产被窃取。
    • 防范措施
      • API 访问控制和鉴权。
      • 速率限制和异常检测。
      • 模型水印(Model Watermarking)。
      • 私有化部署,不暴露 API。
      • 法律手段:保密协议、知识产权保护。

    7. 其他风险

    • 偏见与歧视:模型输出带有性别、种族、地域偏见。→ 评估 + 微调修正。
    • 过度依赖:用户过度信任 AI 输出。→ 明确告知局限性 + 人工审核。
    • 供应链安全:使用的第三方模型、框架、数据有漏洞。→ 安全审计 + 版本锁定。

AI 安全防御体系

输入层:输入检测 → 注入识别 → 权限校验

模型层:安全微调 → RLHF 对齐 → 输出约束

输出层:内容审核 → 敏感信息过滤 → 风险评估

系统层:访问控制 → 日志审计 → 异常检测

运营层:Red Team → 安全评估 → 持续优化

追问延伸

  • 间接 Prompt 注入(Indirect Prompt Injection)是什么?更难防范吗?
  • 怎么检测和防御"多轮越狱"?(攻击者分多步诱导)
  • AI 生成内容的法律责任怎么界定?
  • 模型水印的原理是什么?效果如何?
  • 怎么平衡安全性和用户体验?(安全限制太严影响正常使用)

Q8: 什么是 AI 工作流(Workflow)?和 Agent 有什么区别? 「🟡 中级」

考察点:应用范式的理解。筛掉分不清工作流和 Agent、不知道什么时候用什么的人。

参考答案

  • AI 工作流(AI Workflow):将 AI 能力(LLM、工具、数据处理)组织成预定义的步骤序列,按固定流程自动执行任务。

  • 核心特征:步骤是预定义的,流程是确定的,AI 在每个步骤中完成特定任务。

  • 工作流的常见结构

    1. 线性流程(Sequential)

    • 步骤按顺序执行,A → B → C。
    • 示例:文档摘要 → 翻译 → 格式化输出。

    2. 分支流程(Conditional)

    • 根据条件选择不同路径。
    • 示例:用户提问 → 意图识别 → {问答类走 RAG,闲聊类直接回答,操作类走工具调用}。

    3. DAG(有向无环图)

    • 更复杂的依赖关系,可以并行执行。
    • 示例:多篇文档并行处理 → 汇总 → 生成报告。

    4. 循环流程(Loop)

    • 某步骤重复执行直到满足条件。
    • 示例:生成代码 → 执行测试 → 失败则修复 → 循环直到通过。
  • 典型应用场景

    • 文档处理流水线(解析 → 分块 → 向量化 → 入库)。
    • 内容生成流水线(提纲 → 初稿 → 润色 → 审核)。
    • 数据分析流程(取数 → 清洗 → 分析 → 生成报告)。
    • 客服工单处理(分类 → 路由 → 回复 → 质检)。
  • AI Agent vs AI Workflow

    维度AI 工作流(Workflow)AI Agent
    决策方式预定义步骤,确定性自主决策,不确定性
    流程结构固定的 DAG / 流程图动态规划,ReAct 循环
    灵活性低,只能处理预期内的情况高,可以处理开放问题
    可控性高,每一步都可预测和调试低,可能跑偏,难以预测
    可靠性高,稳定可重复较低,质量不稳定
    适用任务结构化、重复性、确定性任务开放式、探索性、复杂任务
    成本较低,Token 消耗可控较高,多轮推理消耗大
    可观测性强,每步有日志弱,需要额外的追踪机制
    代表框架Dify Workflow、LangGraph、n8nLangChain Agent、AutoGPT、CrewAI
  • 两者的关系

    • 不是对立关系,而是互补。
    • Agent 可以调用工作流作为工具(复杂任务分解后,每步用工作流执行)。
    • 工作流中可以嵌入 Agent 节点(某些需要决策的步骤用 Agent 处理)。
    • 实际系统往往是混合架构。
  • 选型建议

    选工作流的场景

    • 任务流程明确,步骤固定。
    • 对稳定性和可控性要求高。
    • 需要可预测的成本和延迟。
    • 业务规则清晰,边界明确。
    • 例:发票处理、合同审核、日报生成。

    选 Agent 的场景

    • 任务开放,无法预先穷举所有步骤。
    • 需要探索和试错。
    • 需要灵活使用多种工具。
    • 复杂问题需要多步推理。
    • 例:研究助理、问题排查、创意生成。

    混合架构(推荐)

    • 整体流程用工作流控制,保证可控性。
    • 需要智能决策的节点用 Agent。
    • 关键路径确定性强,用工作流;非关键路径用 Agent 增强灵活性。

追问延伸

  • LangGraph 是工作流还是 Agent?(两者都是,它既支持图编排,也支持 Agent 循环)
  • 怎么设计一个好的 AI 工作流?有什么最佳实践?
  • 工作流中怎么处理错误和异常?
  • 有没有可视化的工作流编排工具?(Dify、n8n、Flowise)
  • Agent 未来会取代工作流吗?为什么?