Files

3.1 KiB
Raw Permalink Blame History

Single React Diagnosis Agent Evidence

代码与文档证据

来源 证据 结论 是否已汇报
mvp/issues/archived/ISS-014-single-react-agent-harness-aci-ptk-refactor.md 阶段 4 明确单 Agent、内部入口、极简上下文、结构化 Draft、无重试和预算验收 本 change 不得切换公开入口或删除旧链路 是
ChatService.java + GitNexus references createReactAgent 被旧策略入口调用;复杂路径仍创建 Planner/Executor/Verifier/Composer 新实现必须是独立内部 use case,不能复用旧 Service 运行职责 是
Spring AI Alibaba 1.1.2.0 ReactAgent/AgentLlmNode sources 框架自带 ReAct loop;非流式 ModelResponse 保留 ChatResponse Usage 不手写循环,使用 ModelInterceptor 强制模型/Token 预算 是
Spring AI Alibaba ToolCallRequest/AgentToolNode sources ToolCallRequest.getToolCallId() 来自 AssistantMessage.ToolCall.id(),Tool interceptor 在 callback 前执行 可以精确传播框架 ID,不生成第二套 ID 是
Spring AI Alibaba DefaultBuilder + 本地 BeanOutputConverter 输出 默认 schema 只允许 object conclusion,但冻结契约允许无证据时 conclusion=null 生成 schema 必须 post-process nullable conclusion,UseCase 仍严格反序列化 DiagnosisDraft 是
DiagnosisHarnessCore.java / ToolBoundary.java Core 提供 model/Token/capacity;ToolBoundary 已负责 Tool reserve/store Agent 层只 reserve model/context,禁止双扣 Tool budget 是
阶段 3B/3C adapters RAG/log/MySQL 都以 RunContext + ToolCallRequestEnvelope 进入 ToolBoundary Tool registry 可直接桥接既有 adapter,不复制投影或安全策略 是
AgentLoggingHook.java 优先从 RunnableConfig metadata 读取 sessionId/runId Factory 可复用现有 Hook 注入点,不依赖 ThreadLocal 是

Evidence-driven 结论

  • 单 Agent 的可验证边界是一个 ReactAgent.call,内部允许正常模型/Tool轮次,但外部没有 Agent retry 或第二个报告作者。
  • ToolCallback 不直接提供 Tool Call ID,必须使用 Alibaba ToolInterceptor;已由真实 scripted framework loop 证明 ID 进入 ToolResponseMessage。
  • PreviousTurn 只作为固定上下文,当前 Draft 只允许引用当前 Run Tool result 中的 ID。
  • NO_EVIDENCE 必须以 conclusion=null、限定范围的负向观察和 missing info 结束,不能推导健康或排除根因。
  • 阶段 4 的 L2 内部 API 不影响公开消费者;阶段 5/6A/6B 前 Draft 不可发布。

实现证据

  • 新包 com.superbiz.agent.harness.agent 包含 Input/Limits、Prompt loader、Tool registry/interceptor、Model interceptor、Factory 和 UseCase。
  • diagnosis-agent-prompt.md 是唯一新 Diagnosis Agent Prompt,包含 Tool、证据绑定、停止和精确 JSON 规则。
  • 14 个阶段 4 tests 覆盖框架 model -> Tool -> model、ID、错误、未知 Tool、PreviousTurn、审计 metadata、nullable conclusion schema、no-evidence、解析和预算。
  • 综合回归同时覆盖 Harness Core、ToolBoundary、3B/3C adapter、canonical store 和冻结 contracts。