| AgentLoggingHook 创建方式 |
POJO(构造注入),非 @Component |
需为 ChatService/AiOpsService 创建多个实例(不同 agentName) |
| AiOpsService 记录粒度 |
只记子 Agent(Planner/Executor),不记 Supervisor |
Supervisor 编排日志已有体现,单独记录增加噪音 |
| sessionId 传递 |
RunnableConfig.metadata(优先)+ ThreadLocal(兜底) |
RunnableConfig 线程安全,异步兼容 |
| Tool 获取 sessionId |
SessionContextHolder(ThreadLocal) |
Tool 不在调用链中,无法通过 RunnableConfig 获取 |
| Token 追踪 |
TokenTrackingChatModel 包装器拦截 ChatModel.call() |
框架 TOKEN_USAGE 仅 stream 路径可用 |
| Chat 复杂度路由 |
关键词 + 长度判断 |
MVP 简化实现 |
| 多 Agent Planner 无工具 |
不注入 methodTools/tools |
防止 Planner 自己执行,强制通过 Executor 执行 |
| 旧表处理 |
V007 Flyway 迁移删除 diagnosis_record |
被三表替代,不再使用 |