我做了一个 AI 面试教练平台,让 GitHub 项目自动变成面试素材

MemCoach — 一个面向技术求职者的 AI 面试训练平台,把简历面试、GitHub 项目分析和持久化画像记忆串成一个持续迭代的训练闭环。

前言:为什么做这个项目?

面试这件事,很多人有个共同痛点:刷了很多面经,但真正上场还是不会说。

面试不是默写八股文。面试官追问的不是"你知道什么",而是"你为什么这样做"、“你遇到了什么问题”、“如果重新来你会怎么选”。这些能力,光靠背题是练不出来的。

所以我想做一个工具——不是一个刷题网站,而是一个 AI 面试教练:它能读你的简历、分析你的 GitHub 项目、记住你的薄弱点,然后像一个真实的面试官一样和你对话、追问、评分。

这就是 MemCoach

在这里插入图片描述


MemCoach 是什么?

MemCoach 是一个 AI 驱动的面试训练平台,核心思路是 “训练闭环”

  1. 上传简历 → AI 模拟真实面试官,围绕你的经历进行多轮对话
  2. 连接 GitHub → 自动分析你的开源项目,生成针对性的面试问题
  3. 画像记忆 → 每次训练后自动记录在这里插入图片描述
    你的薄弱点、掌握度和表达习惯,越练越了解你

这三个模块不是独立的,而是互相联动的:项目分析的问题可以一键导入训练,训练的结果回流到画像系统,画像系统指导下一轮出题。


三大核心功能

1. GitHub 项目分析 — 让你的代码替你说话

很多人面试时不知道怎么介绍自己的项目。MemCoach 的项目分析功能可以解决这个问题:

  • 一键连接 GitHub:通过 OAuth 安全授权,选择你的公开仓库
  • 智能源码解析:自动过滤关键文件,分析项目结构和技术栈
  • 生成面试问题:围绕模块边界、设计决策、故障排查、技术选型、重构方向生成 5 道核心问题
  • 源码证据驱动:每道问题都关联到原始代码片段,不是泛泛而谈

分析完成后,生成的问题可以一键转为专项训练,直接进入 AI 对话练习。

2. AI 面试 Agent — 真实面试模拟

这是 MemCoach 的核心模块。它不是一个简单的"一问一答"聊天机器人,而是一个基于 LangGraph 状态机的面试 Agent

五阶段递进式面试流程:

阶段 内容 说明
开场问候 AI 自我介绍,营造面试氛围 过渡自然,不是冷冰冰的机器
自我介绍 请候选人做自我介绍 评估表达的条理性和重点
技术问题 围绕简历和知识库出题 根据回答质量动态调整难度
项目深挖 深入追问项目经历 源码级别的追问,不是表面问答
反问环节 候选人向面试官提问 评估技术视野和好奇心

自适应追问策略: 答得好就快速推进,答得差就深入追问——和真实面试官的行为一致。

四维评分体系: 训练结束后从技术深度、项目表达、沟通能力、问题解决四个维度给出评分。

在这里插入图片描述

3. 画像记忆系统 — 越练越懂你

这是 MemCoach 和普通面试工具最大的区别。大部分工具每次训练都是"从零开始",而 MemCoach 会记住你

  • 自动提取薄弱点:每次训练后,AI 自动分析你的回答,识别知识盲区
  • 掌握度追踪:每个知识点有 0-100 的掌握度评分,实时更新
  • 向量语义去重:使用 bge-m3 嵌入模型做语义相似度计算,避免重复记录
  • 跨会话持续演进:今天练的、昨天学的,下次登录时还在

在这里插入图片描述


自适应学习引擎:科学的复习节奏

除了三大核心模块,MemCoach 还内置了一套自适应学习引擎

三层上下文融合出题

出题不是随机的,而是基于三层上下文的融合:

  • Layer 1 — 会话上下文:知识库检索 + FAQ 匹配 + 历史去重,保证当前训练不重复
  • Layer 2 — 领域画像:根据该领域的掌握度和历史薄弱点,优先出你不会的题
  • Layer 3 — 全局画像:跨领域的特征分析,比如你的沟通风格、思维模式

SM-2 间隔重复算法

MemCoach 引入了经典的 SM-2 间隔重复算法(和 Anki 一样的原理):

  • 答对 → 复习间隔拉长(1天 → 3天 → 7天 → 14天…)
  • 答错 → 间隔重置为 1 天
  • 到期的薄弱点优先出题

这意味着:你不会的题目会反复出现,你已经掌握的题目会逐渐淡出,用最少的训练时间覆盖最多的薄弱点。


更多实用功能

功能 说明
录音复盘 上传面试录音或粘贴文字,AI 自动转写并逐条分析
知识库管理 按领域维护核心知识文档和高频题库,支持 Markdown
多用户隔离 JWT 认证 + 数据按用户完全隔离
会话恢复 训练中断后可以随时恢复,不丢失进度

技术架构

作为一个全栈 AI 项目,MemCoach 的技术栈涵盖了从前端到 LLM 调度的完整链路:

层级 技术选型
后端框架 FastAPI + LangChain + LangGraph + LlamaIndex
前端框架 React 19 + React Router v7 + Vite + Tailwind CSS v4
数据库 SQLite + aiosqlite(异步)
向量存储 bge-m3 embeddings(1024 维)
认证 JWT + bcrypt
LLM 任何 OpenAI 兼容接口(灵活切换)

核心架构亮点:

  • LangGraph 状态机驱动面试流程,支持多阶段、有状态的对话管理
  • Mem0 风格的画像引擎,LLM 提取 + 智能决策的两阶段更新机制
  • SM-2 间隔重复三层上下文融合的自适应出题系统
  • GitHub OAuth 安全连接,支持 JWT state token 防 CSRF

快速开始

Docker 一键部署(推荐)

git clone https://github.com/iZiTTMarvin/MemCoach.git
cd MemCoach
cp .env.example .env
# 编辑 .env 填入你的 LLM API 配置
docker compose up --build

访问 http://localhost 即可使用。

手动部署

# 后端
pip install -r requirements.txt
uvicorn backend.main:app --reload --port 8000

# 前端
cd frontend && npm install && npm run dev

只需要配置一个 OpenAI 兼容的 LLM API 即可运行,模型选择完全自由。


项目地址


写在最后

MemCoach 的核心理念很简单:面试能力是练出来的,不是背出来的。

它不是一个"面经合集",也不是一个"刷题平台",而是一个能读懂你、记住你、陪你持续进步的 AI 教练。从简历到项目到知识点,形成一个完整的训练闭环。

项目目前还在持续迭代中,未来计划支持:

  • 项目面试 Agent 模式:基于源码证据的多轮动态追问
  • 私有仓库分析:在安全边界内分析用户的私有项目

如果你正在准备技术面试,或者对 AI Agent 的工程化落地感兴趣,欢迎 Star 和体验。也欢迎提 Issue 和 PR,一起把这个项目做得更好!!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐