项目作品集
MizukiBot
面向 QQ 私聊与群聊的角色 AI Agent Runtime —— 让 Agent 在真实聊天环境中判断是否回复、调用什么能力、如何保持角色一致性,并持续沉淀用户记忆。
一个能在 QQ 群里记住用户、持续陪伴、调用工具完成任务的 AI 角色系统,已在真实环境中长期运行并自我修复。
项目简介
基于 Node.js 与 LangGraph 思路开发的长期运行 AI Agent 系统,覆盖 QQ 私聊、群聊、图片、引用、转发等多类消息。系统通过路由决策、Prompt 编排、工具调用、分层记忆、后台学习实现角色化对话,并提供运行诊断、重启恢复、token 预算和记忆质量治理能力。
它不是"调用一次大模型接口",而是一套真实运行、可诊断、可维护的 Agent Runtime:消息进入后先做连续消息聚合与上下文整理,经路由层判断是否回复、是否需要工具、是否管理员任务;Runtime 据此选择直接回复、planner 规划、工具调用、回复校验与持久化;回复完成后后台 worker 异步抽取记忆、维护画像,不阻塞主链路。
核心职责
- Agent Runtime V2 设计 —— 将上下文准备、路由判断、planner、工具 dispatch、回复生成、校验、润色、持久化拆成可测试节点,降低主流程复杂度。
- Prompt 工程体系 —— 用 manifest 管理系统提示词、角色 worldbook、运行时协议与安全边界,检查脚本防止 prompt 漏接入,Prompt 像代码一样被治理。
- 分层记忆 / RAG —— 组合短期上下文、会话摘要、用户画像、Memory V3、LanceDB 向量召回与本地知识库,实现多轮连续性与按用户/群组分片召回。
- 平台对接与后台学习 —— 对接 NapCat/OneBot、模型服务与本地工具 API;post-reply worker 在主回复后异步抽取记忆、维护画像,避免阻塞用户回复。
项目成果
- 01将记忆系统从全量常驻内存优化为磁盘优先、按用户/群组分片召回,主进程 RSS 估计降低 60~70%;召回路径改为按需懒加载,冷启动不再触发全量向量索引。
- 02定位群聊回复延迟瓶颈(连续消息聚合等待、入站锁竞争、流式生成超时),按消息类型配置差异化等待策略,快速单条消息的首次响应延迟明显改善。
- 03建立覆盖 Prompt 装配、RAG 召回、模型请求、QQ 发送链路的可复跑诊断体系(
npm run diag:*+ 回归测试集),使每次「修好了」均有日志证据,新问题定位时间从数小时缩短至分钟级。
岗位能力对照
| 岗位要求 | 项目对应能力 |
|---|---|
| Agent 工作流搭建与调优 | LangGraph 风格 Runtime V2,拆分 route / planner / dispatch / validate / persist 节点 |
| Prompt 编写与优化 | prompt manifest + persona worldbook + runtime 协议 + 检查脚本 |
| 平台 API 对接与数据采集 | NapCat/OneBot + 模型 API(Anthropic/OpenAI/Gemini)+ 本地工具,处理消息/图片/引用/JSONL |
| RAG 知识库搭建与维护 | Memory V3 + LanceDB + SQLite + 短期上下文 + 会话摘要 + 本地知识库,分层召回 |
| LangChain / LangGraph 编排 | 用 LangGraph 思路组织 Runtime,结合自研路由、工具策略与回复校验 |
| 真实 AI 项目经验 | 真实 QQ 消息、长时间运行、重启恢复、延迟诊断、记忆污染治理、多模型适配 |
关于语言栈与工具的说明
- 主栈 Node.js —— HTTP API 调用、JSON/JSONL 数据处理、任务编排与 Agent 工程思路与 Python 后端同构,可直接迁移;Python 脚本用于诊断与数据清洗,基础语法无障碍。
- 具备平台 API 接入完整经验(鉴权、分页、限流、重试、落库、暴露为 Agent 工具);未直接对接 Amazon SP-API,但接入路径已在同类平台 API 上验证,迁移成本可控。
- 手写过同类 Agent 工作流的完整实现,理解 Dify / Coze / FastGPT / Flowise 等低代码平台的底层机制,上手无学习壁垒;当前项目选择代码实现以获得更高可控性。