Caspian X-Ray多语言教学页
看见 tool call 如何改变 UI,也看见 return 值如何反过来改变模型
这页不只是展示一个 chatbot,而是把 model、tool call、UI state、tool return 之间的接缝完整暴露出来,让你能真正看到行为是从哪里来的。
交互教学路径
最适合第一次体验的顺序:先跑一个 guided lesson,再去看 raw vs final return 的差别。
1模型先调用 `read_user_signal` 判断该怎么回应。
2然后通过 `send_sticker` / `change_expression` 让“外部世界”也就是 UI 发生变化。
3最后 tool return 再喂回模型,改变它接下来的那一句。
现在这页会跟随站内 locale,不再只有单一中文硬编码文案。
支持:中文 / English / 日本語
Guided lessons
这些按钮会同时切换 prompt 和 hook 配置,让学习过程更像被设计过,而不是纯试玩。
Lesson 1 · 裸的 tool loop

先不加 hook,直接看一次 tool call → return → 后续回复 的标准链条。

你这样回答我,会让我整个人稍微软一点。
Lesson 2 · return hook 改变语气

用相近的 prompt,但打开 closeness hook,看 final signal 如何变化。

我有点累,也不太想一个人待着。
Lesson 3 · 用返回值偏置人格感

不改用户原话,只加 memory 和 playful bias,看下一句回复怎么变得更有化学反应。

你刚才那个眼神有点过分可爱了,是故意的吗?
Scenario presets
不同 scenario 会轻微改变系统目标和示例 prompt。
Hook 开关
这些开关不是改 prompt,而是改“模型下一步实际看到的 tool return”。
亲密度 Hook

重写 tool return,让模型感觉“此刻用户已经足够放松,可以更亲近一点”。

记忆 Hook

往返回值里注入一层伪连续性,让下一句回复像“延续之前的熟悉感”。

玩笑偏置 Hook

在气氛允许时,把下一句回答轻轻推向更俏皮、更有化学反应的方向。

Live chat
Forest Lab · 你可以点预设,也可以自由输入。左边是真实对话,右边是拆开的机制。
先跑一个 lesson 或点一个场景 prompt。左边会显示真实流式对话;工具结果会插在消息里,右边则会把整条链路拆开。

最好用的 demo 输入模式:感受 + 气氛 + 一点模糊空间。

World state preview
这个面板模拟“外部世界”:tool 不只是返回文字,还会真实改 UI state。
凯斯宾
neutral · curled-tail
光晕: soft amber
💞 Tail Heart
亲密度
steady
已生效 Hook
当前正在影响模型的 hint

Waiting for a tool result...

X-Ray timeline
每个完成的 tool call 都会展开在这里。点击某一步,就能往下看它的返回细节。
等待第一个 tool call...
Return inspector
这里看 raw 分析、hook 后的 final signal,以及发给 UI 的 effect。
还没有选中的事件。
Vercel AI SDK 示例代码
这三段示例基本对应当前 `/learn/x-ray` 的结构:client transport、server route、tool return shaping。
import { useChat } from "@ai-sdk/react"
import { DefaultChatTransport } from "ai"

const transport = new DefaultChatTransport({
  api: "/api/learn/x-ray",
  prepareSendMessagesRequest: async ({ messages }) => ({
    body: {
      messages,
      hooks,
      scenarioId,
    },
  }),
})

const { messages, sendMessage } = useChat({ transport })

// 用户自然输入;hooks 和 scenario 会和消息历史一起送到服务端
sendMessage({ text: "我有点累,但你这样回我会让我想再靠近一点。" })