Files
smartmate/backend/agent
Losita 0b7d1b999c Version: 0.5.4.dev.260313
feat(agent): 重构随口记为模型控制码分流 + 单请求聚合规划,关闭非流式thinking并修复假成功,将随口记全流程从10s+缩短到5s左右,显著提升用户体验

路由层改为“模型控制码协议”分流(quick_note|chat),替换关键词/置信度猜测
路由命中 quick_note 时信任路由,graph 跳过二次意图判定(减少一次 LLM 调用)
新增单请求聚合规划:一次返回 title/deadline_at/priority_group/priority_reason/banter
快路径优先复用聚合结果;优先级缺失时本地兜底,避免再次触发优先级模型调用
最终回复优先使用聚合 banter,聚合路径缺失时使用固定文案,不再额外润色调用
非流式 Generate 全面显式关闭 thinking,并收紧 max_tokens/temperature(路由、JSON规划、banter)
保留并强化写库成功门槛:task_id > 0 才允许成功回包,修复“回复成功但未落库”风险
增加/更新测试:控制码解析、nonce 校验、标题提取、banter 复用与无效 task_id 防假成功
保持 OpenAI 兼容 SSE 格式与现有流式聊天链路不变
2026-03-13 18:17:57 +08:00
..
2026-03-10 23:10:09 +08:00
2026-03-13 18:17:57 +08:00
2026-03-13 18:17:57 +08:00
2026-03-13 18:17:57 +08:00
2026-03-12 22:17:20 +08:00
2026-03-13 18:17:57 +08:00
2026-03-12 22:17:20 +08:00

backend/agent 目录说明

该目录当前按“聊天流式输出能力”和“可编排的随口记能力”拆分:

  1. graph.go
  • 仅负责现有流式聊天输出封装SSE/OpenAI 兼容 chunk 转换)。
  • 已有线上链路依赖,当前不改业务逻辑。
  1. prompt.go
  • 通用 Agent 提示词。
  1. quick_note_prompt.go
  • AI 随口记专用提示词(意图识别、优先级评估)。
  1. state.go
  • 随口记链路状态结构(意图标记、抽取结果、重试计数、持久化结果)。
  1. tool.go
  • 随口记工具打包入口:
    • BuildQuickNoteToolBundle
    • 工具输入输出 schema
    • deadline 解析与优先级校验
  1. quick_note_graph.go
  • 随口记 graph 编排实现:
    • 节点1意图识别
    • 节点2优先级评估
    • 节点3调用写库工具
    • 分支:失败自动重试(最多 3 次)

说明:服务层通过 RunQuickNoteGraph 调用该图;若判定为非随口记意图,会自动回落到原有普通流式聊天逻辑。