自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 收藏
  • 关注

原创 DataFlow 深度分析与技术文档系列计划

DataFlow 不是数据流水线引擎,而是一座"算子仓库"加一套极薄的装配规范。它要解决的问题在官方简介页写得很直白——大模型训练数据的准备「仍然是一个高度依赖手工和分散实现的过程」,而已有工具(Hadoop、Spark)「大多以传统方法为核心,尚未对大模型的自动化数据治理进行集成和优化」。DataFlow 的答案是把数据治理拆成原子算子,再用一层几乎不含逻辑的 pipeline 把它们串起来。

2026-09-23 15:11:56 536

原创 第 2 篇:「All datanodes are bad」是个谎言 —— HBase RegionServer 因 20 秒 Full GC 自我终止复盘

P6 修的是。

2026-09-23 15:05:50 575

原创 第 7 篇:「存储适配层」—— StorageAdapter 与 Local/S3 双后端,一套 API 抹平两种部署形态

list_filesis_dir()本篇聚焦(347 行)的全部方法 +的 5 个调用点 +的 2 个调用点。所有引用带file:line。

2026-09-23 12:22:59 34

原创 第 6 篇:「CRUD 与审计:SQLite 双表设计」—— 记忆的出生、改写、死亡与尸检报告

update()一次调用背后动了多少层存储(向量库的 payload、SQLite 的 history、实体库的两段清理);delete()为什么是"真删"而history()还能还原事件流;用 1000 条一批的循环防了什么坑;reset()和的边界在哪;以及那份 347 行的工程细节里藏着哪些值得抄走的设计(显式事务、迁移器、滚动消息窗口)。CRUD 的"主存储"永远是向量库——update写 payload(),delete直接删点((history 表,)与(messages 表滚动窗口,

2026-09-23 11:51:57 172

原创 第 1 篇:「零拷贝失效引发 ISR 收缩」—— Kafka 集群 P99 冲上 3000ms 复盘

P6 修的是。

2026-09-22 09:59:33 400

原创 第 7 篇:「可问责性的真空档」——收尾总结与分阶段采纳路线图

六篇深读的最终收口——14 项"宣传 vs 实现"对照的终审结论;为什么说 Semantica 的护城河是"可问责性"而非"图智能";一张可直接执行的 L0-L4 分阶段采纳路线图;中文场景适配总清单(六篇踩坑的汇总);以及把这套架构思路借鉴到自己项目的三个可移植设计。读完本篇,前六篇的所有结论折叠成一张决策地图。版本锚点 main @30fc644(v0.6.8)。本篇是结论篇,所有论断的源码证据链分布在前六篇与两份研究文档(),此处只给索引不重复展开。

2026-09-22 09:49:36 310

原创 第 6 篇:「Slim-Hydrate 协议」—— Redis 瘦身后与按需回填

slim = {k: v顶层剔除和两个巨型 JSON 字段直接丢,单个 1-5MB,几乎不进 status 主路径data 收窄到 3 个 bool重写为has_images标志字典,完全丢弃(markdown body)和(base64 列表)'json_files': { # ← 仅当 MinerU 产出存在},'data': { # ← 3 个 bool,字节数 ≤ 100},这是「瘦元数据」的完整形态。

2026-09-22 09:28:09 353

原创 第 5 篇:「实体库:向量化的实体邻接表」—— v3 用 4 类实体重写了 GraphMemory

03 篇用 file:line 实锤了一个"设计意图 vs 管线现实"的错位:LLM 在提取阶段输出的记忆级 (“这条记忆和那条记忆有关”)在 OSS 管线里没有任何消费点—— 只写不读,sync/async 两个版本都是。结论是:v3 的"记忆图"(memory-to-memory)在开源版没有兑现。但如果你就此认为"Mem0 v3 没有图",就漏掉了另一半事实。 这个名字在代码里还有第二处活着的存在——实体记录的 payload。实体库(entity store)里每一条实体都挂着一个 列表,指向"提

2026-09-22 09:18:29 343

原创 第 8 篇:「一台能跑的整车」—— 全系列收尾总结

OpenManus 不是最好的 Agent 框架——它有真 bug、有未完成的设计、有风格漂移。但它可能是性价比最高的 Agent 源码教材:1.1 万行读完全部核心链路,没有分布式追踪、没有流式协议、没有 adapter 森林,每个工程问题(容错、热更新、沙箱、多 Agent 路由)都有一个"最小可行解"摆在明处,连同它的缺陷一起。读它像看一辆没有内饰的样车——所有焊点都看得见。本系列的读法是"带着批判读":每篇先立架构再进源码,每处源码事实带file:line可回溯,每个缺陷给修复建议。

2026-09-14 10:44:31 437

原创 第 6 篇:「四个入口与一个空转的工人」——服务生态与生产落地

Semantica 的产品化外延——FastAPI 服务(13 个 router、fail-closed 认证、WebSocket 图更新推送)、手写 JSON-RPC 的 MCP server(16 个工具、零 SDK 依赖)、4,848 行的 Click CLI(doctor 体检与 store migrate 迁移)、React 19 + Sigma 3 的 Knowledge Explorer 全栈剖析,以及 pipeline DSL 与 20 个导出器。worker.py的。

2026-09-14 10:32:11 276

原创 第 5 篇:「任务编排」—— 一个 PDF > 100 页时,Celery 父子任务是怎么跑起来的

分片三 AND 条件+ pypdfium2 可读 + 页数 > 100复用 pypdfium2 lock:避免 chunk 并发 pypdfium2 crashlocal vs 非 local 两套路径:local 同步循环、非 local 异步任务图send_task而非:作者故意不用 Celery 任务图原语注册到同一队列:不分流重构 5 个字段失败 fallback:部分 chunk 失败仍合并成功的部分(status 还是 completed)Slim-Hydrate 协议。

2026-09-14 10:17:38 153

原创 第 4 篇:「search() 深读:三信号加法评分」—— 一条记忆为什么排在最前面

search()从收到一句话到返回排序结果之间发生的全部事情——为什么先做 4 倍语义过采样再评分而不是直接取 top-k、BM25 分数如何被 sigmoid 压进 [0,1]、实体 boost 的上限与降权公式、threshold 在哪个环节起作用(以及它拦不住什么)、时你能看到怎样的三信号明细。检索不是一次向量查询,而是「语义召回 → BM25 关键词 → 实体链接」三路信号在)里的;search()入口在,核心流水线在,共 9 步。

2026-09-14 10:00:06 112

原创 第 7 篇:「循环外面再套一层」—— PlanningFlow 编排解剖

OpenManus 源码级深度解读(master @:DeepWiki ch7(Flow System):7.1 抽象 / 7.2 PlanningFlow / 7.3 多 Agent 编排,含深读补遗(442 行)、(57 行)、(30 行)、(53 行)、(157 行)ReAct 循环为什么需要外面再套一层;"计划即工具调用"的架构如何让规划器与执行器零耦合;步骤前缀怎么实现动态分派;以及这套编排里四处容错降级与一处真正会导致死循环的边界缺陷。

2026-09-11 13:32:56 373

原创 第 5 篇:「最值钱的模块与它的占位符邻居」——溯源治理与推理引擎

Semantica 12.1k star 的真实含金量在哪里——是全仓质量最高的模块:sequence_id 哈希链、双信号篡改检测、墓碑式失效、W3C PROV-O 限定限定词导出,全部有实码且实测可复现。推理层的图景则一半真实一半虚影:Datalog semi-naive 不动点是真实现,Rete 有真 alpha/beta 网络但无节点共享,而 OntologyValidator 类里的 HermiT/Pellet 是教科书级的占位符现场——本篇把两者放在同一张解剖台上。版本锚点 main @

2026-09-11 11:40:56 446

原创 第 4 篇:「进程隔离」—— 一个 226 行的子进程,把 Celery 杀不死的死循环治得服服帖帖

设想只有 SIGKILL——一切 mining 在中途,GPU 显存立即释放但 CUDA context 已损坏,下次 spawn 子进程的会失败。设想只有 SIGTERM—— MinerU 卡在cudaMalloc阻塞,SIGTERM 信号永远等不到 Python 响应,进程不退出。设想只有put(None)—— MinerU 在的do_parse中还没读完这个 request(长时间任务),从do_parse中途退出可能让 MinerU 内部状态错乱。三阶段降级的妙处第一阶段尝试优雅——

2026-09-11 11:35:34 130

原创 第 3 篇:「提取大脑」—— ADDITIVE_EXTRACTION_PROMPT 深度解剖

Mem0 深度分析(02 篇走完 add 八阶段管线,本篇解剖 Phase 2 那次 LLM 调用的"大脑")(组装层)、(OSS 调用点)这个 1062 行文件里提示词的七段式结构;九个输入段与 OSS 实际传参的落差(有两个输入永远是空的);"双时间锚"机制在 OSS 里的一个真实缺陷;质量标准七原则与六条 Integrity Rules 的精华;以及两个"设计意图 vs 管线现实"的错位——LLM 被要求输出的记忆级链接,在开源版管线里被整个丢弃。

2026-09-11 11:26:10 146

原创 第 6 篇:「给模型一个囚笼」—— 沙箱体系全解剖

OpenManus 源码级深度解读(master @:沙箱执行体系全章:本地 Docker 沙箱()+ 云沙箱双轨((462 行)、(346 行)、(313 行)、(201 行)、(165 行)、(224 行)一个命令如何在资源受限、断网、带哨兵提示符的 Docker 囚笼里执行;文件为什么必须走 tar 流;管理器如何用三级锁+空闲回收治理上百个容器;以及 OpenManus 本地/云两条沙箱路线的真实分工——和它们各自没做完的事。

2026-09-10 10:17:53 306

原创 第 4 篇:「平行于管道的第二主干」——决策智能核心解剖

官方文档把 27 个模块画成六层流水线,但源码里最大的模块context(21,500 行,全仓第一)并不是 KG 管道的下游消费者——它是一条。的决策生命周期 API(record/trace/precedent)、先例检索的混合相似度算法与中文场景的实测阈值陷阱、用hasattr探测图后端的鸭子类型探测术、以及那份"诚实部分报告"式的 GDPR 擦除回执。全部结论含运行时实测证据。版本锚点 main @30fc644(v0.6.8)。本篇所有file:line均已在本地镜像。

2026-09-10 10:05:44 278

原创 第 3 篇:「接入层」—— FastAPI + asyncio.to_thread 织出的非阻塞调度

所有 Celery/Redis 调用都包——send_task一个不漏三态探针并行 + 各自超时——避免一个慢依赖拖垮全 API流式上传 + 8MB chunks——大文件不爆内存,413 即时反优先级 field 直传——客户端 priority 字段值就是 RedisZADD的 score公开 endpoint 强制走过滤——路径/ID/硬件标识不外泄这一节回答两个问题:FastAPI event loop 会被 Celery 阻塞,但被 asyncio.to_thread 救回来。

2026-09-10 09:52:12 168

原创 第 2 篇:「add() 深读」—— V3 八阶段批量提取管线

Mem0 深度分析(00 篇路线图 / 01 篇初始化链路)(同步版)、(异步镜像)、一次m.add()从参数归一到向量库落盘的完整路径;V3 八阶段管线每一步在做什么、为什么这么做;v1→v3 的 LLM 调用成本账(O(N) → O(1));管线里四个"出问题但没报错"的静默点,以及怎么观测它们。

2026-09-10 09:35:11 140

原创 第 5 篇:「既是客户端,又是服务端」—— MCP 集成的双向桥

OpenManus 源码级深度解读(master @:DeepWiki ch6(MCP Integration)全章:6.1 架构 / 6.2 客户端 / 6.3 服务端(224 行)、(187 行)、(114 行)、(175 行)、run_mcp.py(116 行)一个远程 MCP 工具如何变成BaseTool集合里的本地代理;MCPClients继承带来的架构红利与类属性陷阱;MCPAgent每 5 步刷新工具列表的热更新机制;OpenManus 如何把自己的工具反哺给外部 Agent;以及。

2026-09-09 22:14:22 251

原创 第 3 篇:「一套 API,十七种后端?」——存储层与多后端抽象解剖

宣传中"零迁移换后端"的 polyglot 存储,源码里既不是注册表也不是抽象基类,而是 if/elif + 延迟 import + 鸭子类型的三重重复;四大存储模块(graph/triplet/vector/embeddings)各自的适配质量差异;"混合搜索"里没有 sparse 分量的真相;以及 hash 假向量如何无声污染检索质量。本篇覆盖官方 Storage 层(embeddings/vector_store/graph_store/triplet_store)。版本 main @30fc644。

2026-09-09 22:09:37 312

原创 第 2 篇:「调度层」—— 一份 Celery 配置如何扛住 GPU 跑飞的死循环

单队列 + 优先级,不分流 GPU/CPU,靠 priority 字段排序三层可靠性开关acks_late)联合保证「不丢、不卡、不双跑」4 个超时交叉校验)启动期 fail-fastGPU Worker 并发 = 1+ prefetch = 1 + 双重内存保险(tasks/memory),靠「常自杀重启」抗长尾Redis 不存 content,metadata 永远 slim,body 永远 hydrate这一节回答两个问题:客户端 priority 字段最终落到 RedisZADD。

2026-09-09 22:01:22 95

原创 第 1 篇:「架构鸟瞰与 Memory 初始化」—— 从 pip install 到三个工厂

Mem0 深度分析(00 篇为总路线图):main 分支 2026-09-04 快照,Mem0 三条产品线(OSSMemory/ Platform)的边界;Memory()一行构造背后发生了什么(8 个初始化步骤);工厂注册表 + 反射的插件机制;默认配置链里那些"和你想的不一样"的值;换 LLM/嵌入/向量库的最小改动面。

2026-09-09 21:44:14 159

原创 第 0 篇:「Mem0 深度分析与文档系列计划」—— 记忆层基础设施的源码级解读路线图

对(GitHub 64.8k stars)开源记忆层框架做源码级深度解读。main分支,最近推送 2026-09-04,Python 包版本用户口语中的"master 分支"在 GitHub 上不存在 —— 该仓库默认分支为main(已通过 GitHub API 确认),本系列所有file:line引用均基于此版本。,sitemap 共 241 页;本系列篇目以官方文档(7 页)与(13 页)二级章节为骨架,cookbooks(28 篇)作为应用篇素材。

2026-09-09 21:23:12 370

原创 第 8 篇:「放不下就落盘,用完才回收」—— 对象溢写与分布式引用

溢写 worker 是 Raylet 启动的独立 IO 进程,它运行用户提供的 spill / restore 逻辑。Ray 默认提供 filesystem / S3 / GCS 三种后端,但你可以用环境变量指向自定义实现,从而把对象溢写到任意存储(如 HDFS、分布式缓存)。这是 Ray 把"对象生命周期的 I/O"做成可插拔 worker的设计体现——与计算 Worker 池完全隔离。

2026-09-08 11:32:08 319

原创 第 10 篇:「Table API 与 SQL 总览」—— 一条 SQL 如何被 Calcite 编译成 Flink 的 Transformation

仓库:https://github.com/apache/flink官方文档:https://nightlies.apache.org/flink/flink-docs-lts/技术栈:Java 11 / Scala / Apache Calcite / Planner SPI / RelNode / ExecNode / Transformation解读版本:release-1.20.5(commit0980485解读视角:总架构师评审(架构 / 源码 / 生产 / 进阶)

2026-09-08 11:25:24 46

原创 第 4 篇:「外围能力三件套」—— 浏览器、搜索与数据可视化管线

OpenManus 源码级深度解读(master @(114 行)、(418 行)、(269 行)、(263 行)、(38 行)为什么"浏览器能力"其实是一个 MCP 插件而不是内置工具;四引擎搜索的三层重试如何编排;Python 图表为什么要绕道 Node.js 子进程渲染;以及这一篇里埋着的三个真实 bug——包括一个会误导 LLM 传错参数的 schema 错误。

2026-09-08 11:17:16 356

原创 第 2 篇:「2.1 万行的搬运工」——摄取与抽取链解剖

Input 层 + 抽取层如何用"三件套同构"支撑 31 个摄取源与 4 个企业连接器;的 SQL 注入防护为何值得单独一节;官方宣传的 13 种分块方法中为什么只有"两个半"是真实现(存根代码铁证);双轨抽取体系(规则/本地 ML 确定性 × 9 家 LLM 可选注入)的工程细节与的名不符实。

2026-09-08 11:10:39 460

原创 第 1 篇:「解耦三服务 + 数据流链路」

ThinkParse 的 README 第一段就把架构画了出来:但为什么是 3 个 service 而不是 1 个单进程?三个理由互相独立: 把这层隔离用 profile 机制表达得很清楚():关键细节:API 和 Cleanup 不带 profile,意味着无论怎么配 Worker profile,这两个服务都会跟着 启动。CPU 和 GPU Worker 是互斥的(不能同时 enable 和 ,否则两个 Worker 会抢同一队列里的任务,资源浪费且调试困难)。三个 service 不直接 impo

2026-09-08 11:01:05 149

原创 第 0 篇:「高级架构师视角下的 ThinkParse 全景」

2026-09-02 发布):源码级深度解读,架构 / 源码 / 生产 / 进阶四视角齐备(51 个文件,507KB,0 坏文件):分布式系统工程师 / Python 异步架构师 / 文档解析方向技术决策者:所有断言必须file:line可追溯;无锚点断言一律删除。

2026-09-08 10:55:53 142

原创 第 09 篇:「网络栈与数据交换」—— Credit-based 反压如何把流控从 TCP 提前到应用层

接收端消费 → 发。

2026-09-07 10:27:09 83

原创 第 3 篇:「Pydantic 即 Schema」—— 工具生态三层解剖

不需要任何注册器;

2026-09-07 10:17:47 374

原创 第 1 篇:「Glass-Box 的骨架」——全景架构与六层数据流水线

Semantica 官方宣传的 27 个模块如何组织成六层数据流水线;一条"文档进、图谱出"的主链路在源码里长什么样(GraphBuilder 逐段拆解);双时态事实模型为何选择"包装器而非替换"的兼容设计;以及用 1.9GB 依赖面换来的"确定性"到底值不值。本篇是全系列的地基:先建立六层心智模型,后面 02-06 篇逐层打穿。版本锚点 main @30fc644(v0.6.8)。所有file:line均为完整仓库相对路径,可在本地镜像直接定位。

2026-09-07 10:01:22 457

原创 第 0 篇:Semantica 深度分析系列计划

Semantica 源码级深度解读(main 分支):semantica-agi/semantica(“图原生上下文与可问责 AI 基础设施”,12.1k+ stars,MIT):main @30fc644(2026-09-05 推送,v0.6.8,2,848 commits)(git clone --depth 50,374 个 Python 文件约 21 万行 + Explorer 前端 3.1 万行 TS):官网 https://getsemantica.ai/;

2026-09-07 09:46:29 516

原创 第 7 篇:「提前圈一块地」—— 资源模型与 PlacementGroup

仓库:https://github.com/ray-project/ray官方文档:https://docs.ray.io/en/latest/ray-core/scheduling/placement-group.html技术栈:C++(GcsPlacementGroupManager · NewPlacementGroupResourceManager · ClusterResourceScheduler · Bundle 调度策略)

2026-09-06 14:37:26 363

原创 第 08 篇:「Savepoint 与状态恢复」—— 一份快照如何从磁盘回到正在运行的拓扑

仓库:https://github.com/apache/flink官方文档:https://nightlies.apache.org/flink/flink-docs-lts/技术栈:Java 11 / Savepoint / CheckpointMetadata / StateAssignmentOperation / RestoreMode / keyGroup解读版本:release-1.20.5(commit0980485解读视角:总架构师评审(架构 / 源码 / 生产 / 进阶)

2026-09-06 14:33:24 158

原创 第 07 篇:「RocksDB 深潜」—— 增量快照与 1.20 的文件合并

仓库:https://github.com/apache/flink官方文档:https://nightlies.apache.org/flink/flink-docs-lts/技术栈:Java 11 / RocksDB / LSM-Tree / SST / ColumnFamily / 增量快照 / FileMerging解读版本:release-1.20.5(commit0980485解读视角:总架构师评审(架构 / 源码 / 生产 / 进阶)

2026-09-06 14:30:56 153

原创 第 2 篇:「一个 toml 走天下」—— 配置系统与多供应商 LLM 封装

OpenManus 源码级深度解读(master @(372 行)、app/llm.py(766 行)、(334 行)、(113 行)一个 toml 文件如何驱动七个子系统;Config双检锁单例与 example 回退的利弊;LLM按 config_name 的单例路由如何实现"主模型 + vision 模型"双通道;token 预算控制为何被 tenacity 白白重试 6 次;Bedrock 适配层用 334 行解决什么问题、又留下什么隐患。

2026-09-06 14:28:03 408

原创 第 1 篇:「三小时原型」的执行引擎—— think-act 循环全景解剖

OpenManus 源码级深度解读(master @(197 行)、(39 行)、(259 行)、(204 行)一条用户指令从main.py进入后,如何在 197 行的主循环里变成一连串 LLM 调用与工具执行;状态机如何保证可重入;卡死检测如何工作;Terminate终止协议如何让子类工具反向控制父类循环。

2026-09-06 14:24:25 470

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除