AI Agent 工作流
VizChat 用单个 Agent + 按需加载的组件构建 skill——收集上下文、找到或做出组件、写入文档、验证,全过程对话内可见。
系统形态
VizChat 基于 Google ADK 运行一个 Agent:常用工具直接可用,而"新建一个组件"这类专项能力只在真正需要时才加载。把不常用的工具挡在默认工具列表之外,简单问题就不会把一堆无关工具拖进上下文。
这个 Agent 不只是给建议——它通过工具调用直接读写你的文档,整个过程在对话里可见。
一次请求的流转
一次"帮我加一个销售柱状图"的请求,大致经过这几个阶段。
收集上下文
按你的诉求,Agent 可能会:
read_yaml_path——读当前文档,在已有内容上改,而不是重复造read_document/search_document——取你引用或上传的工作空间文档fetch_reader——读取网页或链接web_search——需要外部数据时联网检索execute_python_code——在数据进入组件前做计算或整形
找组件
search_widgets 在同一个池子里检索内置组件与用户发布的组件;get_widget_operations 再返回该组件实际接受的字段与操作。你收藏过的、或用 @ 提到的组件会被优先考虑。
如果都不合适,Agent 会加载 build_user_widget skill——一个按需加载的能力包,激活后暴露整条组件构建工具链,让它在同一对话内完成新组件的构建与发布。产物默认仅你自己可见;Agent 可以用 emit_client_action 打开组件编辑器,方便你回看、微调或决定是否发布。
写入与验证
组件及其数据被写进文档,后续修改用 edit_yaml_path 做精确路径编辑。编辑完成后,validate_board 检查文档结构、引用的组件是否都已创建、引用的工作空间文档是否存在。
Agent 可用工具一览
| 领域 | 工具 |
|---|---|
| 文档编辑与验证 | read_yaml_path、edit_yaml_path、validate_board |
| 组件发现 | search_widgets、get_widget_operations |
| 工作空间文件 | list_documents、read_document、search_document、create_document、edit_document、move_document、delete_document |
| 网页 | web_search、fetch_reader |
| 计算 | execute_python_code |
| 前端副作用 | emit_client_action(打开标签页、弹提示) |
| 按需 skill | build_user_widget——组件构建工具,需要时才加载 |
触发 Agent 的方式
- 对话栏打字:最常见入口
- 选中组件 + 对话:把该组件作为"焦点上下文"
- 用
@引用文档:把 Agent 指向某个具体的工作空间文件 - 上传文件:上传的文档会被解析,可直接读取
详见 对话写作技巧。
成本与模型
模型在对话栏里由你自己选:两个官方槽位(Smart / Fast,默认 Fast),以及你通过 BYOK 配置的个人模型——一旦走 BYOK,平台积分不消耗,只消耗你 key 的原生配额。
每次 Agent 调用的积分消耗按会话记录。详见 积分系统。