本课重点
公开教程 · 无需登录

本课重点

本课做一个解题助手:教师在本班建好智能体,为它配角色提示词、绑定技能与本班材料;学生选定一个智能体后连续追问,助手按该智能体作答并给出出处。下面三节依次说明本课要做的六件事、谁能操作什么、做完怎样算通过。

1本课要做的六件事

  • 智能体。教师在本班创建、修改、启停智能体,并为每个智能体绑定技能与本班材料;班内名称唯一,绑定他班的技能或材料一律按不存在处理。
  • 会话选定智能体。新建会话时必须选定本班一个已启用的智能体,此后该会话一直用它,换智能体要新开会话。
  • 一次回答的输入。角色提示词取自该智能体;技能只在该智能体绑定且已启用的集合里路由,至多命中一个;检索只在该智能体绑定的材料里进行。
  • 消息组装。系统消息只放智能体提示词、技能说明与边界句;编号资料放在用户消息里——它与技能描述都来自上传,属于数据而不是指令。
  • 流式与引用。以 SSE 逐段返回;引用列表随第一个事件先行到达,正文随后逐段到达。
  • 接口文档。用代码注解生成 OpenAPI 描述,并提供 Swagger 页面,可对照文档试调主要接口。
智能体(本班) 角色提示词 规定这个助手是谁 绑定技能(零到多个) 只在这个集合里路由 绑定材料(零到多个) 只在这些材料里检索 一次回答 技能:绑定集合内 检索:绑定材料内 资料:放用户消息 提示词:取自智能体 至多命中一个技能 SSE 流式回答 meta 先带引用列表 delta 逐段增量 done 收尾 有据才写 [n] 编号与引用一一对应
智能体把「助手是谁」「能用哪些技能」「能查哪些材料」三件事一次配好。一次回答的全部输入都来自会话绑定的那一个智能体,班级之外不越界。

2谁能操作什么

对象学生教师
智能体列出本班已启用的并从中选用创建、修改、启停;绑定技能与材料
技能可列出本班技能编写或上传技能文件,绑定到智能体
材料可列出本班材料上传入库、重建索引,绑定到智能体
会话只看到自己的;新建时选定智能体只看到自己的
检索只限所选智能体绑定的材料;班级取自登录用户
授权判定在服务端强制执行(server-side enforcement),前端不承担访问控制职责。隐藏页面入口不构成隔离:学生调用教师专属接口得到 403;按编号访问未启用、他班或不存在的智能体,得到与「不存在」完全一致的 404。

3验收标准与验证方法

验收标准(DoD)验证方法
智能体可管理教师建两个智能体,各绑不同技能与材料;学生的列表只见已启用的;按编号访问他班或未启用的,与不存在返回完全一致
只在绑定集合内作答给某智能体只绑数学技能与数学材料,再问语文题:不命中技能,引用里也不出现未绑定的材料
会话锁定智能体新建会话时选定 A;此后消息体里再带 B 的编号,回答仍按 A 的提示词与技能
引导技能不给最终答案,停用后行为明显变化用适用条件里的词提问,命中「解题引导」时只指出错在哪一步并带 [1],不写得数;把该技能停用(或解绑)再问同一句,改为直接给结论
检索落空仍作答问材料里没有的内容:仍按智能体提示词作答,引用为空,回答里不出现 [n],也不整段回「资料中未找到相关内容」
回答可引用知识库引用列表含材料标题与切片序号;回答中的编号与之对应
流式输出正常浏览器里文字逐段出现;抓包可见多次 delta 且每次是新增文本
接口文档可对照浏览器打开 Swagger 页面,能按文档试调主要接口