Python·反欺诈专栏 第 3 篇架构篇系列00 开篇 → 01 技术选型 → 02 架构 → 03 数据篇 →上一篇[技术选型篇RAG 为什么不用 LangChain](《AgentX Python 专栏》02-技术选型篇RAG 为什么不用 LangChain而是选了 LlamaIndex.md)️ 标签#Python #金融反欺诈 #LangGraph #GraphRAG #Agent架构 #Neo4j #Text2Cypher《AgentX Python 专栏》03-架构篇Agent 和「调个 API」的本质区别在架构上长什么样这是「用 Python 从 0 打造金融反欺诈 GraphRAG 智能体」专栏的第 3 篇。选型定了这一篇讲整体架构怎么搭、每个设计为什么这么定——这也是 Agent 工程化和调个 ChatGPT API的真正分水岭。本文速览一个请求的完整旅程从P001 有风险吗到带依据的回答六层分层架构——每层职责 为什么这么分核心LangGraph 编排状态机——Agent 的灵魂以及跑崩了怎么办 站在 Java 肩膀上六层架构的迁移映射4 个让它像生产系统的架构决策一、先看一个请求的旅程风控分析师问一句“申请人 P001 有欺诈风险吗”如果是调个 API那就是chat.completions.create(P001有风险吗)→ 模型瞎编一通。它根本不知道 P001 是谁。而在 AgentX-py 里这个请求会走完这样一条链抽出实体 P001 → 判断意图(风险查询) → 生成图查询 Cypher → 校验 交叉验证 → Neo4j 沿关系链检索P001 和谁共用设备/担保 → 算风险特征团伙规模/黑名单距离→ LLM 结合证据解释 → 护栏校验引用的关系真实存在→ 返回带依据的回答差别就在这条链上调 API 是问一句答一句Agent 是会规划、会查证、会兜底、答得有依据。支撑这条链的就是架构。二、六层分层架构层职责关键组件接入层收请求、校验、流式返回FastAPI Pydantic SSE编排层Agent 大脑决定下一步干什么LangGraph 状态机能力层干活检索 / 工具 / 记忆LlamaIndex RAG、GraphRAG、工具系统模型层推理 向量化Ollama / DeepSeek、bge-m3存储层存关系 会话Neo4j图向量、Redis横切贯穿全程评测 可观测Ragas / DeepEval、OTel / LangFuse为什么分层一句话职责分离换件不动全身。想把 DeepSeek 换成别的模型只动模型层。想加个新检索策略只动能力层。编排层不关心用哪个模型存储层不关心谁在调它。这是十几年工程养成的直觉——层与层之间靠接口说话不靠耦合。三、 核心LangGraph 编排状态机Agent 的灵魂如果说六层是骨架编排层就是灵魂。它决定了这东西是智能体还是聊天机器人。它是一个状态机我用 LangGraph 把整条链建成一个有向图——每个节点是一步操作边是流转条件图中的三个关键路径绿色 ✓ 为正常流程橙色 ⟳ 为重试≤N 次红色 ✗ 为降级兜底。一条链三条路每个节点职责明确——这才是生产级 Agent 编排该有的样子。“跑崩了怎么办”——这才是面试官想看的调 API 的人只想怎么让它跑通做过生产的人想的是它崩了怎么办。这条链上我埋了三道防线重试Text2Cypher 生成的 Cypher 不可靠小模型尤甚失败就重生成最多 N 次降级重试还不行降级到预审过的参数化模板查询——保证至少能返回正确结果护栏LLM 可能语法对、语义错或编造关系最后用护栏校验引用的关系在图里真实存在防幻觉。这套「条件路由 重试 降级 护栏」就是 2026 AI 岗最高频的考点——“Agent 编排失败模式”。LangGraph 的add_conditional_edges Checkpointer 让它落地得很自然。四、 站在 Java 肩膀上架构迁移映射我不是从零学 AI——我用 Java 自研过一套 Agent 框架6644 行这次是带着架构直觉转 Python。六层几乎一一对应Java 版 AgentXAgentX-py说明Spring Boot ControllerFastAPI router换语法AgentService调度service / 编排入口换语法AgentWorkflow自研工作流LangGraph StateGraph框架替代自研更强ToolRegistry Tooltool registry换语法ChatMemoryRedisLangGraph Checkpointer换包装可观测OTelJaeger同一套 OTel Jaeger底座直接复用最关键的是AgentWorkflow → LangGraph这一映射我自己写过工作流引擎所以一眼看懂 LangGraph 在干什么——它就是把我手写的 while 循环 状态管理封装成了更优雅的状态机 API。框架不是黑魔法是把你会的概念封装好。五、4 个让它「像生产系统」的架构决策光能跑不够要像能上线的系统图 向量一个库Neo4j 5 原生向量——省掉单独维护 Milvus架构更简。双模型可切换Ollama / DeepSeek——抽象统一接入层私有化走本地、拼性能走 API不依赖单点主模型故障自动熔断降级到本地。全链路可观测OTel → Jaeger LangFuse——每个节点、每次 LLM 调用都埋点哪一步慢/错一目了然这是我 Java 版治20 秒黑盒练出来的肌肉记忆。异常体系 只读 DB 账号——统一错误响应Neo4j 用只读账号连接从数据库层杜绝 Cypher 注入金融场景的安全底线。这些不是设计时拍脑袋想的——是这份架构经过两轮设计评审 迭代打磨出来的评审记录都在 GitHub 仓库里。「设计 → 评审 → 修复」的闭环本身比一份完美文档更能说明工程素养。六、下一篇架构图纸有了下一篇就真正动手搭——《环境与底座 Faker 造一套会作弊的数据》Docker 起 Neo4j用 Faker 造 2000 个申请人并故意植入欺诈团伙让图数据库里真有设备团伙、循环担保环可查。代码跑起来纸上架构才算活了。 写在最后关于「关注」这件事全网 AI 教程很多但从架构设计、代码实现、真实踩坑到评测数据一条龙带你做完一个工程级作品的系列真的不多。这个系列我会一篇篇认真更下去。如果这篇对你有点用点赞 收藏让更多同路人刷到也方便你回头查关注我这是个长连载关注了才不会错过后续——断了衔接就难接上了评论区告诉我你正在做 AI 转型吗卡在哪一步想优先看哪篇——呼声高的我提前更跟着做能攒出作品每篇都带可复现的步骤跟着走你也能搭出属于自己的那一份。我是SuniaCoder汪旭 / Sunia一个 12 年的全栈老兵正在记录自己的 AI 突围。这里只写能落地、可复现的硬核实战——不灌水不空谈。我们下一篇见。评论区聊聊你设计过最复杂的系统架构是什么分层踩过哪些坑