NLP 面试智能 Agent 系统
手写 Agent 循环 + RAG 知识检索 + 多维度自动评分
这个项目是我对 Agent 架构理解的完整体现:不依赖任何框架封装,直接基于 Anthropic SDK 的 tool_use 停止信号实现 Agent 决策循环,配合向量检索提供知识增强,再通过 SSE 流式输出与前端雷达图实现实时反馈。它展示了从 Agent 编排、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 应用架构的完整理解。