基于openai-agents-python 实现的面试智能体,通过多 Agent 协作实现从简历分析、面试规划到智能评分的全流程自动化。
| 特性 | 说明 |
|---|---|
| 🎤 实时语音交互 | 语音识别 + 语音合成,营造真实面试氛围 |
| 📝 智能面试规划 | 基于简历自动生成面试问题和流程 |
| 🤖 多 Agent 协作 | PlannerAgent(规划)→ InterviewAgent(提问)→ SummaryAgent(评分) |
| 🔍 自主知识搜索 | Agent 可实时联网查询不熟悉的技术概念 |
| 💬 实时对话展示 | 终端/UI 实时显示面试过程 |
.
├── terminal/ # 终端版本(CLI)
│ ├── main.py # 主入口
│ ├── printer.py # 终端 UI
│ ├── prompts.py # Agent 提示词
│ ├── tools.py # 搜索工具
│ └── realtime_tts_player.py
│
├── qt/ # QT 版本(GUI)
│ ├── main.py # 主入口
│ ├── interview_worker.py # 面试流程引擎
│ ├── interview_signals.py # Qt 信号系统
│ ├── prompts.py
│ ├── tools.py
│ └── realtime_tts_player.py
│
├── examples/
│ └── sample_resume.pdf # 测试用简历
│
├── requirements.txt # Python 依赖
└── README.md
pip install -r requirements.txt在项目根目录创建 .env 文件:
# 阿里云 DashScope(通义千问 + 语音)
DASHSCOPE_API_KEY=your_dashscope_key
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
MODEL_NAME=qwen-max
# Tavily(搜索)
TAVILY_API_KEY=your_tavily_key
# 可选:自定义模型
# EXAMPLE_BASE_URL=https://api.openai.com/v1
# EXAMPLE_API_KEY=your_openai_key获取 API Key:
终端版本
python terminal/main.pyQT 版本
python qt/main.py- 按
s开始录音,对着麦克风说话 - 回答完成后,按
s结束录音,自动提交给 AI - AI 会根据简历内容提问,并进行追问
- 面试结束后自动生成面评总结
- 按
q退出
- 填写好
api_key, 选择好PDF简历,点击初始化面试等待 - 按
开始说话开始录音,对着麦克风说话 - 回答完成后,按
停止结束录音,自动提交给 AI
本项目包含两套独立实现,便于对比学习:
| 版本 | 技术栈 | 特点 |
|---|---|---|
| terminal/ | asyncio + sounddevice + rich | 纯 Python,无 GUI 依赖,代码简洁 |
| qt/ | PySide6 + QThread | 跨线程通信,信号槽机制,事件驱动 |
核心业务逻辑(prompts.py、tools.py)在两套实现中复用,帮助学生理解:
- 多 Agent 协作架构
- 异步编程模式
- 跨线程通信
- UI 与业务分离
如果你喜欢这个项目,可以通过以下方式支持我们: