from dataclasses import dataclass, field from enum import Enum class ReasoningMode(str, Enum): DIRECT direct *# System 1直接答* COT cot *# 链式分解* PARALLEL parallel *# 并行探索* ITERATIVE iterative *# 迭代假设验证* dataclass class ReasoningStep: step_id: int hypothesis: str *# 这一步要验证的命题不是模型的私密思维* evidence_refs: list[str] *# 这一步实际引用了哪些可追踪证据* action: str *# 查库 / 运行代码 / 调 API / 询问审批器* observation: str *# 外部环境返回了什么* decision: str *# 根据证据做出的局部决定* confidence: float 0.0 *# 自评置信度要做 calibration* model_calls: int 0 tool_calls: int 0 thinking_tokens: int 0 latency_ms: int 0 dataclass class ReasoningTrace: task_id: str mode: ReasoningMode route_reason: str *# 为什么分到这个 mode* budget: ReasoningBudget steps: list[ReasoningStep] field(default_factorylist) final_decision: str validator: str *# 由什么验证器放行* validation_passed: bool False stop_reason: str *# 为什么停* escalated_from: str *# 从哪个更轻的 mode 升级而来* property def total_thinking_tokens(self) - int:return sum(s.thinking_tokens for s in self.steps) property def total_tool_calls(self) - int:return sum(s.tool_calls for s in self.steps) property def total_latency_ms(self) - int:return sum(s.latency_ms for s in self.steps)