Tags

#supportpilot

9posts

Day 51

Day 51 · 迭代:按错误分析改 prompt、工具和检索,把分数提上去

拿着 Day 50 的基线报告做错误分析:读失败用例、写一句话笔记、归类、计数、挑最多的先修。修法分四种:改代码规则、改检索、改提示词、改评测集本身。每次只改一处,在 dev 上跑并记进改动日志;最后跑一次 test,看提升是不是真的。附我在写这个项目时实际踩到的四个 bug。

Day 50

Day 50 · 评测体系:100 条测试集、LLM-judge、轨迹评测,跑出第一份分数

把 Day 43 的验收指标变成能自动跑的评测:36 个场景、100 种客户说法,按场景拆 dev/test;规则检查管分类、工具轨迹、退款闸门、引用、事实和禁语,LLM 评审只判"有没有依据"和"有没有解决问题"两件事,再加成本和延迟。跑出第一份基线报告,并学会检查评审本身准不准。

Day 49

Day 49 · 界面与流式体验:Next.js 客服工作台、展示工具调用与审批

用 FastAPI 把工作流包成 HTTP 接口,用 SSE 把每个步骤、每次工具调用、每个字推给前端;再用 Next.js + React + TypeScript 做两个页面:客户视角看着 Agent 干活并追问,客服工作台一键审批退款。讲清楚为什么不用 EventSource、要不要上 Vercel AI SDK、怎么停止、怎么让读屏软件不被逐字播报逼疯。不会前端的同学,文末有 Streamlit 版。

Day 48

Day 48 · 多轮与记忆:会话状态、客户画像、上下文压缩

给 SupportPilot 加上三种记忆:同一张工单里的多轮对话(状态存进 Postgres,进程重启也不丢)、跨工单的客户画像(只在历史变化时重建)、对话太长时把早期轮次压成摘要。改动集中在三个新文件和两个节点,用假 LLM 测多轮和压缩。

Day 47

Day 47 · 主工作流:LangGraph 编排分类、检索、执行、起草、自检

SupportPilot 的心脏。把 LLMClient 搬进项目并加上成本账本和结构化重试,设计工作流状态,写九个节点和条件路由:查客户、分诊、检索、调工具、起草、质检、退款审批、定稿、转人工。用假 LLM 写单测覆盖审批、转人工、质检打回,最后在终端里端到端跑 10 张工单。

Day 46

Day 46 · 业务工具:订单/账单 MCP server 与退款审批

写 SupportPilot 的业务工具:查客户、订阅、账单,退款规则写死在代码里并用剧情客户测试,退款只能创建待审批申请。按权限分级注册给模型。对接企业系统:审批通知推到飞书/钉钉/企业微信群,加一个只读、带 SQL 校验和行级隔离的 text-to-SQL 工具。最后包成 MCP server,在 Claude Desktop 里查账单。

Day 45

Day 45 · 知识库模块:导入、切块、混合检索、引用

把 W3 的 RAG 代码产品化:按小标题切块并带上下文前缀、按内容 hash 增量导入 pgvector、向量 + BM25 用 RRF 融合、可选 rerank、引用编号检查和渲染。最后跑一份只评检索的基线:纯 BM25 在 31 条种子查询上 recall@5 是 0.935,漏掉的两条正好说明为什么还需要向量。

Day 44

Day 44 · 搭骨架:仓库结构、配置、造数据

用 uv 建好 SupportPilot 仓库,配上 ruff、pytest、pre-commit,用 pydantic-settings 管配置,Docker 起 Postgres + pgvector。然后造数据:62 篇帮助中心文章、200 个客户的订阅和账单,其中 12 个剧情客户对应 Day 43 访谈里拆出来的退款场景。一条 make data 建好全部。

Day 43

Day 43 · 毕业项目开题:为什么做 SupportPilot、需求文档与架构图

毕业项目 SupportPilot 开工第一天。先用 JD 数据说清为什么选智能客服工单这个题,再像 FDE 那样从一次模拟客户访谈里拆出需求、非目标和验收指标,最后定架构、目录结构和 12 天排期。今天写的 PRD 是后面每一天的验收依据。