#四模块架构
系统围绕分析过程分工:Frontend 接收问题并展示证据,Backend 校验可访问的数据与服务身份,Agent Runtime 组织分析步骤,Graph Engine 提供图模式和计算结果。工具输出回到智能体后,可以形成解释,也可以触发进一步的实体定位、查询或比较。自进化构图位于图模式准备与优化环节,为这个分析过程提供可用输入。
| 模块 | 职责 | 入口 |
|---|---|---|
| Frontend | React 18、TypeScript、Vite;提供项目与会话、数据集上传与构图预览、图分析与训练视图、报告、工作区文件、记忆与技能管理。 | frontend/ |
| Backend | 面向浏览器的公共 API;将请求绑定到默认工作区,管理项目与模型配置,校验数据范围,转发运行和图请求,并提供工作区下载与导出接口。 | python -m backend |
| Agent Runtime | Agno AgentOS;选择分析步骤并解释工具结果,管理会话、单次运行、记忆、技能、审批与执行追踪。 | python -m agent_runtime |
| Graph Engine | 管理图模式、版本与数据集,执行查询、算法和图学习,支持构图准备、后台作业与结果文件;提供 HTTP 和 MCP 适配器。 | python -m graph_engine api |
#数据归属
| 数据 | 归属与保存位置 |
|---|---|
| 默认工作区归属、项目与模型配置 | Backend 的配置存储 |
| 会话、单次运行、消息、记忆与追踪 | Agent Runtime / PostgreSQL |
| 内置、用户活动与候选技能 | Agent Runtime 的技能目录;候选技能不进入活动加载器 |
| 源数据、图版本、构图结果、图作业和模型文件 | Graph Engine 管理的数据目录与存储 |
| 会话文件工作区 | Backend 保存上传文件;Agent Runtime 运行工作区工具并发布结果;共享存储仍按默认工作区归属与会话分目录保存 |
文件工作区分为 Uploaded(只读上传文件)、Ephemeral(中间文件)、Derived(已发布结果)和 Environment(会话运行环境)。前端文件列表展示 Uploaded 与 Derived,并为可下载的 Derived 文件提供下载入口。智能体必须发布结果文件后,用户才能从这个入口取得文件;文字回答中写出服务器路径不等于文件已经交付。
浏览器保留恢复所需的 session_id、run_id、event_index 和本地交互偏好。会话与图数据以服务端记录为准;切换或刷新页面时,前端读取持久化消息和可用的运行快照来恢复展示。
单用户模式沿用已有默认归属的数据目录。升级时保持 IGRAPH_ADMIN_USER_ID 和持久化卷一致,即可继续使用对应项目、会话和数据;其他旧用户的数据不会被自动删除或合并。内部 user_id 是存储与调用上下文,不再对应浏览器中的登录或切换账号。
#一次分析请求的路径
- Frontend 通过 Backend 创建会话并提交用户问题及数据范围。
- Backend 将请求绑定到默认工作区并校验数据范围,调用 AgentOS,以 background=true 和 stream=true 启动 Run 并转发 SSE。
- Agent Runtime 结合会话状态与技能选择证据操作,通过 MCP 调用 Graph Engine,附带固定工作区归属、会话与 Run 上下文及内部服务凭据。
- Graph Engine 核验工具前提、输入范围和版本,执行图操作并返回实际结果;长任务通过作业状态交付最终结果。
- 工具证据回到智能体,供其补充分析或组织解释、图视图与报告。AgentOS 持久化消息、Run 和可用结果;原始事件回放缓存属于运行进程。
HTTP、MCP 与 SSE 分别解决不同问题。HTTP 提供项目、数据集、状态与文件等请求响应接口;MCP 把图能力暴露为带名称和参数结构的工具;SSE 持续把文本增量、工具状态、审批请求与作业进度传回浏览器。构图页也会经 Backend 直接访问 Graph Engine,不要求每项操作先发一条聊天消息。关闭浏览器连接只结束观察,服务器停止操作需要单独的取消流程。
图张量、构图结果和模型文件由 Graph Engine 管理。启用持久化执行控制后,运行标识、执行代次和停止状态沿服务链传播,用于核对操作是否仍可执行,以及工作进程能否发布结果。工具返回成功与运行结束是不同层次的状态,最终结束还需确认执行已退出、结果已保存。取消与编辑最新一轮的界面入口受 /api/capabilities 返回值控制。
#记忆与构图经验
会话历史、用户记忆与构图经验为分析提供不同层次的上下文。历史帮助继续同一问题,技能复用操作流程,构图经验辅助选择图模式变换。它们都不能代替对当前图和工具结果的核验。
LearnedKnowledge 的语义检索需要最终解析得到可用的嵌入模型与凭据。显式 EMBEDDING 配置可以覆盖供应商通用配置;未填写 EMBEDDING_API_KEY 并不一定表示关闭,因为配置代码会读取后备凭据。无法获得所需配置时,用户画像与用户记忆等基础功能仍可工作;SessionContext 是否包含计划取决于规划配置。LearnedKnowledge 使用用户命名空间和 PROPOSE 模式,和技能候选审核分开管理。
表格构图子智能体的领域策略经验是 Graph Engine 内部的独立机制,不读取主智能体的对话与记忆,也不自动替换会话当前活动图。
用户可在工作台管理面板查看、搜索和删除记忆,也可查看技能全文、上传技能以及批准或拒绝候选技能。这些入口让已保存的内容可供核对;它们不会证明每次对话都已自动形成长期记忆或可执行技能。