第四章 · Aha moment
01 / 11
CHAPTER 04

Aha moment

当文件系统、Skill、AUI 三块拼上,
Agent 第一次"像同事"。

P42 – P51 · 10 页 · 含「现场实战 C」手搓报告 Skill
P42 · 第四章开篇

Aha moment:三块能力组合的化学反应

相比原来"Agent + Tool 的 RAG 循环",Skill 这套架构带来了三块能力的组合质变 —— 它们叠在一起,才是真正的转折点。
01
💻
给 AI 配文件系统
上下文不再受窗口限制 —— 等于给 Agent 配了一台能读写的电脑。
02
🔗
Skill 的串联
垂直 Skill + 通用 Skill 串起来,把产物变成可交付的工作结果。
03
🗣️
AUI
把 AI 当作"用户"来设计交互 —— 多了一层人机双向协作。
文件系统+ Skill 串联+ AUI= 给 AI 一台可操作的电脑 · AI Agent OS
P43 · 第一块能力

给 AI 配文件系统 = 给 Agent 配了一台电脑

文件系统让上下文变得"无限" —— AgentOS 的本质,就是 Agent 具备了操作文件目录的能力
workspace/ ├─ data/ # 大资料 → 整理成索引 │ ├─ index.json │ └─ raw-*.csv ├─ 报告-销售达成.md # 临时产物 ├─ 报告-销售达成.html # 可对话修订 └─ notes/ # 小资料汇总整合
Agent 模式涌现的规划外惊喜
  • 问数后可一键生成报告
  • 指标清洗支持对话式调整
  • 控制价审核报告支持对话式增删修订
  • 关键:过程不直接入库 —— 产生临时 JSON / HTML / MD 文件,都能像在 Claude Code 里一样,通过对话 / Skill / 脚本反复调整。
    Agent 把上下文做成了文件系统 —— 大资料整理成索引,小资料汇总整合,自己管理自己的资料。
    P44 · 第二块能力

    Skill 串联:让产物变成可交付的工作结果

    做到 90% 和做到 100% 之间有巨大差别 —— 只有 100% 跑通,才算完全自动化、真正帮用户把活干完。
    举例 · 售楼场景:AI 做完一份"销售达成分析报告"之后……
    垂直 SKILL
    售楼问数
    CLI + 本体取数
    垂直 SKILL
    报告 Skill
    成文 + 可视化
    通用 SKILL
    企微文档
    同步保存归档
    通用 SKILL
    邮件
    发给相关干系人

    A垂直 Skill 出产物

    问数 / 报告 —— 解决某个业务领域内的专业问题,产出报告这类"半成品"。

    B通用 Skill 接真实工作

    企微文档 / 飞书 / 邮件 —— 把产物延展到用户真实办公场景,完成"最后一公里"。

    垂直 Skill 的产物,靠通用 Skill 串联 —— 让我们 Agent 的产物变成可交付的工作结果。
    P45 · 第三块能力

    AUI:把 AI 当作"用户"来设计交互

    关键命题 —— 要为 AI 设计它的交互方式,并教会 AI 怎么跟用户交互
    以前 · UED

    设计用户怎么操作系统

    页面流:用户点击 A → 跳转 B → 填表 C → 提交 D。界面是产品经理和设计师提前画好的,用户在固定路径里操作。

    AUI 时代

    设计用户与 AI 如何共同完成任务

    任务协作流:用户提目标 → AI 拆步骤 / 拉信息 / 组织界面 → 用户确认关键点 → AI 执行 → 展示证据 → 用户验收。

    ① 用户 → AI:表达、控制、确认、纠错、信任 ② AI → 用户:呈现、引导、解释、证据、边界
    AUI 不是少一个界面,而是多了一层双向交互
    P46 · AUI 举例 ① · 一个完整对话过程

    同一段对话,看清两个视角

    用户 → AI 视角(表达 / 控制 / 确认 / 纠错) AI → 用户视角(呈现 / 引导 / 解释 / 证据 / 边界)
    用户
    表达意图
    帮我出一份本季度的销售达成报告。
    AI
    引导 · 弹确认
    生成前先确认两个口径 —— Q1 项目范围:A 全部 / B 光谷天地 / C 手动指定;Q2 时间:A 全年 / B Q1 / C 截至最新月。
    用户
    确认范围
    Q1 选 A 全部项目,Q2 选 B 2026 Q1。
    AI
    拆步骤 · 呈现
    已取数完成。整体达成率 36.1%,对比时间进度 33% —— 小幅领先。给你一张项目对比表格
    用户
    纠错
    光谷天地的口径不对,要排除小订。
    AI
    解释 · 证据 · 边界
    已重算并展示取数 DSL作为证据。报告含敏感金额,需你确认后再同步企微文档。
    哪些是"用户用 AI"的设计(提问 / 补上下文 / 确认范围 / 纠错),哪些是"AI 跟用户交互"的设计(什么时候给一句话、给表格、弹确认、亮证据、让人介入)—— AUI 要同时把两侧都设计好
    P47 · AUI 举例 ② · 录入场景

    如果 90% 字段能自动识别 —— 还需要表单吗?

    AUI 把表单交互重构成对话确认 —— 不是少一个界面,是换一种协作方式。

    以前 · 一张 10 字段表单

    项目名称 *____
    业态类型 *____
    签约金额 *____
    签约日期 *____
    客户来源____
    付款方式____
    … 另有 4 个字段____

    侧边栏也放 10 个字段,用户逐个手填。

    AUI · 对话 + 少量点选

    90% 字段 —— 信息收集 / 感知 / 记忆自动识别并主动确认
    ? 仅剩 2–3 个字段需用户确认

    用户基本只在 A/B/C 选项里做选择:

    (a) 不确定的项目 (b) 不确定的实施范围 (c) 多义口径二选一
    表单不是必须的 —— 对话 + 少量点选,一样可以承载录入。
    P48 · 实战 C · 业务 & 架构设计 现场实战

    销售达成分析报告 Skill · 先问后做

    业务从"一问一答"升级到"出报告"—— 关键约束:口径不抢答,先用 Ask Question 确认范围/时间,再调 sales-query 取数 → 成文。

    🏗️ 架构设计 · 编排层

    sales-report Skill 在 sales-query 之上做编排,不重复造轮子取数

    ① Ask Question 确认口径
    ② 调 sales-query 取 6 段数据
    ③ 按报告模板成文
    ④ 输出 MD(本页)/ HTML(P51)

    💬 AUI · 现场弹的问诊

    Q1 · 项目范围
    ○ A 全部项目  ○ B 仅光谷天地  ○ C 自定义
    Q2 · 分析时间
    ○ A 2026 全年  ○ B 2026 Q1  ○ C 至今
    产物 · 销售达成分析报告.md(六段式 · 真实数字)
    # 销售达成分析报告(2026 全年 · 全部项目)
    
    一、整体达成概览
      签约 36.1%(3831 万 / 1.062 亿)vs 时间 33%
      认购 30.1%(5148 万 / 1.711 亿)vs 时间 33%
    
    二、按项目的达成差异
      ✅ 光谷天地 45.0% 领先
      ⚠️ 中建大公馆 7.7% 严重滞后
      ⚠️ 预留金项目 0% 未启动
    
    三、按业态结构  四、按月度节奏
      住宅占 95%     1-3 月空转,4 月放量 31.8%
    
    五、风险研判
      🔴 高:中建大公馆紧急排查推盘计划
      🔴 高:前三月空转,确认 5-6 月延续放量
    
    六、口径与数据局限说明
      目标 Month=13 / 实际 Status=激活
      数据来源:sales-query 直连真库
    报告口径不靠 AI 瞎猜 —— Ask Question 把决策权交还用户。下一页升级成图表版。
    P49 · 实战 C · 目录结构 & SKILL 概要

    把这套复制走 · sales-report 资产

    报告 Skill = 编排层 + 模板 + 生图脚本 —— 取数复用实战 B,不重复造轮子。
    📁 目录结构
    实战C-报告skill/skill/
    ├── SKILL.md             触发词+先问后做
    ├── README.md            使用说明
    ├── references/
    │   └── report-template.md  # 六段式模板
    ├── scripts/
    │   ├── build_html_report.py 350+ 行 · MD→HTML+ECharts
    │   └── sample_data.json   样例数据
    └── assets/
        └── echarts.min.js   # 离线兜底
    
    # 产物
    样例-销售达成分析报告.md   纯文本版
    样例-销售达成分析报告.html 单文件 + 5 张图
    🤖 SKILL.md 概要 · 6 段

    ① YAML description · 触发词(销售达成/月报/分析报告)
    ② 强制流程 ⭐ · 生成前必须 Ask Question 确认口径
    ③ 取数复用 sales-query · 不自己写 SQL,调实战 B 的 DSL
    ④ 六段式模板 · 整体/项目/业态/时间/风险/口径
    ⑤ MD → HTML 生图 · build_html_report.py 接 ECharts
    ⑥ 离线兜底 · --echarts-local 内联 echarts.min.js

    references/report-template.md 是关键 —— 六段式样式 + 每段所需数据字段,Claude 读它就知道每段该怎么填。

    三个 Skill 叠加 = 取数(B) + 编排(C 模板) + 生图(C 脚本) —— 每层职责单一,可独立换。
    P50 · 实战 C · CLI 设计 & 典型问答

    CLI 设计 · 把 MD 报告变成 HTML 图表

    报告 Skill 不写 SQL,只在 sales-query 之上做编排;最后用 build_html_report.py 一键生图。
    命令用途关键参数
    build_html_report.pyMD + 数据 JSON → HTML 报告--data sample_data.json · --out 报告.html · --echarts-local(离线)
    💬 4 个典型问答 · 真实交互

    Q1 · 全年报告

    "给我做一份 2026 销售达成报告"

    # Ask Question:
    Q1 项目范围? → A 全部
    Q2 分析时间? → A 2026 全年
    
    # Skill 调 sales-query 取数
    # 按六段式生成 MD
    # build_html_report → HTML

    → 报告含 36.1% 整体达成 / 5 图

    Q2 · 指定项目报告

    "中建大公馆 Q1 达成怎么样?"

    # Ask Question:
    Q1 项目范围? → B 中建大公馆
    Q2 分析时间? → B 2026 Q1
    
    # 单项目 + Q1 视图

    → 风险研判:🔴 严重滞后 7.7%

    Q3 · 离线版报告

    "做个能发邮件、无网也能看的"

    build_html_report.py \
      --data data.json \
      --out 月报.html \
      --echarts-local  # 内联

    → 单文件 ~1 MB · 邮件附件可发

    Q4 · ⚠️ 用户少答了 Ask Question

    "先做了再说,什么报告都行"

    # Skill 拒绝抢答
    # 仍然弹 Ask Question
    # 说明:口径不明确
    # 会产生不一致的报告

    → AUI 守住口径权

    SKILL.md 把"先问后做"写成强制流程 —— Agent 不抢答,把决策权交还用户。这就是 AUI 的体现。
    P51 · 实战 C 第二部分 + 第四章小结 现场实战

    升级成 ECharts 报告 · 真实达成率可视化

    真实数据 · 项目达成率对比
    光谷天地 45.0% ✅ 中建大公馆 7.7% ⚠️ 预留金项目 0% ⚠️ 时间进度 33% 2026 月度签约: 1月 2月 3月 4月反弹
    关键达成数字
    指标全年目标实际完成达成率
    签约金额(万)10,6223,83136.1%
    认购金额(万)17,1115,14830.1%
    签约套数12,255280.23%
    第四章小结
    💻 文件系统 · 无限上下文 🔗 Skill 串联 · 可交付结果 🗣️ AUI · 人机双向协作

    🏗️ 架构 · 三个 Skill 串联

    sql-query-api(A)
    + Cube 抽象 + DSL
    sales-query(B)
    + Ask Question + 模板
    sales-report(C)—— 出报告
    三块组合 = 给 AI 一台可操作的电脑 —— AI Agent OS