跳到主要内容

FlowGram 总览

AI4J 的 FlowGram 方向不是前端画布本身,而是围绕 FlowGram.ai 画布补出来的 Java 后端执行层。

先把边界讲清楚:

  • FlowGram.ai 是前端工作流画布 / editor。
  • ai4j-flowgram-spring-boot-starter 提供 Java 后端 task API、runtime facade、节点执行和 trace bridge。
  • ai4j-flowgram-demoai4j-flowgram-webapp-demo 是演示和联调用的 demo surface。

一句话定位

AI4J FlowGram 解决的是:

把前端画出来的工作流图,转换成后端可验证、可运行、可取消、可观测的 Java task。

它不是把 Agent 套一层可视化 UI,而是以显式 workflow schema、task lifecycle 和 node executor contract 为中心。

什么时候用 FlowGram

场景是否适合
任务天然是节点图、条件分支、循环和稳定输入输出适合
前端需要给用户拖拽、编辑、运行工作流适合
平台需要 validate、run、report、result、cancel API适合
每一步都希望由模型自由决定下一步优先看 Agent
本地代码仓读写、shell、patch、审批优先看 Coding Agent
只是一次模型调用只需要 Core SDK

系统分层

模块 / 入口职责
前端画布ai4j-flowgram-webapp-demo、FlowGram.ai编辑节点、连线、表单和运行 UI
Spring Boot 接入ai4j-flowgram-spring-boot-startertask API、配置、鉴权扩展、task store
执行引擎FlowGramRuntimeService解析 schema、创建 task、调度节点、收口 result
节点扩展FlowGramNodeExecutorHTTP、VARIABLE、CODE、TOOL、KNOWLEDGE 等节点扩展
AI 能力ai4jai4j-agentLLM 节点、Tool、Knowledge、trace 复用

默认 task API

starter 默认围绕 /flowgram 暴露 task 控制面:

API作用
POST /flowgram/tasks/validate校验工作流 schema
POST /flowgram/tasks/run启动异步 task
GET /flowgram/tasks/{taskId}/report查看节点状态、trace 和过程报告
GET /flowgram/tasks/{taskId}/result获取最终结果
POST /flowgram/tasks/{taskId}/cancel取消任务

这说明 FlowGram 的默认形态是异步任务后端,不是“一次 HTTP 请求直接返回模型文本”。

与 Agent 的关系

FlowGram 和 Agent 可以复用同一套 AI4J 能力,但推进方式不同。

维度AgentFlowGram
推进方式模型和 runtime 决定下一步工作流图决定下一步
结构自由循环、tool loop、handoff显式节点、边、条件和 task lifecycle
适合多步推理、动态工具选择稳定流程、平台化编排、可视化操作
观测Agent event / tracetask report / node status / trace bridge

LLM 节点可以复用 Agent runtime,但 FlowGram 不会把整个工作流重新变成自由推理。

上线前要确认什么

默认配置更适合 demo 和内网联调,正式上线前应确认:

  • API 是否有鉴权或网关保护。
  • task store 是否从 memory 切到符合需求的持久化方案。
  • report 是否允许返回 node details 和 trace。
  • HTTP / CODE / TOOL / KNOWLEDGE 节点是否有白名单、超时和审计。
  • 前端编辑态 schema 到后端执行态 schema 的转换是否稳定。
  • cancel、失败重试、异常展示和日志脱敏是否覆盖。

更多检查项见 Production Checklist

推荐阅读顺序

  1. Why FlowGram
  2. Use Cases and Paths
  3. Quickstart
  4. Architecture
  5. Runtime
  6. Frontend / Backend Integration
  7. API and Runtime
  8. Built-in Nodes
  9. Custom Nodes

如果你要做的是本地代码仓任务,应该从 Coding Agent 开始;如果你要做的是通用业务智能体,应该从 Agent 开始。