Home avatar

JoeSmile

聚焦 AI Agent 全链路工程实践:RAG 检索、记忆系统、Agent 编排、Next.js 产品落地与 AI 协作工程化。下方为当前写作方向;首页文章列表仅展示本阶段内容。

当前方向

历史归档

2018–2019 年前端与 Node.js 学习笔记(Koa、JavaScript、MongoDB 等)已整理为归档,URL 保持不变,可随时查阅。

Chat SSE 假死:FastAPI Depends 占死连接池,BFF ReadableStream 灌满队列

说明:下文来自 MemoryOS 一次真实 Chat SSE「假死」排查与修复。症状、时间线与改法均基于生产级调试日志;不是框架 bug 公告,而是 长连接 + Depends 生命周期 + 流式背压 三类常见坑叠在一起的故事。

用户问:「2022 世界杯射手榜前 10 名」。终端里 SQL 已经 COMMITmemories 表也在更新——聊天框却停在「正在生成分析…」,只吐出几个字;刷新页面,完整答案却在

这不是 LLM 慢,也不是 Redis 挂了。这是一次典型的 假死:数据其实写进库了,但 SSE 管道某一截没有把字节送到浏览器

Query路由4类方案全解(含细分实现、切换维度、组合方式)

Query路由的核心本质是对用户问句做分类后,动态切换不同的系统组件/链路,在保障效果的前提下平衡成本、延迟、精度。4大类路由按「前置程度、成本高低」分层部署,其中LLM分类路由是维度最丰富的核心大类,下含模板、模型、检索链路、工具调用4类细分路由。

MemoryOS 聊天安全一张图:分层、时序与防护总表

说明:本文是 MemoryOS 聊天 / RAG 安全实现对照,与 《LLM 聊天与 RAG 安全怎么落地》 互补——那一篇讲方法论,本篇讲本系统在哪一层、用什么包、防什么、还缺什么。文中 DeSyntax 指 EntropyShield 包的打碎句法 mask,见第一节末「DeSyntax 是什么」。
回顾顺序:第一节总表与 DeSyntax 说明 → 分层图 → 时序图

LLM 聊天与 RAG 安全怎么落地?纵深防御、快失败与第三方 Guard 选型

说明:下文是 RAG 聊天场景的安全思路 + MemoryOS 里真实做过的取舍。不是现网配置承诺,规则阈值与 Prompt 原文不公开。
落地对照(分层、包名、时序):MemoryOS 聊天安全一张图

做 AI 聊天应用时,安全往往被排在「能跑起来」之后。但真正上线后,Prompt 注入RAG 间接注入工具链滥用成本失控会一起找上门。最近在 MemoryOS 里梳理聊天/RAG 安全方案,把内部工程文档整理成一篇可发布的总结,方便对照和迭代。

核心结论先说:

  1. 快失败:在调用 LLM 之前用廉价检查拒绝或清洗,而不是先让攻击进模型再反应。
  2. 纵深防御:用户输入、知识库 chunk、Prompt 结构、限流配额,多层叠加,不指望单一银弹。
  3. 自研规则做底座,第三方 Guard 经 Adapter + 配置开关 按需叠加;CI 与本地开发应能走不依赖 GPU 的轻量路径。

分场景选型:tRPC / GRPC / Connect-RPC 与流式方案怎么落地

分场景选型指南:tRPC / gRPC / Connect-RPC + 流式方案落地决策

先梳理四种 RPC 流模式的能力边界(务必区分「服务端程序」和「浏览器」),再按真实业务拆分「该用什么、为什么、别用什么」,覆盖 Unary、Server Stream、Client Stream、Bidi 四类需求。

协议层对比与架构图见姊妹篇:gRPC、tRPC、Connect-RPC 怎么选?