Module 05

Final Project:OfferPilot

最终实战围绕一个高集成度的真实问题展开:

OfferPilot —— 上传面试录音或文字稿,自动诊断回答质量,输出结构化改进建议。

为什么选这个方向

这个场景同时覆盖 Harness 工程的全部 10 层能力:

  • Tools:STT 转写、知识库检索、内容分析、语音分析
  • Skills:文字稿诊断、录音诊断、模拟面试、单题对标
  • Query Engine:多模型路由、流式输出、缓存、重试
  • Context:长面试稿的分段压缩、按需加载参考答案
  • Memory:用户画像、弱点追踪、进步趋势
  • Permission:面试内容隐私保护、敏感操作确认
  • Sessions:长诊断任务的中断恢复、状态回滚
  • Command:确定性操作入口(/diagnose, /mock, /report)
  • Hook:权限检查、审计日志、上下文压缩、指标收集
  • Sub-agent:内容/表达/语音多维度并行诊断

同时,知识库直接复用本项目 learn-agent-interview 模块的 384 道面试题——吃自己的狗粮。

项目仓库

GitHub: https://github.com/ranxi2001/OfferPilot

纯手写 Harness 10 层架构,不依赖 LangChain / LangGraph,直接调用 Anthropic SDK + OpenAI SDK。

文档目录

编号 文档 内容
01 PRD:产品需求文档 产品定位、用户场景、10 层架构映射、技术选型、开发路线图
02 系统架构设计 模块划分、数据流、接口定义、手写 Harness 全貌
03 Query Engine 实现 模型调用层:三 Provider + stream + retry + cache + 路由
04 Tools & Skills 实现 原子工具 + 任务级 Skill 编排
05 知识库构建 385 题导入 + FTS5/embedding 双通道检索
06 Context & Memory 5 层上下文管理 + 克制的跨会话记忆
07 Permission & Session 权限分级 + 检查点恢复 + 审计日志
08 Hook & Command 可插拔治理管线 + 14 个确定性命令
09 Sub-agent 编排 Agent-as-Tool + 并发池 + 上下文隔离
10 STT 集成与语音分析 Whisper/FunASR + 说话人分离 + 语音诊断
11 部署与演示 CLI 入口 + Demo 演示 + 三种部署方案
12 Web UI 交互设计 Next.js + SSE 流式 + 三大核心交互流程

开发顺序

按 Harness 工程的推荐迭代顺序:

  1. Query Engine → 2. Tools → 3. Permission → 4. Context → 5. Sessions → 6. Skills → 7. Memory → 8. Hooks → 9. Command → 10. Sub-agent

先把单 Agent 做稳,再让它长出团队。