返回首页
独立项目详情页

NLP 面试智能 Agent 系统

手写 Agent 循环 + RAG 知识检索 + 多维度自动评分

这个项目是我对 Agent 架构理解的完整体现:不依赖任何框架封装,直接基于 Anthropic SDK 的 tool_use 停止信号实现 Agent 决策循环,配合向量检索提供知识增强,再通过 SSE 流式输出与前端雷达图实现实时反馈。它展示了从 Agent 编排、RAG 管线到全栈工程的端到端能力。

FastAPINext.js 14Claude APIAnthropic SDKChromaDBRAGTool UseSSE 流式Web Speech APIRecharts
查看 GitHub
手写 Agent 循环(5 个 Tool)
12 个 NLP 知识文档 RAG 检索
六维度雷达图自动评分

项目挑战

市面上大多数 Agent 项目直接调用 LangChain 或 CrewAI 等框架,面试时很难解释 Agent 内部到底如何运作。我需要一个能从底层讲清楚 Agent 循环机制、工具调用协议和消息格式组装的项目,同时具备完整的 RAG 检索和全栈工程展示价值。

解决思路

核心设计是“手写 Agent 循环 + Tool Use 协议”:每次调用 Claude API 后检查 stop_reason,如果是 tool_use 则解析工具名和参数、执行对应函数、将结果以 tool_result 格式追加到消息列表再次调用 API,直到模型返回 end_turn 为止。知识检索通过 RAG 管线增强 Agent 的回答质量,评分通过结构化 JSON 输出 + 正则提取实现自动解析。

工程实现

后端按 Agent / RAG / API / Models 四层组织,每层职责清晰。orchestrator.py 是核心控制器(438 行),管理完整的工具调用循环;memory.py 维护会话级状态,支持多会话并发;indexer.py 实现文档→分块→嵌入→ChromaDB 的完整索引管线。前端使用自定义 hooks(useChat / useSession / useVoice)管理状态,SSE 流式传输减少用户等待感知。

项目价值

这个项目与多 Agent 考试系统形成“手写理解原理 + 框架做工程升级”的技术演进线:先用本项目展示对 Agent 底层机制(stop_reason 循环、tool_result 注入、消息格式组装)的深度理解,再用多 Agent 系统展示 LangChain/LangGraph 框架能力。面试中可以从 Agent 循环的 stop_reason 判断讲到 ChromaDB 的 L2 距离转换,展示对 AI 应用架构的完整理解。

项目拆解

亮点、过程与结果

核心亮点

手写 Agent Orchestrator:基于 Claude API stop_reason 区分 tool_use 与 end_turn,循环执行工具调用直到模型自主决定结束,最多 10 轮,支持单次响应中的并行工具执行。
完整 RAG 管线:12 篇 NLP 知识文档按 ## 标题分块,使用 paraphrase-multilingual-MiniLM-L12-v2 生成多语言嵌入,存入 ChromaDB;检索时将 L2 距离转换为相关性分数并注入系统提示。
六维度自动评分体系(核心概念 30%、技术细节 25%、表达清晰度 15%、深度拓展 15%、实际应用 10%、面试技巧 5%),结合 Recharts 雷达图可视化与弱项自适应出题。

实现过程

设计 FastAPI 后端架构:Agent 编排层(orchestrator.py)、工具定义层(tools.py)、会话记忆层(memory.py)、RAG 检索层与 API 路由层分离,生命周期启动时自动构建向量索引。
实现 5 个 Agent 工具:search_knowledge_base(向量检索)、generate_question(出题并记录元数据)、grade_answer(准备评分材料)、get_session_stats(统计)、get_weak_areas(弱项识别),均以 JSON Schema 定义供 Claude 调用。
搭建 RAG 索引管线:加载 12 篇 Markdown 知识文档,按章节标题切分并提取 topic/formula 等元数据,通过 sentence-transformers 编码后写入 ChromaDB 持久化集合。
开发 Next.js 14 前端:ChatContainer 消息流 + InputBar 语音/文字双输入 + RadarChartView 六维评分雷达图 + SessionList 多会话管理,通过 SSE 实现逐 token 流式输出与工具执行状态实时回显。
实现弱项自适应逻辑:SessionMemory 按话题追踪得分历史,get_weak_areas 工具识别低分话题后注入系统提示,引导 Agent 自动调整出题方向和难度。

结果总结

完整实现了从出题→作答→检索→评分→弱项追踪的闭环流程,Agent 可自主决定何时调用工具、何时直接回复,体现了对 Tool Use 模式的深度理解。
项目代码零依赖 LangChain/CrewAI,Agent 循环、消息格式组装和工具结果注入均为手写实现,面试中可逐行解释 Agent 内部运作机制。
前后端分离的全栈架构,涵盖 SSE 流式传输、Web Speech API 语音输入、Recharts 数据可视化和多会话状态管理,展示了 AI 应用的完整工程能力。