‘Chat’的终结:为何 AI 接口必须是多态的
Source: Dev.to
停止强迫你的 AI 只会说话。让它去构建。
如果你现在在构建 AI 代理,可能已经陷入了 文本陷阱。
你构建了一个能够查询数据库、分析实时遥测或调试代码的复杂代理。但随后你却强迫它把所有这些丰富的智能压缩进一种单一的、失真的格式:聊天气泡。
- 用户: “服务器延迟怎么样?”
- 代理: “服务器延迟目前偏高,峰值达到 2000 ms …”
这是一种 UI 失效。
如果一位人类工程师看到这个延迟峰值,他们不会写一段文字来描述,而是会查看 折线图。如果他们在代码中发现了 bug,也不会在聊天窗口里解释,而是直接在 IDE 中通过 幽灵文本 进行修复。
我们必须停止把 AI 当作聊天机器人来使用,转而把它视作 多态引擎。
Source: …
概念:Just‑in‑Time UI
我最近实现了一个我称之为 Polymorphic Output 的系统。其核心理念很简单:如果输入可以是任何形式(多模态),输出也必须能够是任何形式。
代理不应仅仅生成文本;它应生成 意图 和 数据。随后,界面层会实时决定——根据用户的上下文——如何呈现这些数据。
| Context | Output |
|---|---|
| 聊天窗口 | 文本 / 卡片 |
| IDE | Ghost Text / Diffs |
| 仪表盘 | Live Widget |
| 紧急警报 | Toast Notification |
架构
实现(可在[链接的仓库]中找到)将 Brain 与 View 分离。
1. 模态检测器
代理不再返回一个简单的 return string,而是将响应通过 OutputModalityDetector。该模块分析两件事:数据类型 和 紧急程度。
| 问题 | 结果 |
|---|---|
| 是时间序列数据吗? | Modality.CHART |
| 是表格数据吗? | Modality.TABLE |
| 是代码修复吗? | Modality.GHOST_TEXT |
| 紧急程度 > 0.9 吗? | Modality.NOTIFICATION |
2. 生成式 UI 引擎
魔法就在这里发生。引擎接收原始数据和模态提示,生成 UI 组件规范。它不是硬编码的 React 组件,而是一个 应该 存在的 UI 的 JSON 描述。
{
"component_type": "DashboardWidget",
"props": {
"title": "API Latency",
"value": "2000ms",
"trend": "up",
"alertLevel": "critical"
},
"style": {
"borderLeft": "4px solid #FF0000"
}
}
你的前端(React、Flutter 等)只需读取此 JSON 并渲染相应组件。
实际场景
场景 A:DevOps 仪表盘
旧方式: 你对机器人说 “Show me errors.” 它回复一串文本日志列表。你必须阅读它们。
多态方式: 你说 “Show me errors.” 代理检测到错误日志流,将模态切换为 DASHBOARD_WIDGET,屏幕上出现一个实时更新、红色边框的小部件。
场景 B:IDE 副驾驶
旧方式: 你说 “Fix this bug.” 机器人在侧窗回复:“你应该把第 42 行改为 …”
多态方式: 你说 “Fix this bug.” 代理检测到 IDE 上下文,切换到 GHOST_TEXT,解决方案直接以灰色建议出现在编辑器中。按 Tab 接受。
场景 C:数据分析师
旧方式: “Get me the top 10 users.” 机器人返回一个 Markdown 列表。
多态方式: 代理检测到表格数据并渲染一个 交互式表格。你可以点击表头按 created_at 排序或按 email 过滤。
初创机会:生成式 UI SDK
市场上对 生成式 UI SDK 存在巨大的空白。开发者已经厌倦了对每个屏幕、表单和图表进行硬编码。他们希望有一个库,能够接受代理的输出并自动渲染出完美的 UI。
想象一下有这样一个 SDK,你只需要写:
# The agent just returns data
response = agent.run("Show me sales trends")
# The SDK decides it needs a bar chart and renders it
ui.render(response)
无需手动解析。无需构建特定的图表组件。只要输入数据,输出 UI。
结论
我们正从“Chat”转向“Computing”。Chat 是一个很好的协商界面,但它是一个糟糕的消费界面。当我们将代理的智能与文本框解耦时,我们释放了 AI 的真正潜力:一个自适应的、多形态界面,能够自行构建以适应手头的问题。
未来不是更好的聊天机器人,而是一个能够适应你的 UI。
你可以在我的 GitHub 上找到多形态输出引擎和生成式 UI SDK 的参考实现。