Appearance
AI 面试题
LLM 应用开发模块:从 Function Calling、Prompt 工程到 Agent 框架、多模态、安全评估,覆盖大语言模型应用开发的核心技能和实战经验。这是 AI 工程师最常接触的工作内容。
Q1: 什么是 Function Calling?有什么应用场景? 「🟡 中级」
考察点:工具调用能力的理解。筛掉不知道 LLM 可以调用外部工具、只会做纯文本生成的人。
参考答案:
Function Calling(函数调用 / 工具调用):大模型根据用户意图,自动选择并调用外部函数/工具,获取结果后再生成最终回答的能力。
核心价值:让 LLM 从"纯文本生成"变成"能行动的智能体",突破模型自身的知识和能力边界。
基本原理:
- 开发者预定义一组工具(函数名称、参数描述、功能说明)。
- 用户提问后,LLM 判断是否需要调用工具,以及调用哪个工具、传什么参数。
- 系统执行函数调用,获取返回结果。
- 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。
最佳实践:
- 工具描述清晰:函数名和参数描述要准确,LLM 才能正确调用。
- 错误处理:工具调用失败时,把错误信息返回给 LLM,让它重试或换方案。
- 参数校验:在执行函数前校验参数合法性,防止非法调用。
- 权限控制:敏感操作(删除、支付)需要人工确认。
- 并行调用:支持同时调用多个独立工具,提高效率。
与 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 优化的一般流程:
- 明确目标和评估标准。
- 写初版 Prompt,测试效果。
- 分析 bad case,针对性优化。
- 迭代测试,对比效果。
- 沉淀为模板,版本管理。
追问延伸:
- 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 / Dify RAG 能力强,开箱即用 复杂 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。
评估体系建设步骤:
- 明确评估目标:产品的核心价值是什么?最重要的质量指标是什么?
- 定义评估维度:根据产品特性选择 3-5 个核心维度。
- 构建测试集:
- 覆盖典型场景和边界 case。
- 有代表性的样本量(建议至少几百条)。
- 定期更新和扩充。
- 选择评估方法:
- 自动评估做日常回归。
- 人工评估做质量把关。
- A/B 测试做上线验证。
- 建立评估流水线:
- 每次版本更新自动跑评估。
- 可视化报告,追踪趋势。
- 持续迭代:
- 分析 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、n8n LangChain Agent、AutoGPT、CrewAI 两者的关系:
- 不是对立关系,而是互补。
- Agent 可以调用工作流作为工具(复杂任务分解后,每步用工作流执行)。
- 工作流中可以嵌入 Agent 节点(某些需要决策的步骤用 Agent 处理)。
- 实际系统往往是混合架构。
选型建议:
选工作流的场景:
- 任务流程明确,步骤固定。
- 对稳定性和可控性要求高。
- 需要可预测的成本和延迟。
- 业务规则清晰,边界明确。
- 例:发票处理、合同审核、日报生成。
选 Agent 的场景:
- 任务开放,无法预先穷举所有步骤。
- 需要探索和试错。
- 需要灵活使用多种工具。
- 复杂问题需要多步推理。
- 例:研究助理、问题排查、创意生成。
混合架构(推荐):
- 整体流程用工作流控制,保证可控性。
- 需要智能决策的节点用 Agent。
- 关键路径确定性强,用工作流;非关键路径用 Agent 增强灵活性。
追问延伸:
- LangGraph 是工作流还是 Agent?(两者都是,它既支持图编排,也支持 Agent 循环)
- 怎么设计一个好的 AI 工作流?有什么最佳实践?
- 工作流中怎么处理错误和异常?
- 有没有可视化的工作流编排工具?(Dify、n8n、Flowise)
- Agent 未来会取代工作流吗?为什么?