第 6 节 / 共 7 节
Coze 项目案例:AI 面试助手
Day06 Coze 完整笔记
Day06 Coze 项目案例:AI 面试助手完整笔记
今日目标
- 能说清楚 AI 面试助手项目的业务背景、核心痛点和一期 MVP 范围。
- 能区分单智能体、多智能体、路由智能体和工作智能体。
- 能理解循环结构适合处理“数量不固定的一组数据”,例如多个项目经历。
- 能画出 AI 面试助手的整体业务流程:用户提交材料、路由识别需求、业务模块处理、数据和知识库支撑、输出结果。
- 能说清楚简历评估模块的完整链路:数据准备、内容分块、并行评估、项目循环评估、结果整合。
- 能理解违禁词数据库、简历模板知识库、当前日期、文档识别插件在项目中的作用。
- 能理解项目收益和优化方向,不把项目只讲成“拖节点”,而是能讲成“为就业辅导提效的 AI 工具”。
一、今天学习的主线
前几天我们已经学过 Coze 的基础能力:智能体、工作流、知识库、数据库、多模态、循环结构等。今天开始进入项目案例:AI 面试助手。
项目课和功能课不一样。功能课重点是“这个节点怎么用”,项目课重点是“这些能力怎么组合起来解决一个真实问题”。
今天的核心不是把 AI 面试助手所有模块都完整做完,而是先把项目整体理解清楚,再重点体验简历修改模块。
可以把今天的学习路线理解成:
- 为什么要做 AI 面试助手。
- 这个项目准备解决哪些就业辅导问题。
- 为什么一期先做简历修改、面试录音分析、面试题生成和批量处理。
- 为什么当前阶段选 Coze,而不是一开始就用 LangGraph。
- 简历评估模块如何从一份简历文件,变成一份可读的修改报告。
二、项目背景:为什么要做 AI 面试助手
AI 面试助手来源于一个真实的就业辅导痛点。
学生学习完课程后,需要准备简历、面试题、自我介绍和模拟面试。老师也需要批改简历、听面试录音、总结问题、给学生生成练习方向。随着学生数量增加,人工处理会出现明显效率瓶颈。
这个项目主要解决四类问题:
- 简历修改问题:学生初版简历质量参差不齐,常见问题包括项目名称雷同、技能和项目不匹配、工作经历和项目经历混写、学历信息位置不合适、表达空泛等。
- 面试录音分析问题:老师听完整段录音成本高,而文字转写后可以更快分析学生的自我介绍、问答表现和薄弱点。
- 面试题生成问题:面试宝典内容多,学生容易抓不住重点,需要根据简历、岗位和真实面试题生成更个性化的练习题。
- 批量处理问题:老师面对多份简历和多段录音时,需要批量初筛,把低级错误先筛出来,把人工精力留给更高级的问题。
项目的价值不是“让 AI 代替老师”,而是让 AI 先做可标准化、重复性强、初筛类的工作,老师再集中处理需要经验判断的部分。
三、MVP:先做能验证价值的小版本
MVP 是 Minimum Viable Product,意思是最小可行产品。
公司做项目时,不会一开始就把所有想法都做完,因为时间、人力、预算都有限。更常见的做法是先做一个小版本,验证方向是否可行。
本项目的一期范围主要包括:
- 简历修改模块。
- 面试录音分析模块。
- 面试题生成模块。
- 批处理模块。
其中,Day06 白天重点体验的是简历修改模块,因为它输入清晰、输出明确、业务价值容易感知,也最适合让学生第一次理解项目化工作流。
四、单智能体、多智能体和路由思想
1. 单智能体的问题
单智能体可以理解成一个“大而全的人”。它既要判断用户意图,又要查资料,又要改简历,又要分析录音,还要生成面试题。
当业务简单时,单智能体可以解决问题。但当业务变复杂时,单智能体会有几个问题:
- 提示词会越来越长,维护困难。
- 一个功能修改可能影响其他功能。
- 所有能力都堆在一起,定位问题困难。
- 对复杂任务的处理稳定性较差。
2. 多智能体的思想
多智能体可以理解成一个团队。
团队里有一个路由智能体,负责判断用户想做什么;还有多个工作智能体,分别负责具体任务。
在 AI 面试助手里,可以有:
- 简历评估 Agent。
- 面试录音分析 Agent。
- 面试题生成 Agent。
- 批量处理任务。
路由智能体像前台或调度员。它先判断用户需求,再把任务分给合适的业务 Agent。
3. Coze 和 LangGraph 的关系
Coze 适合快速验证业务流程,拖拽式搭建,上手快,适合课程阶段体验项目思路。
Dify 或 Coze 本地版更适合数据安全要求更高、需要本地部署的场景。
LangChain / LangGraph 更适合复杂生产级项目,扩展性强,但学习成本和开发成本更高。
本项目当前选择 Coze,是因为目标是快速做出可体验的 MVP。将来如果项目规模变大、业务复杂度增加、需要更强的并发和可控性,可以考虑用 LangGraph 重构。
五、AI 面试助手整体业务流程
AI 面试助手的整体流程可以分成五步:
- 用户提交材料:学生上传简历或录音,老师也可以批量提交多份材料。
- 面试助手识别需求:判断用户是要做简历评估、录音分析、面试题生成,还是批量处理。
- 业务 Agent 执行处理:不同模块进入不同的处理流程。
- 数据和知识库支撑:违禁词库、简历模板库、真实面试题库、面试宝典、联网搜索等为结果提供依据。
- 输出结果:生成简历评估报告、录音分析报告、专属面试题或批量处理报告。
注意:项目中的数据和知识库非常关键。没有数据支撑,智能体只能泛泛而谈;有了规则库、知识库和数据库,智能体才能更像一个业务系统。
六、AI 面试助手架构图怎么理解
架构图不要照着名词硬背,建议从下往上看。
可以把 AI 面试助手类比成现代物流供应链:
- 数据与知识层像底层大仓库。违禁词库、简历模板库、面试题库、学生简历和录音都在这里。
- AI 能力支撑层像自动化设备中心。OCR 负责识别文档,ASR 负责识别语音,RAG 负责检索资料,Reranker 负责重排,大模型负责理解和生成。
- 业务应用层像加工流水线。简历评估、录音分析、面试题生成、批量处理都是不同流水线。
- 用户入口层像门店和下单入口。学生可能从 Coze、豆包、小程序、公众号或内部系统进入。
这套架构不只适用于 AI 面试助手,也适用于很多 AI 项目。
更普遍的 AI 项目可以拆成六层:
- 用户入口层:网页、App、小程序、API、企业微信等。
- 业务编排层:工作流、Agent、路由、多智能体、LangGraph 状态图等。
- 模型与工具层:LLM、OCR、ASR、TTS、搜索、数据库工具等。
- 检索与记忆层:知识库、向量库、RAG、Reranker、会话记忆等。
- 业务数据层:数据库、文件、用户数据、日志、权限数据等。
- 治理与运维层:权限、安全、审计、监控、评测、成本控制、人工兜底等。
课堂项目主要让大家先看懂前五层。真实企业项目还会非常重视第六层,因为系统上线后不仅要能跑,还要安全、稳定、可控。
七、简历评估模块总体流程
简历评估模块的输入是一份简历文件,输出是一份 Markdown 格式的简历评估报告。
完整流程如下:
- 数据准备:准备简历文件、违禁词库、当前日期。
- 文本处理:通过文档识别或链接读取,把简历文件转成文字。
- 内容分块:把完整简历拆成个人信息、技能、学历、工作经历、项目经历、个人评价等部分。
- 多维度评估:分别评估各模块内容。
- 项目经历深度分析:项目可能有多个,所以要用循环逐个处理。
- 结果整合:把所有模块的评估结果汇总成完整报告。
这个流程体现了一个重要思想:分治。
不要让一个大模型一次性评估整份简历。更稳的做法是先拆开,再分别评估,最后整合。
八、数据准备:为什么要先搭资源
简历评估模块需要先准备两个资源:
- 违禁词数据库。
- 简历模板知识库。
1. 违禁词数据库
违禁词数据库用于存放不建议直接出现在简历中的词,比如课程项目原名、容易导致雷同的项目名、风险表达等。
使用数据库的原因:
- 方便增删改查。
- 不需要每次修改提示词。
- 可以被多条工作流复用。
- 后续可以通过 API 接入内部系统。
2. 简历模板知识库
简历模板知识库用于做查重和参考。项目经历容易雷同,所以需要把用户简历里的项目内容和模板库做对比。
知识库适合存放文档类资料,比如优秀简历模板、项目描述参考、写法规范。
数据库适合存放结构化数据,比如违禁词列表。
九、数据准备节点
简历评估工作流一开始会准备三类信息:
- 查询违禁词数据:从数据库里取出所有违禁词。
- 简历文字提取:从用户上传的 PDF、DOC 或图片简历中提取文字。
- 获取当前日期:用于判断毕业时间、工作年限、项目时间是否合理。
这里要注意,当前日期看起来很小,但在简历评估里很重要。
比如学生 2023 年毕业,当前是 2026 年,那么工作年限一般不能写成 6 年。时间类信息必须结合当前日期判断。
十、内容分块:把非结构化简历变成结构化字段
简历本身是一段非结构化文本。大模型虽然能读,但如果整段直接评估,很容易混乱。
内容分块节点要把简历拆成结构化字段:
name:姓名。base_info:个人基本信息。skill:个人技能。education:教育经历。work_exp:工作经历。project_exp:项目经历,通常要设置为数组。self:个人评价或个人爱好。context:简历整体总结,供后续节点参考。
项目经历要设置为数组,因为一份简历可能有多个项目。后面要用循环逐个评估。
内容分块的质量非常重要。如果前面分错了,后面评估就会全错。
十一、并行评估:为什么不是一个节点从头评到尾
简历评估可以拆成多个模块:
- 个人信息评估。
- 技能评估。
- 学历评估。
- 工作经历评估。
- 项目经历评估。
- 个人评价评估。
除了项目经历,其他模块可以并行执行。
并行的好处:
- 节省时间。
- 每个节点提示词更短、更专注。
- 每个模块问题更容易定位。
- 降低长上下文带来的理解衰减。
串行像排队,一个做完再做下一个。
并行像多车道,同时处理多个独立任务。
十二、各模块评估重点
1. 个人信息评估
重点检查:
- 求职意向是否明确。
- 是否出现不建议写的期望薪资。
- 联系方式是否规范。
- 工作年限和毕业时间是否合理。
- 个人信息是否影响筛选。
正确做法:信息简洁、岗位明确、时间合理、无敏感或被动表达。
错误做法:求职意向写多个方向,期望薪资写死,工作年限明显夸大。
2. 技能评估
重点检查:
- 技能是否和项目经历对应。
- 项目中出现的技术是否在技能中体现。
- 技能中写“熟练”“掌握”的内容,是否能在项目里找到支撑。
- 技能顺序是否符合岗位要求。
正确做法:技能点与项目互相支撑。
错误做法:技能堆满但项目完全没体现。
3. 学历评估
重点检查:
- 学历、学校、专业、时间是否完整。
- 学历位置是否适合。
- 是否需要避短,把更有优势的项目和工作经历放在前面。
学历不是不能写,而是要放在对自己最有利的位置。
4. 工作经历评估
重点检查:
- 工作经历和项目经历是否混写。
- 工作职责是否具体。
- 工作经历和项目内容是否冲突。
- 时间线是否合理。
正确做法:工作经历写岗位职责、业务范围、参与内容。
错误做法:把项目细节全部塞进工作经历,导致结构混乱。
5. 项目经历评估
项目经历是简历中最重要、也最容易出问题的部分。
重点检查:
- 项目数量是否合理。
- 项目结构是否完整:背景、技术栈、个人职责、成果。
- 项目背景是否真实可信。
- 技术点是否合理。
- 成果数据是否能解释。
- 是否出现违禁词。
- 是否与模板库高度雷同。
- 是否和上下文内容冲突。
项目经历不仅要“看起来高级”,更要能经得起面试追问。
6. 个人评价评估
个人评价是可选内容。如果没有,可以不写。
如果写,就要避免空泛表达,比如“本人认真负责、吃苦耐劳、学习能力强”。这些话不是不能写,而是要有事实支撑。
正确做法:用具体经历证明软素质。
错误做法:堆形容词,没有证据。
十三、项目经历为什么要用循环
项目经历和其他模块不同,因为项目数量不固定。
有人写 1 个项目,有人写 3 个项目,有人工作多年可能写 5 个项目。
如果不用循环,就很难逐个稳定评估。
循环的逻辑是:
- 输入项目数组。
- 每次取出一个项目。
- 对这个项目做内容评估。
- 对这个项目做查重评估。
- 整合这个项目的评估结果。
- 所有项目处理完后,输出项目评估列表。
循环适合处理列表数据,也就是“数量不固定、但处理规则相同”的任务。
十四、项目重复度评估
项目重复度评估通常包含三个动作:
- Query 优化:把当前项目内容整理成更适合检索的查询文本。
- 知识库检索:去简历模板库中找相似项目描述。
- 重复度评估:把当前项目和检索结果对比,判断哪些部分雷同。
不能直接把整个项目原文拿去检索,因为原文可能又长又乱。先让大模型整理成更清楚的查询内容,检索效果会更好。
重复度评估不是为了让学生“完全不能参考模板”,而是提醒学生不要直接照搬,要把项目改成自己的经历、职责和成果。
十五、结果整合
前面每个评估节点都会输出自己的结论,但学生最终需要看的不是一堆散乱结果,而是一份完整报告。
结果整合节点要做的事:
- 接收个人信息、技能、学历、工作经历、项目经历、个人评价等评估结果。
- 去掉重复内容。
- 按清晰结构组织。
- 不杜撰不存在的问题。
- 输出一份 Markdown 格式的简历评估报告。
这一步是“最后一公里”。没有结果整合,工作流只能算半成品。
十六、项目收益和优化方向
项目收益要围绕业务目标衡量。
AI 面试助手的业务目标是提升就业辅导效率,所以收益可以看:
- 学生自查简历的效率是否提升。
- 老师批改简历的时间是否减少。
- 低级错误是否能提前被筛出。
- 学生是否能获得更具体的修改建议。
注意:技术指标和业务收益不是一回事。
模型准确率、检索效果、OCR 识别质量属于技术指标;节省老师时间、提高简历初筛效率、提升学生修改质量才是业务收益。
后续可优化方向:
- 替换效果更好的模型。
- 替换更强的 OCR 或文档识别能力。
- 增加学生历史简历查重。
- 记录调用信息,帮助老师分析学生简历共性问题。
- 将 Coze 流程迁移到 LangGraph,实现更强可控性。
十七、简历评估全节点总览
简历评估模块可以拆成 N0 到 N12,其中 N9 项目经历循环内部又包含 N9a 到 N9e。课堂上不需要死背编号,但要能理解每个节点在链路里的位置。
| 节点 | 名称 | 作用 |
|---|---|---|
| N0 | 开始节点 | 接收用户上传的简历文件 |
| N1 | 简历文字提取 | 把 PDF/DOC 简历提取成文本 |
| N2 | 违禁词查询 | 从数据库取出违禁词列表 |
| N3 | 获取当前日期 | 为工作年限、毕业时间、项目周期判断提供时间基准 |
| N4 | 简历内容分块 | 把简历全文拆成结构化字段 |
| N5 | 个人信息评估 | 检查求职意向、联系方式、薪资、年限等 |
| N6 | 技能评估 | 检查技能和项目是否互相支撑 |
| N7 | 学历信息评估 | 检查学历完整性、位置和学校信息 |
| N8 | 工作经历评估 | 检查工作职责、时间线和项目是否混写 |
| N9 | 项目经历循环 | 遍历项目数组,逐个项目评估 |
| N9a | 项目经历评估 | 检查单个项目的结构、技术、职责、成果、违禁词 |
| N9b | 项目 Query 优化 | 把项目内容整理成更适合检索的查询文本 |
| N9c | 简历模板库检索 | 从知识库召回相似项目模板 |
| N9d | 简历重复度评估 | 判断项目与模板库是否高度雷同 |
| N9e | 单项目结果整合 | 合并单个项目的规则评估和查重结果 |
| N10 | 个人评价评估 | 检查个人评价是否空泛、是否有事实支撑 |
| N11 | 评估结果整合 | 汇总所有模块结果,生成完整报告 |
| N12 | 结束节点 | 输出 Markdown 简历评估报告 |
模型选型也要有依据:
- 内容分块用大上下文模型,因为简历可能很长。
- 技能、工作经历、项目评估、结果整合用深度思考模型,因为规则多、推理重。
- 学历评估可以配合搜索能力,减少学校信息判断中的幻觉。
十八、今日易错点
易错点 1:把知识库和数据库混用
错误:把违禁词做成知识库,或者把简历模板做成数据库。
正确:违禁词是结构化列表,适合数据库;简历模板是文档内容,适合知识库。
易错点 2:把整份简历直接交给一个大模型评估
错误:一个节点从头到尾评估所有内容。
正确:先分块,再分别评估,最后整合。
易错点 3:项目经历不用循环
错误:假设每个人只有一个项目,用一个固定节点处理。
正确:项目经历数量不固定,要用循环逐个处理。
易错点 4:结果整合节点杜撰问题
错误:整合时为了“看起来完整”生成不存在的问题。
正确:只基于前面评估结果整合,没依据就不要写。
易错点 5:只会拖节点,不会解释业务价值
错误:项目讲成“我用了几个节点”。
正确:项目要讲清楚解决了什么痛点、为什么这么设计、产生了什么收益、还有哪些优化方向。
项目流程拆解清单
Day06 Coze 项目流程拆解清单
一、整体项目链路
AI 面试助手不是一个单节点功能,而是一条业务链。
| 阶段 | 做什么 | 为什么需要 |
|---|---|---|
| 用户提交材料 | 用户上传简历或录音,也可以由系统管理员批量提交材料 | 明确系统要处理的原始输入 |
| 路由识别需求 | 判断是简历评估、录音分析、面试题生成还是批量处理 | 避免一个智能体承担所有任务 |
| 业务模块执行 | 对应 Agent 执行具体任务 | 让每个模块职责清楚 |
| 数据和知识支撑 | 使用数据库、知识库、ASR、RAG、联网搜索等能力 | 让结果有依据,不靠大模型硬编 |
| 输出报告 | 生成可读的评估报告、分析报告或面试题 | 用户真正需要的是结论和建议 |
二、简历评估全节点清单
简历评估模块不是一个单节点流程,而是一条由数据准备、内容分块、并行评估、项目循环、结果整合组成的完整链路。
| 节点 | 节点名称 | 输入 | 输出 | 作用 |
|---|---|---|---|---|
| N0 | 开始 | 简历文件 resume |
文件对象或 URL | 接收用户上传简历 |
| N1 | 简历文字提取 | resume |
pdf_content 或 content |
把文件变成文本 |
| N2 | 违禁词查询 | 查询条件 | outputList |
获取违禁词列表 |
| N3 | 获取当前日期 | 无 | 当前日期 date |
提供时间判断基准 |
| N4 | 简历内容分块 | 简历全文 | base_info、skill、education、work_exp、project_exp、self、context |
把非结构化文本变成结构化字段 |
| N5 | 个人信息评估 | base_info、context、date |
个人信息评估结果 | 检查求职意向、薪资、联系方式、年限 |
| N6 | 技能评估 | skill、context、project_exp |
技能评估结果 | 检查技能和项目是否互证 |
| N7 | 学历信息评估 | education、context、date |
学历评估结果 | 检查学历信息和位置 |
| N8 | 工作经历评估 | work_exp、context、date |
工作经历评估结果 | 检查职责、时间线和项目混写问题 |
| N9 | 项目经历循环 | project_exp 数组 |
项目评估结果列表 | 逐个处理多个项目 |
| N9a | 项目经历评估 | 单个项目、context、date、forbid_list |
项目规则评估结果 | 检查结构、技术、职责、成果、违禁词 |
| N9b | 项目 Query 优化 | 单个项目 | 检索 query | 提升模板库检索质量 |
| N9c | 简历模板库检索 | query | 相似模板内容 | 为查重提供参考 |
| N9d | 简历重复度评估 | 项目内容、检索结果 | 重复度评估结果 | 判断是否和模板高度雷同 |
| N9e | 单项目结果整合 | 项目评估、重复度评估 | 单项目综合结论 | 合并单个项目的两类结果 |
| N10 | 个人评价评估 | self、context |
个人评价评估结果 | 检查是否空泛、是否有事实支撑 |
| N11 | 评估结果整合 | 所有模块结果 | 完整评估报告 | 去重、润色、结构化输出 |
| N12 | 结束 | 完整报告 | Markdown 文本 | 返回最终结果 |
三、简历评估模块主流程
第 1 步:开始节点
输入:用户上传的简历文件。
输出:简历文件对象或文件 URL。
作用:作为整个简历评估流程的入口。
易错点:
- 输入类型没有设置成文件。
- 后续节点拿不到文件 URL。
- 没有确认 PDF、DOC、图片简历是否都能处理。
第 2 步:查询违禁词数据库
输入:无特殊输入,或查询条件为数据存在即可。
输出:违禁词列表。
作用:后续项目经历评估时判断是否出现课程项目原名、雷同项目名或风险词。
为什么用数据库:
- 违禁词会不断更新。
- 数据库方便增删改查。
- 多条工作流可以复用同一份数据。
易错点:
- 查询字段选多了,导致后续引用复杂。
- 没有拿到真正需要的输出列表。
- 把违禁词写死在提示词里,后续维护困难。
第 3 步:简历文字提取
输入:开始节点传入的简历文件 URL。
输出:简历全文文本。
作用:把 PDF、Word 或图片简历转换成大模型可以处理的文字。
易错点:
- 文件类型和插件要求不匹配。
- OCR 对表格、排版复杂简历识别不准确。
- 没有检查提取结果,后续评估全基于错误文本。
第 4 步:获取当前日期
输入:不需要输入。
输出:当前日期时间。
作用:辅助判断毕业时间、工作年限、项目周期是否合理。
易错点:
- 认为当前日期不重要。
- 工作年限判断时只看简历文字,不结合当前时间。
第 5 步:内容分块
输入:简历全文。
输出:结构化字段。
建议字段:
| 字段名 | 内容 |
|---|---|
name |
姓名 |
base_info |
基本信息 |
skill |
个人技能 |
education |
教育经历 |
work_exp |
工作经历 |
project_exp |
项目经历数组 |
self |
个人评价 |
context |
简历整体总结 |
作用:把一整份简历拆成后续节点可独立处理的小块。
易错点:
project_exp没有设置成数组。- 字段名前后不统一,导致后续节点引用失败。
- 分块提示词太模糊,模型把工作经历和项目经历混在一起。
第 6 步:个人信息评估
输入:base_info、context、当前日期。
输出:个人信息评估结果。
检查重点:
- 求职意向是否明确。
- 是否写死期望薪资。
- 联系方式是否规范。
- 工作年限是否合理。
易错点:
- 只评价格式,不评价求职意向。
- 忽略时间线。
第 7 步:技能评估
输入:skill、project_exp、context。
输出:技能评估结果。
检查重点:
- 技能是否和项目经历对应。
- 项目中出现的关键技术是否在技能中体现。
- “熟练”“掌握”的技术是否有项目支撑。
易错点:
- 只看技能写得多不多,不看是否能证明。
- 技能和项目脱节。
第 8 步:学历评估
输入:education、context、当前日期。
输出:学历评估结果。
检查重点:
- 学校、专业、学历、时间是否完整。
- 学历位置是否适合。
- 是否需要避短,把项目和工作经历放在更靠前位置。
易错点:
- 不结合整体简历判断位置。
- 把学历问题说得过重,忽略求职方向。
第 9 步:工作经历评估
输入:work_exp、context、当前日期。
输出:工作经历评估结果。
检查重点:
- 工作职责是否清楚。
- 工作经历和项目经历是否混写。
- 时间线是否合理。
- 是否与项目内容冲突。
易错点:
- 工作经历写成项目详情。
- 工作时间和项目周期对不上。
第 10 步:个人评价评估
输入:self、context。
输出:个人评价评估结果。
检查重点:
- 是否空泛。
- 是否有事实支撑。
- 是否和岗位方向相关。
易错点:
- 没有个人评价时强行输出问题。
- 只说“认真负责”,不给证据。
第 11 步:项目经历循环
输入:project_exp 数组。
输出:每个项目的评估结果列表。
循环逻辑:
- 取出第一个项目。
- 做项目经历评估。
- 做项目 Query 优化。
- 检索简历模板知识库。
- 做项目重复度评估。
- 整合当前项目结果。
- 继续处理下一个项目。
为什么需要循环:
项目数量不固定,但每个项目都要执行同样的处理规则。
易错点:
- 把多个项目混在一个节点里评估。
- 循环输出没有汇总。
- 项目查重只看项目名称,不看技术点、职责和成果表达。
第 12 步:结果整合
输入:所有模块评估结果。
输出:完整简历评估报告。
报告建议结构:
- 总体结论。
- 简历优点。
- 主要问题。
- 分模块修改建议。
- 项目经历重点风险。
- 综合评价。
易错点:
- 简单拼接各节点结果,不做去重。
- 整合节点杜撰前面没有发现的问题。
- 输出结构混乱,用户不知道应该怎么改。
四、学习顺序建议
第一轮:先看懂全流程
先看流程,不急着看提示词细节。
目标:知道从简历文件到评估报告,中间到底经过了哪些处理步骤。
第二轮:重点看内容分块
观察简历全文如何变成结构化字段。
目标:理解非结构化文本到结构化数据的转换。
第三轮:重点看项目循环
观察项目数组如何逐个进入循环体。
目标:理解循环处理不固定数量数据。
第四轮:最后看最终报告
对比单模块输出和整合报告。
目标:理解结果整合不是可有可无,而是产品体验的一部分。
简历评估全节点说明
Day06 Coze 简历评估全节点说明
一、模块定位
“简历修改模块”和“简历评估模块”指的是同一条工作流:接收学生上传的 PDF 或 DOC 简历,基于就业辅导规则、违禁词数据库、简历模板知识库和大模型评估能力,输出 Markdown 格式的简历问题清单与修改建议。
这个模块的核心设计思想是:分治、并行、循环、RAG、结果整合。
| 维度 | 说明 |
|---|---|
| 输入 | 简历文件,通常是 PDF 或 DOC |
| 输出 | 简历评估报告,包含问题、风险、修改建议 |
| 核心价值 | 先用系统自查低级错误,再把精力留给更复杂、更有价值的优化问题 |
| 设计思想 | 大任务拆小块,各模块并行评估,项目经历循环处理,最后统一整合 |
二、四大阶段
| 阶段 | 做什么 | 为什么 |
|---|---|---|
| 数据准备 | OCR 抽文字、查违禁词、取当前日期 | 为后续评估提供原始材料和时间基准 |
| 内容分块 | 用 LLM 把简历全文拆成多个结构化字段 | 避免整份简历直接评估导致上下文混乱 |
| 分模块评估 | 个人信息、技能、学历、工作经历、项目经历、自我评价分别评估 | 提示词更专注,执行更快,问题更容易定位 |
| 结果整合 | 汇总所有评估结果,生成最终报告 | 让用户看到一份结构清楚、可执行的修改建议 |
三、用到的 Coze 组件
| 组件类型 | 在本模块中的用途 | 出现次数 |
|---|---|---|
| 开始节点 | 接收 resume 文件 |
1 |
| 插件节点 | 简历文字提取、获取当前日期 | 2 |
| 数据库节点 | 查询违禁词列表 | 1 |
| LLM 节点 | 分块、各模块评估、Query 优化、重复度评估、结果整合 | 多个 |
| 知识库/RAG 节点 | 检索简历模板库,用于项目查重 | 1,位于循环体内 |
| 循环节点 | 遍历 project_exp 数组,逐个评估项目 |
1 |
| 结束节点 | 输出 Markdown 报告 | 1 |
四、模型选型策略
| 节点 | 建议模型 | 原因 |
|---|---|---|
| 简历内容分块 | 豆包 1.5 Pro 256K | 简历可能较长,需要更大上下文 |
| 个人信息、学历、个人评价 | 豆包 1.5 Pro | 规则相对明确,推理压力较小 |
| 技能、工作经历、项目评估、结果整合 | 豆包 1.6 深度思考 | 需要跨模块推理,规则更多 |
| 学历评估 | 豆包 + 头条搜索 | 需要查询学校信息,降低幻觉 |
五、外部数据资源
| 资源 | 类型 | 用途 |
|---|---|---|
| 违禁词数据 | Coze 数据库 | 动态维护不建议出现在简历中的词 |
| 简历模板库 | 知识库/RAG | 项目描述查重和相似内容比对 |
| 当前日期 | 时间插件 | 判断毕业时间、工作年限、项目周期是否合理 |
| 简历文件 | 用户上传文件 | 工作流的原始输入 |
六、完整节点清单
| 序号 | 节点名称 | 节点类型 | 所属阶段 |
|---|---|---|---|
| N0 | 开始 | 开始节点 | 入口 |
| N1 | 简历文字提取 | OCR 插件 | 数据准备 |
| N2 | 违禁词查询 | 数据库查询 | 数据准备 |
| N3 | 获取当前日期 | 现在时间插件 | 数据准备 |
| N4 | 简历内容分块 | LLM,256K 上下文 | 内容分块 |
| N5 | 个人信息评估 | LLM | 并行评估 |
| N6 | 技能评估 | LLM,深度思考 | 并行评估 |
| N7 | 学历信息评估 | LLM + 头条搜索 | 并行评估 |
| N8 | 工作经历评估 | LLM,深度思考 | 并行评估 |
| N9 | 项目经历循环 | 循环节点 | 项目评估 |
| N9a | 项目经历评估 | LLM,深度思考 | 循环体内 |
| N9b | 项目内容 Query 优化 | LLM | 循环体内 |
| N9c | 简历模板库检索 | 知识库/RAG | 循环体内 |
| N9d | 简历重复度评估 | LLM | 循环体内 |
| N9e | 单项目结果整合 | 文本整合或 LLM | 循环体内 |
| N10 | 个人评价评估 | LLM | 并行评估 |
| N11 | 评估结果整合 | LLM,深度思考 | 汇总 |
| N12 | 结束 | 结束节点 | 出口 |
七、全节点流程图
下面的流程图用来帮助大家从整体上理解节点关系:哪些节点负责准备数据,哪些节点负责分模块评估,哪些节点位于项目经历循环中,最后又如何汇总成完整报告。
flowchart LR
N0["N0 开始节点<br/>输入 resume 文件"]
subgraph S1["阶段一:数据准备"]
N1["N1 简历文字提取<br/>OCR 插件<br/>输出 pdf_content / content"]
N2["N2 违禁词查询<br/>数据库节点<br/>输出 outputList"]
N3["N3 获取当前日期<br/>现在时间插件<br/>输出 date"]
end
N4["N4 简历内容分块<br/>LLM 1.5 Pro 256K<br/>输出结构化 JSON"]
subgraph S3["阶段三:分模块并行评估"]
N5["N5 个人信息评估<br/>base_info + context + date"]
N6["N6 技能评估<br/>skill + context + project_exp"]
N7["N7 学历信息评估<br/>education + context + date"]
N8["N8 工作经历评估<br/>work_exp + context + date"]
N10["N10 个人评价评估<br/>self + context"]
end
subgraph S9["N9 项目经历循环:遍历 project_exp 数组"]
N9a["N9a 项目经历评估<br/>单个项目 + context + date + forbid_list"]
N9b["N9b 项目 Query 优化<br/>输出 query"]
N9c["N9c 简历模板库检索<br/>RAG 召回相似模板"]
N9d["N9d 简历重复度评估<br/>项目内容 vs 检索结果"]
N9e["N9e 单项目结果整合<br/>规则评估 + 查重结果"]
N9b --> N9c --> N9d --> N9e
N9a --> N9e
end
N11["N11 评估结果整合<br/>汇总六类评估结果"]
N12["N12 结束节点<br/>输出 Markdown 评估报告"]
N0 --> N1
N0 --> N2
N0 --> N3
N1 --> N4
N2 --> N4
N3 --> N4
N4 --> N5
N4 --> N6
N4 --> N7
N4 --> N8
N4 --> N9a
N4 --> N10
N5 --> N11
N6 --> N11
N7 --> N11
N8 --> N11
N9e --> N11
N10 --> N11
N11 --> N12
八、变量传递简图
flowchart TD
A["resume 文件"] --> B["N1 OCR 提取"]
A --> C["N2 查违禁词"]
A --> D["N3 获取当前日期"]
B --> E["pdf_content / content"]
C --> F["forbid_list"]
D --> G["date"]
E --> H["N4 内容分块"]
H --> I["base_info"]
H --> J["skill"]
H --> K["education"]
H --> L["work_exp"]
H --> M["project_exp 数组"]
H --> N["self"]
H --> O["context"]
I --> P["个人信息评估"]
J --> Q["技能评估"]
K --> R["学历评估"]
L --> S["工作经历评估"]
M --> T["项目循环评估"]
N --> U["个人评价评估"]
O --> P
O --> Q
O --> R
O --> S
O --> T
O --> U
F --> T
G --> P
G --> R
G --> S
G --> T
P --> V["N11 结果整合"]
Q --> V
R --> V
S --> V
T --> V
U --> V
V --> W["Markdown 简历评估报告"]
九、分阶段详细说明
阶段一:数据准备
N0 开始节点
输入:resume,文件类型,接收 PDF 或 DOC 简历。
注意:Coze 会把上传文件放到临时存储中,并返回可供插件读取的 URL。
N1 简历文字提取
输入:resume。
输出:pdf_content 或 content。
作用:把文件中的简历内容提取为文本。
注意:不同文件类型可能输出到不同字段,所以内容分块节点要同时接收两个字段,并做好兜底。
N2 违禁词查询
输入:无固定业务输入。
查询条件:uuid 不为空,等价于查询全部违禁词。
输出:outputList,也就是违禁词列表。
作用:后续项目经历评估时检查是否出现不建议直接写入简历的词。
N3 获取当前日期
输入:无。
输出:日期时间字符串,例如 2026-06-15 10:30:00。
作用:判断毕业时间、工作年限、项目周期是否合理,避免大模型只凭自身知识判断当前时间。
阶段二:N4 简历内容分块
模型建议:豆包 1.5 Pro 256K。
原因:简历可能比较长,32K 上下文可能不够稳定。
输出字段:
| 字段 | 含义 |
|---|---|
name |
姓名 |
base_info |
求职岗位、薪资、年限、手机、邮箱等 |
skill |
IT 技能 |
education |
学历、学校、专业、时间 |
work_exp |
公司、时间、角色、职责 |
project_exp |
项目经历数组,每个项目一个元素 |
self |
个人评价、个人爱好 |
context |
简历全文概括,供后续交叉校验 |
关键提醒:project_exp 必须是数组,因为后面要进入循环节点。
阶段三:分模块并行评估
并行评估的原因:
- 每个节点只负责一个模块,提示词更好维护。
- 多个模块可以同时执行,节省时间。
- 避免上下文过长导致模型理解质量下降。
N5 个人信息评估
输入:base_info、context、date。
检查重点:
- 不建议写死期望薪资。
- 求职意向要明确。
- 邮箱、电话等联系方式要规范。
- 工作年限要和毕业时间匹配。
N6 技能评估
输入:skill、context、project_exp。
检查重点:
- 技能数量不要只求多。
- 技能要和项目互相支撑。
- 项目中出现的核心技术应在技能中体现。
- “熟练”“掌握”的技术要能被项目证明。
N7 学历信息评估
输入:education、context、date。
检查重点:
- 学历、学校、专业、时间是否完整。
- 是否需要调整学历位置。
- 学校信息可结合搜索能力判断,减少幻觉。
N8 工作经历评估
输入:work_exp、context、date。
检查重点:
- 公司、时间、角色是否完整。
- 工作经历和项目经历是否混写。
- 工作内容是否和求职方向相关。
- 工作时间和项目时间是否冲突。
N10 个人评价评估
输入:self、context。
检查重点:
- 没有个人评价时可以返回空。
- 有个人评价时不要堆空话。
- 软素质要有事实支撑。
阶段三特殊部分:N9 项目经历循环
项目经历单独用循环,是因为项目数量不固定,内容较长,规则最多,而且还要做 RAG 查重。
循环体内每次处理一个项目。
N9a 项目经历评估
输入:单个项目内容、context、date、forbid_list。
检查重点:
- 项目数量是否合理。
- 项目是否包含背景、技术栈、职责、成果。
- 项目周期是否合理。
- 技术点是否和岗位方向匹配。
- 是否出现违禁词。
- 成果数据是否容易解释。
输出建议:JSON,便于循环结束后合并,比 Markdown 更省 token。
N9b 项目内容 Query 优化
输入:单个项目内容。
输出:适合检索的 query。
作用:把项目内容按背景、技术点、业务流程、个人职责、优化点、成果数据重新组织,提升知识库检索质量。
注意:只能整理已有信息,不能添加不存在的内容。
N9c 简历模板库检索
输入:N9b 输出的 query。
输出:模板库中相似的项目内容。
建议配置:
- 召回数量可以较高,例如 20 条。
- 最小匹配度可设置较高,例如 0.85。
- 开启查询改写和结果重排。
N9d 简历重复度评估
输入:当前项目内容和知识库检索结果。
作用:判断当前项目与模板库是否在技术点、业务流程、个人职责、优化点、成果数据上高度雷同。
N9e 单项目结果整合
输入:N9a 项目规则评估结果,N9d 项目重复度评估结果。
输出:当前项目的综合评估结果。
作用:把“写得好不好”和“是否雷同”合在一起,形成单个项目的最终结论。
阶段四:N11 评估结果整合
输入:
- 个人信息评估结果。
- 技能评估结果。
- 学历评估结果。
- 工作经历评估结果。
- 项目经历循环结果。
- 个人评价评估结果。
作用:
- 统一口吻。
- 去掉重复问题。
- 按 Markdown 结构输出。
- 生成完整简历评估报告。
注意:结果整合只能基于前面节点的评估结果,不要杜撰新问题。
阶段五:N12 结束节点
输出:完整 Markdown 简历评估报告。
调试建议:使用真实或模拟简历试运行,并根据输出问题反向调整内容分块和各评估节点的提示词。
十、推荐搭建顺序
- 创建违禁词数据库,导入违禁词。
- 创建简历模板知识库,导入模板资料。
- 搭建开始节点、简历文字提取节点和内容分块节点,先跑通主链路。
- 添加当前日期插件和违禁词查询节点。
- 逐个添加个人信息、技能、学历、工作经历、个人评价评估节点。
- 搭建项目经历循环体。
- 在循环体内添加项目评估、Query 优化、模板库检索、重复度评估和单项目整合。
- 添加结果整合节点和结束节点。
- 使用简历样例全链路测试。
- 根据 bad case 调整提示词和节点配置。
十一、学习抓手
学习这条工作流时,可以反复追问自己三个问题:
- 这个节点的输入是什么?
- 这个节点的输出是什么?
- 如果没有这个节点,会出现什么问题?
示例:
没有内容分块,后面评估节点就只能面对一整份简历,容易混乱。
没有循环,多个项目就不能逐个稳定评估。
没有结果整合,用户看到的是一堆散乱结论,而不是一份能照着修改的报告。
架构图讲解与通用 AI 项目架构
Day06 Coze 架构图讲解与通用 AI 项目架构
一、为什么要讲架构图
第一次看到架构图时,最容易被一堆专业名词吓住:用户入口层、业务应用层、AI 能力支撑层、数据与知识层、RAG、ASR、Reranker、数据库读写等。
讲架构图时不要照着图念名词。更好的方式是从下往上讲:
- 系统有什么数据。
- 系统有哪些能力。
- 业务流程怎么把数据和能力串起来。
- 用户从哪里进入系统。
- 最终结果如何返回给用户。
这套思路不只适用于 AI 面试助手,也适用于大部分 AI 应用项目。
二、物流供应链类比
可以把 AI 项目类比成现代物流供应链。
数据和知识层像底层大仓库。
AI 能力支撑层像仓库里的自动化设备。
业务应用层像加工流水线。
用户入口层像快递驿站、门店和下单入口。
用户提交需求,就像客户下单。系统接收材料,调用工具处理,查仓库里的资料,经过流水线加工,最后把结果交付给用户。
三、AI 面试助手四层架构
第一层:数据与知识层
这一层是系统的底层仓库。
在 AI 面试助手中包括:
- 违禁词数据库。
- 简历模板知识库。
- 真实面试题数据库。
- 面试宝典知识库。
- 学生简历与录音文件。
这一层解决的是:系统依据什么资料做判断。
没有这一层,智能体只能泛泛回答,容易编造或给出没有依据的建议。
第二层:AI 能力支撑层
这一层是自动化设备中心。
在 AI 面试助手中包括:
- 文档识别 OCR:把简历文件转成文本。
- 语音识别 ASR:把面试录音转成文字。
- 知识库检索 RAG:从资料中找相关内容。
- Reranker:把召回内容重新排序。
- 数据库读写:查询违禁词、记录处理结果。
- 联网搜索:补充外部信息。
- 大模型推理:理解、判断、生成报告。
这一层解决的是:系统靠什么能力完成处理。
大模型不是万能机器,它需要 OCR、ASR、RAG、数据库等工具配合。
第三层:业务应用层
这一层是核心加工流水线。
在 AI 面试助手中包括:
- 简历评估模块。
- 面试录音分析模块。
- 面试题生成模块。
- 批量处理模块。
这一层解决的是:用户具体要做什么业务。
技术组件本身不等于业务。只有把数据、工具和大模型按业务流程串起来,才形成真正的 AI 应用。
第四层:用户入口层
这一层是用户接触系统的地方。
在 AI 面试助手中可能包括:
- Coze 应用。
- 豆包入口。
- API。
- ChatAPI。
- 微信小程序。
- 微信公众号。
- 内部教学系统。
这一层解决的是:用户从哪里使用系统。
用户不关心底层有多少节点,只关心上传简历以后能否得到清晰、有用的评估报告。
四、更普遍的 AI 项目六层架构
AI 面试助手的四层架构可以继续泛化成更普遍的 AI 项目架构。很多真实 AI 项目都可以按下面六层理解。
flowchart TD
A["用户入口层<br/>网页 / 小程序 / App / API / 企业微信"] --> B["业务编排层<br/>工作流 / Agent / 路由 / 多智能体"]
B --> C["模型与工具层<br/>LLM / OCR / ASR / TTS / 搜索 / 代码工具"]
C --> D["检索与记忆层<br/>知识库 / 向量库 / RAG / Reranker / 会话记忆"]
D --> E["业务数据层<br/>数据库 / 文件 / 日志 / 用户数据 / 权限数据"]
B --> F["治理与运维层<br/>权限 / 审计 / 监控 / 评测 / 成本 / 安全"]
C --> F
D --> F
E --> F
1. 用户入口层
用户入口层解决“用户从哪里进来”。
常见入口:
- Web 页面。
- 手机 App。
- 微信小程序。
- 企业微信或飞书机器人。
- API 接口。
- 后台管理系统。
在面试助手中,学生上传简历的入口就属于这一层。
2. 业务编排层
业务编排层解决“任务怎么分步骤完成”。
常见实现:
- Coze 工作流。
- Dify 工作流。
- LangGraph 状态图。
- 自研后端流程。
- 多智能体路由。
在面试助手中,简历评估工作流、录音分析工作流、面试题生成工作流都属于这一层。
3. 模型与工具层
模型与工具层解决“每一步靠什么能力处理”。
常见能力:
- 大模型理解和生成。
- OCR 文档识别。
- ASR 语音识别。
- TTS 语音合成。
- 联网搜索。
- 数据库读写工具。
- 文件解析工具。
在面试助手中,OCR 把简历转文本,ASR 把录音转文字,大模型负责评估和生成报告。
4. 检索与记忆层
检索与记忆层解决“模型依据什么资料回答”和“系统记住什么”。
常见组成:
- 知识库。
- 向量数据库。
- RAG 检索。
- Reranker 重排。
- 会话记忆。
- 用户历史记录。
在面试助手中,简历模板知识库、面试宝典知识库、真实面试题库都属于这一层。
5. 业务数据层
业务数据层解决“系统有哪些结构化业务数据”。
常见数据:
- 用户信息。
- 订单记录。
- 简历记录。
- 评分结果。
- 违禁词列表。
- 调用日志。
在面试助手中,违禁词数据库、学生简历记录、评估结果记录都属于这一层。
6. 治理与运维层
治理与运维层解决“系统上线后是否安全、稳定、可控”。
常见内容:
- 权限控制。
- 数据脱敏。
- 日志审计。
- 质量评测。
- 成本监控。
- 异常报警。
- Prompt 版本管理。
- 人工审核机制。
在当前项目中,这一层不会做得很重,但真实工作里非常重要。因为公司不只关心功能能不能跑,还关心数据是否安全、成本是否可控、结果是否可靠。
五、用同一套架构理解不同 AI 项目
例子 1:AI 客服助手
| 层级 | 对应内容 |
|---|---|
| 用户入口层 | 官网聊天窗口、企业微信、公众号 |
| 业务编排层 | 意图识别、售前咨询、售后工单、转人工 |
| 模型与工具层 | 大模型、订单查询工具、工单创建工具 |
| 检索与记忆层 | 产品知识库、售后政策、历史对话 |
| 业务数据层 | 用户订单、物流状态、退款记录 |
| 治理与运维层 | 敏感话术拦截、服务质量评估、人工兜底 |
例子 2:企业知识库助手
| 层级 | 对应内容 |
|---|---|
| 用户入口层 | 企业微信机器人、内部网页 |
| 业务编排层 | 问题改写、知识检索、答案生成、引用展示 |
| 模型与工具层 | 大模型、文档解析、搜索工具 |
| 检索与记忆层 | 公司制度知识库、项目文档向量库 |
| 业务数据层 | 员工权限、部门信息、文档元数据 |
| 治理与运维层 | 权限隔离、引用溯源、回答评测 |
例子 3:AI 数据分析助手
| 层级 | 对应内容 |
|---|---|
| 用户入口层 | BI 页面、内部后台、聊天窗口 |
| 业务编排层 | 理解问题、生成 SQL、执行查询、解释图表 |
| 模型与工具层 | 大模型、SQL 执行器、图表生成工具 |
| 检索与记忆层 | 指标口径知识库、数据字典 |
| 业务数据层 | 业务数据库、数据仓库、报表数据 |
| 治理与运维层 | SQL 权限、慢查询控制、数据脱敏 |
六、架构图阅读方法
阅读架构图时,可以按下面顺序理解:
架构图不要从上往下硬背,可以从下往上看。
先看数据与知识层。没有数据,大模型就是空脑袋。
再看 AI 能力支撑层。大模型不是万能的,它需要 OCR 看文档,需要 ASR 听录音,需要 RAG 查资料,需要数据库读写业务数据。
再看业务应用层。真正的项目不是技术堆叠,而是把能力组合成简历评估、录音分析、面试题生成这些业务模块。
最后看用户入口层。用户不关心底层怎么跑,只关心能不能上传材料、拿到结果。
这就是一个 AI 项目的基本思路:底下有数据,中间有能力,上面有业务,最上面有入口,旁边还要有安全、权限、监控和评测。
七、需要记住的结论
- 架构图不是用来背名词的,而是用来看系统怎么分层协作的。
- AI 项目不是只有大模型,还需要数据、工具、检索、业务流程和治理。
- 当前 Coze 项目是一个简化版架构,适合学习和验证 MVP。
- 真实项目会更重视权限、安全、日志、评测、成本和稳定性。
- 以后讲项目时,不要只说“我用了 Coze 工作流”,要能说清楚入口、业务、能力、数据和收益。
Day06 作业
Day06 Coze 项目案例:AI 面试助手作业
一、选择题
-
AI 面试助手项目优先解决的核心问题是( )
A. 让学生不用学习技术
B. 提升就业辅导中简历修改、录音分析、面试题生成等工作的效率
C. 替代所有老师进行教学
D. 只做一个聊天机器人 -
MVP 的含义是( )
A. 最大性能模型
B. 最小可行产品
C. 多模态视频平台
D. 数据库管理工具 -
在 AI 面试助手中,负责判断用户需求并分配任务的角色更接近( )
A. 路由智能体
B. 违禁词数据库
C. 简历模板知识库
D. 文档识别插件 -
违禁词更适合存放在数据库中,主要原因是( )
A. 数据库适合生成图片
B. 数据库便于增删改查和多处复用
C. 数据库只能存 PDF
D. 数据库可以替代大模型 -
简历模板更适合放入知识库,主要原因是( )
A. 简历模板属于文档资料,适合检索相似内容
B. 知识库只能存数字
C. 知识库负责获取当前日期
D. 知识库用来删除数据 -
简历内容分块的主要作用是( )
A. 把简历拆成个人信息、技能、学历、项目等结构化字段
B. 删除所有项目经历
C. 直接生成视频
D. 替代结果整合节点 -
项目经历字段通常要设置为数组,是因为( )
A. 项目经历只能有一个
B. 一份简历可能包含多个项目,需要逐个处理
C. 数组可以自动生成图片
D. 数组可以跳过评估 -
并行评估的优势不包括( )
A. 节省执行时间
B. 每个节点提示词更专注
C. 所有模块必须互相等待
D. 更容易定位问题 -
项目重复度评估通常需要结合( )
A. RAG 和简历模板知识库
B. TTS 语音播报
C. 视频生成
D. 图片高清修复 -
结果整合节点的正确作用是( )
A. 随机生成一份报告
B. 把各模块评估结果去重、整理、润色成完整报告
C. 删除所有评估节点
D. 只输出项目名称
二、填空题
-
AI 面试助手项目中的四个主要模块包括简历修改模块、__________、面试题生成模块和批量处理模块。
-
MVP 的中文含义是__________。
-
多智能体中,负责判断需求并分发任务的智能体通常叫__________智能体。
-
简历评估模块的输入通常是一份__________文件。
-
违禁词适合存放在__________中,因为它是结构化列表,方便维护。
-
简历模板适合存放在__________中,因为它属于文档资料,适合检索和比对。
-
内容分块节点会把简历拆成个人信息、技能、学历、工作经历、项目经历、个人评价等__________字段。
-
项目经历数量不固定,所以适合使用__________结构逐个处理。
-
项目重复度评估中,先把项目内容整理成更适合检索的内容,这一步可以叫__________优化。
-
结果整合节点要基于前面各评估结果输出一份完整的__________。
三、简答题
-
为什么 AI 面试助手项目不是简单的聊天机器人?
-
为什么公司做项目时通常先做 MVP?
-
单智能体和多智能体有什么区别?
-
为什么当前课程阶段使用 Coze,而不是一开始就使用 LangGraph?
-
为什么简历评估模块要先做数据准备?
-
为什么违禁词用数据库,简历模板用知识库?
-
为什么不能把整份简历直接丢给一个大模型从头评到尾?
-
为什么项目经历评估比个人信息评估更复杂?
-
项目重复度评估为什么需要先做 Query 优化?
-
结果整合节点为什么不能杜撰前面没有发现的问题?
四、实操题
-
按今天的项目流程,画出“简历评估模块”的五步流程,并写出每一步的输入和输出。
-
设计一个违禁词数据库,至少写出字段名、字段含义和 5 个示例违禁词。
-
设计内容分块节点的输出字段,要求包含个人信息、技能、学历、工作经历、项目经历、个人评价和简历整体总结。
-
为“技能评估节点”写一段评估规则,要求能检查技能是否和项目经历对应。
-
为“项目经历评估节点”写一段评估规则,要求能检查项目结构、技术点、个人职责、成果数据和违禁词。
-
假设一份简历有 3 个项目,请写出循环节点应该如何逐个处理这 3 个项目,并说明为什么不建议用一个普通节点一次性处理所有项目。
-
根据今天的 AI 面试助手项目,写一段 150 字以内的项目介绍,要求包含项目背景、核心功能和项目收益。
五、答案
选择题答案
- B
- B
- A
- B
- A
- A
- B
- C
- A
- B
填空题答案
- 面试录音分析模块
- 最小可行产品
- 路由
- 简历
- 数据库
- 知识库
- 结构化
- 循环
- Query
- 简历评估报告
简答题参考答案
-
AI 面试助手不是简单聊天机器人,因为它需要识别用户需求,调用不同业务模块,还要依赖知识库、数据库、文档识别、ASR、RAG 等能力,最终输出有依据的报告或面试题。
-
先做 MVP 是因为项目资源有限,不能一开始把所有功能都做完。先做最小可行版本可以快速验证需求是否成立、流程是否可行、效果是否有价值,再决定后续是否继续迭代。
-
单智能体是一个智能体承担所有任务,适合简单场景;多智能体是多个智能体分工协作,通常由路由智能体判断需求,再分配给不同工作智能体处理,适合复杂业务。
-
当前课程阶段使用 Coze,是因为 Coze 上手快、低代码、适合快速搭建 MVP 和体验项目流程。LangGraph 更适合复杂生产级项目,但学习成本和开发成本更高,后续深入开发时再学习更合适。
-
简历评估要先做数据准备,因为后续判断需要依赖原始简历文本、违禁词列表和当前日期。如果没有这些基础数据,后续评估节点无法判断项目是否有违禁词、时间是否合理、内容是否完整。
-
违禁词是结构化列表,适合数据库维护,方便增删改查;简历模板是文档资料,适合知识库检索相似内容,用于查重和参考。
-
整份简历直接交给一个大模型容易上下文过长、重点混乱、提示词难维护,也不方便定位问题。更好的做法是先内容分块,再分别评估,最后整合结果。
-
项目经历更复杂,因为项目数量不固定,文本较长,涉及背景、技术栈、个人职责、成果数据、周期合理性、违禁词和重复度等多个维度,需要循环和 RAG 配合评估。
-
Query 优化可以把项目内容整理成更适合检索的表达,去掉无关信息,突出项目背景、技术点、职责和成果,提升知识库检索相似模板的准确性。
-
结果整合节点只能基于前面各模块的评估结果进行归纳。如果杜撰新问题,会导致报告不可信,也可能误导学生修改简历。
实操题参考答案
- 参考流程:
第一步:输入与准备。输入是简历文件、违禁词库、当前日期;输出是可供后续使用的基础数据。
第二步:文本处理。输入是简历文件;输出是提取出的简历全文。
第三步:内容分块。输入是简历全文;输出是个人信息、技能、学历、工作经历、项目经历、个人评价等结构化字段。
第四步:模块评估。输入是各字段内容;输出是各模块的评估结果。
第五步:结果整合。输入是所有评估结果;输出是完整简历评估报告。
- 参考设计:
| 字段名 | 含义 |
|---|---|
| id | 数据唯一编号 |
| forbid_word | 违禁词 |
| reason | 不建议出现的原因 |
| level | 风险等级 |
示例违禁词:黑马程序员、iRAG、南方电力、课程项目原名、照搬模板。
设计原因:违禁词会不断增加或修改,用数据库维护更方便,也可以被多个工作流复用。
- 参考输出字段:
| 字段名 | 含义 |
|---|---|
| name | 姓名 |
| base_info | 基本信息 |
| skill | 个人技能 |
| education | 教育经历 |
| work_exp | 工作经历 |
| project_exp | 项目经历数组 |
| self | 个人评价 |
| context | 简历整体总结 |
注意:project_exp 应设置为数组,因为项目数量不固定,后续要循环处理。
- 参考规则:
你是大模型和算法工程师简历审核助手,负责检查个人技能部分。请结合项目经历判断技能是否真实合理。重点检查:技能是否和项目经历对应;项目中出现的核心技术是否在技能中体现;技能中写“熟练”“掌握”的内容是否有项目支撑;项目中没有使用的技术不要强行堆砌。输出时只评价技能相关问题,并给出修改建议。
这样设计的原因:技能不是越多越好,必须能被项目经历证明,否则面试时容易被追问穿帮。
- 参考规则:
你是大模型和算法工程师简历审核助手,负责项目经历评估。请检查项目是否包含项目背景、技术栈、个人职责、成果数据;判断技术点是否合理,是否和求职方向匹配;检查项目周期和工作经历是否冲突;检查是否出现违禁词列表中的内容;如果成果数据看起来难以解释,需要提醒用户准备依据。输出时要指出具体问题、引用简历原文,并给出修改方向。
这样设计的原因:项目经历是面试追问重点,必须真实、结构清晰、能解释。
- 参考答案:
如果简历有 3 个项目,循环节点应把 project_exp 数组作为循环输入。第一次循环处理项目 1,第二次循环处理项目 2,第三次循环处理项目 3。每次循环都执行同样的子流程:项目内容评估、Query 优化、模板库检索、重复度评估、结果整合。最后把 3 个项目的评估结果汇总输出。
不建议用一个普通节点一次性处理所有项目,因为项目文本太长,容易互相干扰;不同项目的问题也不一样,逐个处理更清楚、更稳定。
- 参考答案:
AI 面试助手是面向就业辅导场景的智能体项目,主要解决学生简历修改、面试录音复盘和面试题练习效率低的问题。项目通过 Coze 工作流整合文档识别、知识库、数据库、大模型评估和循环结构,先实现简历评估模块,能够对个人信息、技能、学历、工作经历、项目经历等内容进行分析并生成修改报告。该项目可以帮助学生提前发现简历问题,也能减少老师批改低级错误的时间。