KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
12. 完成事件诊断助手 — keel 龙骨
这是结课项目。目标不是做一个漂亮聊天页面,而是完成一条能够解释、停止、恢复和测试的 Agent 垂直切片。
这是结课项目。目标不是做一个漂亮聊天页面,而是完成一条能够解释、停止、恢复和测试的 Agent 垂直切片。
业务场景
用户输入事件编号,助手可以:
- 查询事件详情;
- 根据证据判断可能原因;
- 必要时查询服务负责人;
- 给出带证据 ID 的诊断;
- 用户确认后才发送通知或创建工单。
分四个里程碑完成
里程碑 1:只读闭环
lookup_incident有输入和输出 schema;- 模型请求经过内部
ToolCall; - 工具结果以
role=tool回到下一轮; - 无工具请求时可以直接完成。
里程碑 2:运行控制
- 有
run_id、step 和事件序列; - 设置最大步数和 deadline;
- 未知工具、参数错误和工具失败有稳定错误码;
- 用户取消后运行不能被迟到结果改回成功。
里程碑 3:安全和服务化
- 只读、写入和 external 工具有不同 effect;
- 写工具需要审批和幂等键;
- API 创建运行,worker 推进运行;
- 状态、事件、审批和幂等记录可恢复。
里程碑 4:评估和扩展
- 为合法调用、未知工具、权限拒绝和超时补测试;
- 用真实 Ollama 评估工具选择和参数质量;
- 接入持久记忆时,记忆只能提供上下文,不能绕过工具策略;
- 为一次错误运行生成可读的回放报告。
结业验收
你必须能够从 run_id 还原:
用户请求
-> 模型看到的上下文
-> 模型 Decision
-> 解析和策略结果
-> ToolCall / ToolResult
-> 下一轮输入
-> 最终状态
并且能够回答:
- 这次动作由谁决定?
- 谁授权它执行?
- 工具真的发生了什么?
- 结果是否确定?
- 失败后能否恢复?
- 为什么最终状态是 completed、failed、cancelled 或 approval_required?
完成后继续阅读:工具调用:从一次函数请求,到可靠的能力边界。它会把本项目里最重要的工具边界单独拆开,深入讲契约、注册表、执行器、幂等、并行和流式调用。