1579 字
约 5 分钟
0
给 Agent 换块"画布":用拖拽编排代替手动配库

给 Agent 换块"画布":用拖拽编排代替手动配库

配一个 Agent,以前要手动往数据库里填一堆关联表;现在,画张图就行。

一、先感受一下"手动配 Agent"有多疼

一个 Agent 要跑起来,数据库里得有一串配置关系:

ai_agent            → 智能体本身(名称、策略)
ai_agent_flow_config → 挂哪些角色客户端(分析员/执行员/质检员)
ai_client            → 角色定义
ai_client_config     → 关联表(client → model / prompt / tool_mcp / advisor)
ai_client_model      → 用哪个模型
ai_client_tool_mcp   → 挂哪些 MCP 工具
ai_client_system_prompt → 角色人设
...

其中那张 ai_client_config 关联表,要人手动填:

source_type="client", source_id="3101", target_type="model",  target_id="3001"
source_type="client", source_id="3101", target_type="tool_mcp", target_id="5006"
source_type="model",  source_id="3001", target_type="tool_mcp", target_id="5006"

每个字段不能错:target_type 写错、ID 对不上、状态忘开 1,Agent 就静默失灵,还贼难查。

更要命的是——这事只有懂表结构的人能干。运营配不了、测试配不了、客户更配不了。

二、换个思路:把"配 Agent"变成"画图"

如果你玩过 Coze、Dify 这类 Agent 平台,你会知道它们都长这样:一块画布,拖节点、连线、保存

[Agent] ──→ [Client: 任务执行]
              ├─→ [Model: gpt-5-mini]
              ├─→ [Prompt: 你的角色提示词]
              ├─→ [Advisor: 记忆]
              └─→ [Tool_MCP: 搜索] ──→ [Tool_MCP: CSDN发帖]

每个节点 = 一个资源(客户端/模型/工具/提示词),每条线 = 一个关联。 画完这张图,一个 Agent 就配好了。

这就是 3-19 干的事:用 flowgram.ai 做画布,让配置可视化、可拖拽。

三、数据库为此变成了三层

这是本文的核心——加了画布之后,数据库的表被清晰分成了三层:

┌─ 资源层 ─────────────────────────────┐
│  ai_client / ai_client_model /       │   "有哪些素材"
│  ai_client_tool_mcp / ...            │   画布节点下拉的数据来源
└──────────────────────────────────────┘
            ↓ 被画布引用
┌─ 编排层 ─────────────────────────────┐
│  ai_agent_draw_config (+nodes/edges) │   "怎么拼成一个Agent"
│  整张画布的 JSON 图纸                 │   画布保存时自动写入(新增)
└──────────────────────────────────────┘
            ↓ 解析落库
┌─ 执行层 ─────────────────────────────┐
│  ai_agent / ai_agent_flow_config /   │   "运行时真正用的配置"
│  ai_client_config                    │   运行时调度器读这里
└──────────────────────────────────────┘
  • 资源层:管"有哪些素材",画布节点从这里拉数据
  • 编排层:管"怎么拼",存整张画布的图纸(3-19 新增)
  • 执行层:管"怎么跑",是运行时真正读的配置

以前只有资源层和执行层,靠人手动把它们关联起来;现在多了编排层,关联由画布自动生成

四、画布"图纸"长什么样

ai_agent_draw_config 表核心字段:config_idagent_idconfig_data(整张图 JSON)、versioncreate_by……

config_data 就是这张图,结构很直观——nodes 是节点,edges 是连线

{
  "nodes": [
    {"type":"agent",    "data":{"inputsValues":{"agentName":"固定任务模型", "strategy":"fixedAgentExecuteStrategy"}}},
    {"type":"client",   "data":{"inputsValues":{"clientId":"2103", "sequence":1}}},
    {"type":"model",    "data":{"inputsValues":{"modelName":"3001"}}},
    {"type":"tool_mcp", "data":{"inputsValues":{"toolMcpName":"5006"}}},
    {"type":"prompt",   "data":{"inputsValues":{"promptName":"6002"}}},
    {"type":"advisor",  "data":{"inputsValues":{"advisorName":"4001"}}}
  ],
  "edges": [
    {"sourceNodeID":"agent_...",  "targetNodeID":"client_..."},
    {"sourceNodeID":"client_...", "targetNodeID":"model_...",    "sourcePortID":"..."},
    {"sourceNodeID":"model_...",  "targetNodeID":"tool_mcp_..."}
  ]
}

节点里存的就是选中的资源 ID,edges 里存的就是"谁连谁"。 后端拿到这张图,用解析器(DrawConfigParser)拆开,就能还原出 Agent 需要的完整配置。

五、数据流转全链路

用户在画布拖节点、连线
   ↓ 点保存
前端把整张图转成 JSON
   ↓ 调 saveDrawConfig 接口
后端存进编排层(ai_agent_draw_config),并解析
   ↓ 解析出 agent + 资源 + 关联
落成执行层配置(ai_agent / ai_agent_flow_config / ai_client_config)
   ↓ 运行时
调度器读执行层配置 → 装配 → 跑 Agent

一条链路下来:画图 → 存图纸 → 解析 → 落执行配置 → 跑。人只负责画图,剩下的都是系统干的。

六、为什么值得这么做:四个层面的收益

收益 说明
降门槛 配置从"写 SQL"变"拖鼠标",不懂数据库也能配
防出错 线连对了配置就对,错了画布上一眼看见
可追溯 图纸有 version / create_by / history,能回滚、能审计
可平台化 配置能力从程序员手里交出去,平台能交付给普通用户

尤其最后一条——能不能可视化配置,是 Agent 项目从"个人工具"走向"可商用平台"的分水岭。Coze、Dify 卖的就是这个。

七、也别忘了边界

照例泼冷水:

  • 图纸 ≠ 可执行配置:画布存的是 JSON 图纸,运行时用的是解析后的执行配置,图纸和解析器之间要保持同步,画布新加节点类型,解析器也得跟上。
  • 数据一致性:资源表里的模型/工具被删了,画布图纸还引用着它——需要校验"图纸里引用的资源都还存在"。
  • 权限与校验:可视化让"谁都能配",也就意味着"谁都能改配置"——要配合用户权限和配置审批,否则是新的风险面。
  • 大图可维护性:节点一多,画布会乱,需要分组、模板、版本管理来兜底。

八、总结

三句话收尾:

  1. 配置 Agent 的本质是"组织资源关系"——以前用手填表,现在用画布连线,同一个目的,更好的手段。
  2. 画布把数据库分成了三层:资源层(有什么)、编排层(怎么拼)、执行层(怎么跑),中间用一张 JSON 图纸衔接。
  3. 可视化编排是平台化的分水岭——把配置能力从程序员手里交出去,项目才能从一个"能对话的 demo"变成一个"能交付给别人用的平台"。

至此,Agent 平台四部曲完成:

  1. 《让 AI 学会"自己干活、自己检查、自己改"》——一个 Agent 怎么自我闭环
  2. 《让 AI 学会"先写计划再干活"》——Agent 的两种执行哲学
  3. 《给 Agent 装个"总机"》——多种 Agent 怎么组织调度
  4. 《给 Agent 换块"画布"》——配置 Agent 怎么可视化

从"执行"到"组织"到"配置",从"代码"到"数据库"到"用户",这套 Agent 平台的设计地图就算完整了。

给 Agent 换块"画布":用拖拽编排代替手动配库
http://www.clxhxhhr.top/posts/620/
作者
clxstart
发布于
2026-09-15
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。