Skip to main content

项目索引

info

这里沉淀的是四个自己从零做的项目,外加一篇不绑定具体项目的工程范式沉淀。每篇不复述 README,只写架构决策、设计取舍和踩过的坑

四个项目

项目定位主技术栈沉淀重点
RAG Agent Platform多租户智能体 SaaS 平台Spring Boot 3 · LangChain4j · PGVector · RabbitMQ异步文档流水线、召回+精排、知识库版本化
Lobster0自托管个人 AgentPython · SQLite · Playwright · Electron权限分层、参数绑定审批、Markdown 记忆
mini-ray单机版 Ray 运行时C++17 · pybind11 · POSIX 共享内存任务调度、ObjectRef、Python/C++ 边界
EvalHubLLM/Agent 评测平台Python · FastAPI · React · Ollama持久化 DAG、可复现指纹、过程证据

一篇工程范式沉淀

文章主题沉淀重点
对话助手 Agent 工程联网取数 + 工具调用 + 长期记忆的对话式 Agent 参考架构上下文注入顺序与 token 预算、记忆三层读写时机、统一工具协议、Deep Research 状态编排、离线数据飞轮

和上面四个项目不同,这篇不对应某个具体代码库,写的是多个 Agent 系统里反复出现的同一组设计问题:上下文由谁装配、记忆在什么时机进出、工具列表由谁裁剪。八张架构图可以脱离具体实现单独读。

它们之间的关系

四个项目不是孤立的,正好覆盖了 LLM 应用栈的四层:

  • 做应用(RAG Agent Platform / Lobster0)会逼你回答:检索质量怎么保证?工具执行怎么才安全?
  • 做评测(EvalHub)会逼你回答:怎么证明它真的变好了?
  • 做基础设施(mini-ray)会逼你回答:这些框架底下到底在干什么?

四条最通用的经验

从四个项目里抽出来、换个场景仍然成立的几条:

1. 异步流水线按「失败域」切分,不按「步骤」切分。 (来自 RAG Agent Platform)OCR 和向量化拆开,是因为失败原因和重试成本不同,不是因为它们是两个步骤。

2. 模型提议,系统裁决。 (来自 Lobster0)模型输出的 Tool Call 只是提议,校验、鉴权、审批、执行、审计全部在系统侧。硬边界与权限模式必须分层,最松的模式也不能变成后门。

3. 跨语言边界只传字节,不传语义。 (来自 mini-ray)C++ 侧不理解 Python 对象,只做二进制搬运。这条边界模糊了,就要在 C++ 里实现半个 CPython。

4. 「跑失败」和「做错了」必须分开记录。 (来自 EvalHub)把基础设施故障记成 0 分会污染所有结论。这条在监控、告警、AB 实验里同样成立。

相关阅读