新闻详情

新闻详情

首页 / 资讯中心 / 详情

Clawith架构深度剖析:FastAPI + LangGraph + PostgreSQL 持久化检查点执行链路(初学者完整指南)

发布时间:2026/11/15 18:33:07来源:尧图网络
Clawith架构深度剖析:FastAPI + LangGraph + PostgreSQL 持久化检查点执行链路(初学者完整指南)
Clawith架构深度剖析FastAPI LangGraph PostgreSQL 持久化检查点执行链路初学者完整指南【免费下载链接】ClawithYour First AI Agents Company项目地址: https://gitcode.com/gh_mirrors/cl/ClawithClawith 是一款开源的多智能体协作平台Your First AI Agents Company它使用FastAPI构建 API 服务用LangGraph编排智能体执行逻辑并依赖PostgreSQL持久化检查点Durable Checkpoint让每个 AI 智能体拥有持久身份、长期记忆和跨会话的可靠状态。本文将带你完整理解这条从收到消息到落盘存档的执行链路无需深厚代码基础也能读懂。一、为什么选择这三件套很多初学者会问一个 AI 智能体平台凭什么要同时用到 Web 框架、图编排引擎和数据库三种技术答案在于职责分离技术栈在 Clawith 中的角色解决什么问题FastAPI统一 API 入口聊天、任务、触发器、IM 渠道高并发接入、鉴权、多租户隔离LangGraph智能体执行内核的控制流编排模型调用 → 工具执行 → 校验的状态机流转PostgreSQL持久化检查点存储langgraph_checkpoint模式进程重启、崩溃后智能体能接着上次继续三者各司其职FastAPI 负责接单LangGraph 负责干活PostgreSQL 负责记账。这就是 Clawith 架构最核心的设计哲学。二、执行链路全景图一条消息的旅程根据官方架构文档 01-architecture-overview.mdClawith 的所有持久化 Agent 逻辑都走同一条链路Web / 渠道 / 任务 / 触发器 / 心跳 / A2A │ ▼ RuntimeCommandIntake命令接入层 AgentRun AgentRunCommand写入数据库 │ ▼ Command Worker按线程串行执行 │ ▼ Clawith Agent Kernelcontext - model - tool - verify │ ▼ LangGraph PostgreSQL 持久化检查点整个过程可以拆成5 个关键步骤1️⃣ 请求接入所有入口殊途同归无论是网页聊天、Slack/Discord/飞书等 IM 渠道、定时触发器还是 Agent 之间互发消息A2A所有入口都不直接干活而是把请求转换成一条持久化命令start、resume、cancel三种写入agent_run_commands表。这一层的设计来自 02-backend-runtime-boundary.md 中的边界规则API 适配器绝不直接调用执行节点也不允许修改检查点状态。这样无论前端加多少种入口底层执行逻辑永远只有一份。2️⃣ 命令收件箱像邮件一样可靠agent_run_commands表就是一个收件箱——命令被接收后不会丢失即使服务重启未处理的命令依然躺在数据库里等待被领取。这是典型的At-Least-Once 投递设计为后面的幂等重试打下基础。3️⃣ Command Worker串行执行守门员command_worker.py 是整条链路的心脏。它的职责是从数据库认领一条待执行命令对同一会话Thread加锁串行执行避免两条消息交叉执行导致状态错乱调用 LangGraph 图执行执行完成后做幂等对账消息投递、通知推送可安全重试。 关键原则检查点是唯一权威状态。即使产品侧同步失败已提交的检查点依然有效对账逻辑可以无限重试直到一致。4️⃣ LangGraph 执行内核确定性控制流graph.py 定义了智能体运行的状态机节点依次为compact— 按需压缩过长的上下文model— 调用 LLM 模型tool— 执行工具调用带重试策略verify— 校验结果wait/terminal— 等待外部输入或进入终态。每个节点转换都会把状态写入检查点。这意味着模型调用到一半进程挂了没关系重启后 Worker 从上一个检查点resume继续就像游戏自动存档一样。5️⃣ PostgreSQL 检查点智能体的长期记忆checkpointer.py 使用langgraph-checkpoint-postgres的AsyncPostgresSaver把每一步执行状态序列化存入独立的langgraph_checkpointschema支持加密序列化防止状态泄露。这里有一个初学者容易混淆的概念Thread ≠ Run。一条 Thread会话线程上可以跑多个逻辑 Run直聊场景多个 Run 共享一个 Thread而群组和后台任务则各自独立。这个映射关系由runtime_thread_config()统一管理。三、四类事实严格分家稳定性密码Clawith 架构中最值得初学者记住的一条设计原则是四类事实分离详见 01-architecture-overview.md事实类型归属说明产品记录产品数据库表租户、用户、智能体、会话、群组命令收件箱agent_run_commands表已接收的 start/resume/cancel执行生命周期LangGraph 检查点PostgreSQL 持久化状态用户投递产品对账器幂等消息投递与外部通知铁律只有一条产品侧投影永远不能成为第二套 Agent 状态机。API 层不允许直接改检查点生命周期字段。这种单一事实来源设计正是企业级 Agent 平台区别于 Demo 级聊天机器人的关键。四、多租户隔离企业级的底线作为多租户系统03-multi-tenant-data-model.md 规定了三层隔离数据库层所有查询必须显式带上tenant_id过滤缓存层Redis 键统一使用tenant:{tenant_id}:{key}格式后台任务层Worker 执行前必须校验目标 Run 的租户归属。五、小结三条主线串起整个架构 FastAPI把一切入口聊天/渠道/触发器/A2A统一翻译成持久化命令LangGraph以确定性状态机驱动model → tool → verify循环每步都落检查点PostgreSQL既存命令收件箱又存执行状态保证永不丢任务、永远可续跑。理解了这条命令收件箱 → 串行 Worker → 检查点续跑的链路你就掌握了 Clawith 运行时 90% 的设计思想。想深入源码从这三个文件入手即可执行图定义backend/app/services/agent_runtime/graph.py命令工作器backend/app/services/agent_runtime/command_worker.py检查点接线backend/app/services/agent_runtime/checkpointer.py【免费下载链接】ClawithYour First AI Agents Company项目地址: https://gitcode.com/gh_mirrors/cl/Clawith创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉