录音分析流程梳理
录音分析流程梳理 根据今天所学,把录音分析模块的流程补全为 6 个步骤,并说明每一步的输入和输出。
查看参考答案 ▼
录音分析流程梳理
| 步骤 | 输入 | 输出 | 说明 |
|---|---|---|---|
| 上传录音 | MP3/WAV 音频 | 音频对象或链接 | 接收原始材料 |
| ASR 转写 | 音频链接 | 转写文本 | 把声音转成文字 |
| 角色划分 | 转写文本 | 面试官/应试者对话 | 分清谁问谁答 |
| 概要与问答提取 | 对话文本 | 自我介绍、概要、问答数组 | 把文本结构化 |
| 面试表现评估 | 自我介绍、问答数组、知识库 | 评估结果 | 对自我介绍和每题回答进行判断 |
| 报告生成 | 各评估结果 | 复盘报告 | 汇总输出给用户 |
✓ 正确
参考答案:录音分析流程梳理
| 步骤 | 输入 | 输出 | 说明 |
|---|---|---|---|
| 上传录音 | MP3/WAV 音频 | 音频对象或链接 | 接收原始材料 |
| ASR 转写 | 音频链接 | 转写文本 | 把声音转成文字 |
| 角色划分 | 转写文本 | 面试官/应试者对话 | 分清谁问谁答 |
| 概要与问答提取 | 对话文本 | 自我介绍、概要、问答数组 | 把文本结构化 |
| 面试表现评估 | 自我介绍、问答数组、知识库 | 评估结果 | 对自我介绍和每题回答进行判断 |
| 报告生成 | 各评估结果 | 复盘报告 | 汇总输出给用户 |
角色划分提示词优化
角色划分提示词优化 设计一段角色划分提示词,要求满足: 1. 能区分面试官和应试者。 2. 能保留原始内容。 3. 如果不是面试录音,能停止分析。 4. 输出格式清晰。
查看参考答案 ▼
角色划分提示词参考
``<code>text
你是一个面试录音转写内容整理助手。
请根据输入的语音转文字内容,判断每句话更可能来自面试官还是应试者。
要求:
1. 按“面试官:内容”和“应试者:内容”的格式输出。
2. 尽量保留原始内容,不要随意省略。
3. 如果出现明显卡顿、停顿或异常表达,可以用【停顿】等方式标注。
4. 如果输入内容不是面试对话,请直接输出空字符串,不要强行分析。
输入内容:
{{input}}
</code>``
✓ 正确
参考答案:角色划分提示词参考
``<code>text
你是一个面试录音转写内容整理助手。
请根据输入的语音转文字内容,判断每句话更可能来自面试官还是应试者。
要求:
1. 按“面试官:内容”和“应试者:内容”的格式输出。
2. 尽量保留原始内容,不要随意省略。
3. 如果出现明显卡顿、停顿或异常表达,可以用【停顿】等方式标注。
4. 如果输入内容不是面试对话,请直接输出空字符串,不要强行分析。
输入内容:
{{input}}
</code>``
问答对提取规则设计
问答对提取规则设计 设计问答对提取节点的规则,要求: 1. 不提取自我介绍。 2. 每个问题和回答配对。 3. 保留回答中的卡顿或停顿。 4. 补全追问上下文。
查看参考答案 ▼
问答对提取规则参考
``<code>text
你是一个面试问答提取助手。
请从面试官和应试者的对话中提取问题和对应回答,并以字符串数组返回。
要求:
1. 不提取开场自我介绍。
2. 每个数组元素只包含一个问题和对应回答。
3. 回答中的【停顿】、【卡顿】等信息要保留。
4. 如果问题是追问,需要结合上文补全问题含义。
5. 输出格式为:
问题:xxx
回答:xxx
面试对话:
{{qa}}
</code>``
✓ 正确
参考答案:问答对提取规则参考
``<code>text
你是一个面试问答提取助手。
请从面试官和应试者的对话中提取问题和对应回答,并以字符串数组返回。
要求:
1. 不提取开场自我介绍。
2. 每个数组元素只包含一个问题和对应回答。
3. 回答中的【停顿】、【卡顿】等信息要保留。
4. 如果问题是追问,需要结合上文补全问题含义。
5. 输出格式为:
问题:xxx
回答:xxx
面试对话:
{{qa}}
</code>``
面试题生成流程设计
面试题生成流程设计 假设用户上传了一份简历,请设计面试题生成模块的流程,要求包含技能题、项目题和题目整合。
查看参考答案 ▼
面试题生成流程参考
1. 用户上传简历。
2. 文件解析节点把简历转成文本。
3. 内容分块节点提取技能点数组和项目经历数组。
4. 数据库查询节点获取最近 100 道真实面试题。
5. 技能点循环:每个技能点检索题库并生成技术问题。
6. 项目经历循环:每个项目生成项目追问。
7. 面试题整合节点去重、筛选、书面化,并补充人事问题。
8. 结束节点输出最终面试题集合。
✓ 正确
参考答案:面试题生成流程参考
1. 用户上传简历。
2. 文件解析节点把简历转成文本。
3. 内容分块节点提取技能点数组和项目经历数组。
4. 数据库查询节点获取最近 100 道真实面试题。
5. 技能点循环:每个技能点检索题库并生成技术问题。
6. 项目经历循环:每个项目生成项目追问。
7. 面试题整合节点去重、筛选、书面化,并补充人事问题。
8. 结束节点输出最终面试题集合。
Agent 编排规则设计
Agent 编排规则设计 为 AI 面试助手设计 4 条调用规则: 1. 上传简历并要求看简历。 2. 上传录音。 3. 上传简历并要求生成面试题。 4. 用户闲聊或问无关问题。
查看参考答案 ▼
Agent 编排规则参考
1. 如果用户上传简历,并表达“帮我看看简历”“优化简历”等意图,调用简历评估工作流。
2. 如果用户上传音频文件,无论用户文字怎么描述,优先调用录音分析工作流。
3. 如果用户上传简历,并表达“生成面试题”“模拟面试题”等意图,调用面试题生成工作流。
4. 如果用户闲聊或提出无关请求,不调用工作流,提示当前只支持简历评估、录音分析和面试题生成。
✓ 正确
参考答案:Agent 编排规则参考
1. 如果用户上传简历,并表达“帮我看看简历”“优化简历”等意图,调用简历评估工作流。
2. 如果用户上传音频文件,无论用户文字怎么描述,优先调用录音分析工作流。
3. 如果用户上传简历,并表达“生成面试题”“模拟面试题”等意图,调用面试题生成工作流。
4. 如果用户闲聊或提出无关请求,不调用工作流,提示当前只支持简历评估、录音分析和面试题生成。
批处理代码阅读与补全
批处理代码阅读与补全 下面是一段极简批处理思路代码,请阅读并补全注释中的关键逻辑。 ``python """ 需求: 批量处理一个文件夹中的简历文件,并把每份简历交给 Coze 智能体分析。 步骤: 1. 遍历指定文件夹。 2. 找到符合格式要求的简历文件。 3. 上传文件到 Coze。 4. 调用智能体获取分析结果。 5. 把结果保存为 Markdown 文件。 """ from pathlib import Path def is_resume_file(file_path: Path) -> bool: """判断当前文件是否是需要处理的简历文件。""" # TODO:允许处理 pdf、doc、docx 三类文件 pass def save_result(result_dir: Path, file_path: Path, result_text: str) -> None: """把智能体返回的结果保存成 Markdown 文件。""" # TODO:根据原文件名生成 md 文件名,并写入分析结果 pass ``
查看参考答案 ▼
批处理代码参考答案
``<code>python
"""
需求:
批量处理一个文件夹中的简历文件,并把每份简历交给 Coze 智能体分析。
步骤:
1. 遍历指定文件夹。
2. 找到符合格式要求的简历文件。
3. 上传文件到 Coze。
4. 调用智能体获取分析结果。
5. 把结果保存为 Markdown 文件。
说明:
这段代码只保留“文件筛选”和“结果保存”两个基础动作。
真正上传 Coze、调用智能体的部分,后续可以再接入 SDK。
"""
from pathlib import Path
def is_resume_file(file_path: Path) -> bool:
"""判断当前文件是否是需要处理的简历文件。
参数:
file_path:当前遍历到的文件路径。
返回:
True:说明这个文件是简历文件,可以继续处理。
False:说明这个文件不是目标格式,应该跳过。
"""
# suffix 表示文件后缀名,例如:.pdf、.docx。
# lower() 的作用是统一转成小写,避免 .PDF 和 .pdf 被当成不同格式。
suffix = file_path.suffix.lower()
# allowed_suffixes 保存允许处理的简历格式。
# 这里先支持 pdf、doc、docx 三类常见简历文件。
allowed_suffixes = {".pdf", ".doc", ".docx"}
# 同时判断两件事:
# 1. 当前路径必须是文件,不能是文件夹。
# 2. 文件后缀必须在允许列表中。
return file_path.is_file() and suffix in allowed_suffixes
def save_result(result_dir: Path, file_path: Path, result_text: str) -> None:
"""把智能体返回的结果保存成 Markdown 文件。
参数:
result_dir:保存结果的文件夹。
file_path:原始简历文件路径。
result_text:智能体返回的分析结果。
效果:
假设原文件是 zhangsan.pdf,
最终会在 result_dir 中生成 zhangsan.md。
"""
# mkdir 用来创建结果文件夹。
# exist_ok=True 表示如果文件夹已经存在,也不会报错。
result_dir.mkdir(parents=True, exist_ok=True)
# stem 表示不带后缀的文件名。
# 例如 zhangsan.pdf 的 stem 是 zhangsan。
result_file_name = file_path.stem + ".md"
# 拼接最终的结果文件路径。
result_file = result_dir / result_file_name
# 把分析结果写入 Markdown 文件。
# encoding="utf-8" 可以避免中文乱码。
result_file.write_text(result_text, encoding="utf-8")
</code>``
✓ 正确
参考答案:批处理代码参考答案
``<code>python
"""
需求:
批量处理一个文件夹中的简历文件,并把每份简历交给 Coze 智能体分析。
步骤:
1. 遍历指定文件夹。
2. 找到符合格式要求的简历文件。
3. 上传文件到 Coze。
4. 调用智能体获取分析结果。
5. 把结果保存为 Markdown 文件。
说明:
这段代码只保留“文件筛选”和“结果保存”两个基础动作。
真正上传 Coze、调用智能体的部分,后续可以再接入 SDK。
"""
from pathlib import Path
def is_resume_file(file_path: Path) -> bool:
"""判断当前文件是否是需要处理的简历文件。
参数:
file_path:当前遍历到的文件路径。
返回:
True:说明这个文件是简历文件,可以继续处理。
False:说明这个文件不是目标格式,应该跳过。
"""
# suffix 表示文件后缀名,例如:.pdf、.docx。
# lower() 的作用是统一转成小写,避免 .PDF 和 .pdf 被当成不同格式。
suffix = file_path.suffix.lower()
# allowed_suffixes 保存允许处理的简历格式。
# 这里先支持 pdf、doc、docx 三类常见简历文件。
allowed_suffixes = {".pdf", ".doc", ".docx"}
# 同时判断两件事:
# 1. 当前路径必须是文件,不能是文件夹。
# 2. 文件后缀必须在允许列表中。
return file_path.is_file() and suffix in allowed_suffixes
def save_result(result_dir: Path, file_path: Path, result_text: str) -> None:
"""把智能体返回的结果保存成 Markdown 文件。
参数:
result_dir:保存结果的文件夹。
file_path:原始简历文件路径。
result_text:智能体返回的分析结果。
效果:
假设原文件是 zhangsan.pdf,
最终会在 result_dir 中生成 zhangsan.md。
"""
# mkdir 用来创建结果文件夹。
# exist_ok=True 表示如果文件夹已经存在,也不会报错。
result_dir.mkdir(parents=True, exist_ok=True)
# stem 表示不带后缀的文件名。
# 例如 zhangsan.pdf 的 stem 是 zhangsan。
result_file_name = file_path.stem + ".md"
# 拼接最终的结果文件路径。
result_file = result_dir / result_file_name
# 把分析结果写入 Markdown 文件。
# encoding="utf-8" 可以避免中文乱码。
result_file.write_text(result_text, encoding="utf-8")
</code>``
综合案例
综合案例:AI 面试训练闭环 请设计一个完整的 AI 面试训练闭环,要求包含: 1. 简历评估。 2. 面试题生成。 3. 模拟面试录音。 4. 录音分析。 5. 下一轮改进建议。
查看参考答案 ▼
综合案例参考答案
一个完整的 AI 面试训练闭环可以这样设计:
1. 用户先上传简历,系统调用简历评估工作流,输出简历问题和修改建议。
2. 用户根据建议修改简历,再上传简历生成模拟面试题。
3. 用户根据生成的题目进行模拟面试,并录制音频。
4. 用户上传面试录音,系统调用录音分析工作流。
5. 系统分析自我介绍、每道题回答质量、表达问题和知识薄弱点。
6. 系统输出下一轮改进建议,例如需要复习 RAG、优化项目介绍、控制自我介绍时长。
7. 用户根据建议继续修改简历、练习题目、再次模拟面试。
这个闭环的价值是:简历、题目、录音、复盘互相连接,训练不再靠感觉,而是靠数据和反馈持续改进。
✓ 正确
参考答案:综合案例参考答案
一个完整的 AI 面试训练闭环可以这样设计:
1. 用户先上传简历,系统调用简历评估工作流,输出简历问题和修改建议。
2. 用户根据建议修改简历,再上传简历生成模拟面试题。
3. 用户根据生成的题目进行模拟面试,并录制音频。
4. 用户上传面试录音,系统调用录音分析工作流。
5. 系统分析自我介绍、每道题回答质量、表达问题和知识薄弱点。
6. 系统输出下一轮改进建议,例如需要复习 RAG、优化项目介绍、控制自我介绍时长。
7. 用户根据建议继续修改简历、练习题目、再次模拟面试。
这个闭环的价值是:简历、题目、录音、复盘互相连接,训练不再靠感觉,而是靠数据和反馈持续改进。