Files
agent/docs/classroom-demo.md
T

2.9 KiB
Raw Blame History

课堂演示脚本(10–15 分钟)

演示前准备(1 分钟)

运行 pnpm dev,打开 http://127.0.0.1:5173。准备一个可用模型配置;若演示图片,确认 supportsImages 已开启并准备一张 JPEG、PNG 或 WebP。

先指出三栏:左侧是被发现的 Skills,中间是 assistant-ui 对话与工具卡,右侧是服务器事件时间线。强调页面不是 Agent 本体,而是 Harness 状态的投影。

1. 未配置模型(1 分钟)

展示 Composer 的明确禁用提示。解释系统不会偷偷选择任意可用模型,也不会把图片悄悄丢弃。打开 Settings,填写 Provider、API、Model、可选 Base URL 和 API Key。

指出 API Key 字段刷新后不会恢复,GET 响应也只能看到末四位提示。

2. Skill 渐进披露(2 分钟)

点击“填入演示任务”,不要立刻发送:

请分析 demo-account 最近 7 天广告数据,并生成一份简短报告草稿。

先看左侧只有 ads-analysis 的名称、描述和 diagnostics,没有把正文放进浏览器。发送后观察 read、skill.requested 和 skill.loaded。说明两个 Skill 事件由 Harness 根据规范路径和 read 成功状态推导,不是模型自报。

3. 只读工具与流式回复(2–3 分钟)

观察中央文字逐段增加,右侧 sequence 单调增长。mock_ads_metrics 工具卡展示 account、days、spend、revenue 和 ROAS。

明确数据来自仓库 fixture,不连接真实广告平台。Skill 约束模型先取工具结果再做数字结论,这体现“指令披露 + 结构化工具”的组合。

4. 服务器审批(2–3 分钟)

当 save_report_draft 请求出现时,Dialog 显示风险、固定目标、approval ID 和剩余时间。先讲清浏览器按钮不是权限边界,Broker 的状态才是权威。

第一轮点击 Deny:工具显示未执行,Session 目录不产生 report.md。

第二轮重发任务并点击 Approve:只有这次会在当前 Session 临时目录写入固定 report.md。重复点击被 UI 锁定,冲突决策被 Server 拒绝。也可等待超时展示 expired 不写文件。

5. 图片多模态(2 分钟)

附加一张广告截图,输入:

请结合这张素材解释可能的创意问题,并用 demo-account 最近 7 天数据验证建议。不要从图片猜测账户指标。

展示上传、缩略图、预览与移除。说明浏览器/SSE 只保留 attachmentId,Server 规范化文件后才转换为 Pi ImageContent[]。若将模型设置为 text-only,系统会明确阻止发送图片。

6. 重连与清理(1–2 分钟)

说明 SSE 使用 sequence 和 Last-Event-ID 重放,重复事件会去重,缺口会触发全量重建。点击重置或删除 Session,展示 run、审批、附件、报告与内存凭证一并清理。

最后强调:当前的 SafeWorkspace、工具策略和审批是教学用应用边界;Pi 没有内置 Sandbox,生产环境仍要用容器或 microVM 隔离。