MDAN MDAN Docs
官网

Agent App Demo 讲解

这篇文档讲的是:Agent 在 MDAN agent app 里到底如何一步步继续交互,而不只是停留在抽象概念层面。

基本流程

在 MDAN 里,Agent 的循环不是“调一次 JSON API,再自己拼下一步”,而是:

  1. 先读取页面返回的完整 Markdown。
  2. 从当前内容里发现可以执行的操作。
  3. 执行其中一个操作。
  4. 读取返回的 Markdown 片段。
  5. 用更新后的上下文继续下一步。

这套循环既适用于简单状态更新(guestbook),也适用于鉴权跳转(login/register/vault)。

示例 A:Guestbook

参考: examples/guestbook/app/server.ts

服务端行为:

关键点是:读和写都尽量保持在 block 范围内,所以 Agent 面对的上下文会更小,也更稳定。

示例 B:Auth Session

参考: examples/auth-session/app/server.ts

关键能力:

典型跳转:

这样 Agent 不需要自己猜下一步去哪,返回内容本身就已经给出了后续路径。

示例 C:Agent 任务交接

参考: demo/agent-tasks/app/server.ts

消息走读: demo/agent-tasks/README.md

这个 demo 把同样的模式推到了多步委派流程里:

这里最重要的模式是拆成两层:

这样一个 Agent 可以创建任务,另一个 Agent 可以沿着同一个页面 URL 继续处理,reviewer 也可以回到同一页完成关闭或重新打开流程。

如果你想看仓库里最完整、最贴近 agent-to-agent 交接的可运行示例,就从这里开始。

面向 Agent 的错误策略

不要只返回不透明的错误。更好的做法是返回可执行的 Markdown 片段,并在里面给出下一步合法操作。

在 auth-session 里,未登录状态下对 vault 的写入会返回一个可恢复片段,其中包含 GET "/login" 操作。

校验清单

相关文档