Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 4.92 KB

File metadata and controls

57 lines (36 loc) · 4.92 KB

验证记录 · 2026-09-09

当前包含 4 个故障案例。每个历史对照都把同一个 Atlas 检测器接到真实上游修复前后的固定源码;确定性模型或步骤用于触发边界,不替换被检查的调度与存储逻辑。

真实历史对照

案例 修复前 修复后 实际范围与证据
001 · 空工具参数 2 FAIL / 8 PASS 10 PASS 真实 Agno 解析方法和 JSON 往返;证据
002 · 工具重试预算 2 FAIL / 4 PASS 6 PASS 真实 Pydantic AI 同步/异步 Agent,交替失败及连续失败、成功重置对照;证据
003 · 会话回复持久化 2 FAIL / 1 PASS 3 PASS 真实 CrewAI handle_turn、新 Flow 实例和 SQLite,含内置路由与 session 对照;证据
004 · 流式失败状态 4 FAIL / 2 PASS 6 PASS 真实 Agno Workflow 与 SQLite,同步/异步、错误终态时读取、关闭/完整消费;证据

这些结果均没有 ERROR 或 SKIP。计数单位是“场景 × 接入路径”,不是独立 bug 数量。新案例的修复版本合计 15 项通过;连同案例 001 共 25 项。

在仓库根目录复跑:

uv run --locked --python 3.14 cases/001-empty-tool-arguments/verify_suite.py
uv run --locked --python 3.12 cases/002-tool-retry-budget/verify.py
uv run --frozen --python 3.12 cases/003-session-reply-persistence/verify.py
uv run --frozen --python 3.14 cases/004-stream-error-persistence/verify.py

历史验证器退出 0 表示“预定旧版失败被检出,且修复版和正常对照通过”;并非旧版目标通过了检查。每篇案例写明源码 commit、hash 校验范围、锁定依赖、观察方式与未覆盖的路径。首次运行下载源码和依赖,实际探测阶段无需 API key。

检测器与接入验证

核心、CLI 和 SQLite 观察器共 44 项测试,覆盖混合案例、预先验证路径、期望值隔离、消息顺序与重复、缺失观察、异常与未支持能力的分类、退出码和报告写入。标准库测试命令:

python -m unittest discover -s tests -v

本次在 Python 3.12、3.13、3.14 上均实际得到 44 项通过。0.2.0 的源码包与 wheel 构建成功;wheel 安装到独立环境后,从外部项目目录调用 console script 得到 JSON 示例 5 PASS,新的 ScenarioPath 接口也可正常导入。此处是本地安装验证,没有发布 PyPI 包。

单元测试中的合成观察只验证检测器行为;上表的真实历史执行才是框架案例的前后对照。CI 配置在 Python 3.12 / 3.13 / 3.14 运行单元测试、安装与 CLI 检查,并单独运行三个新增案例的冻结历史验证。

独立代码审查补强了两项检测边界:

  • 场景适配器返回无效 JSON 时,归类为 ERROR,避免把观察器错误误报为 Agent bug;案例 001 的无效原始工具参数仍按既有契约判 FAIL。
  • 重试成功重置对照使用“失败两次 → 成功 → 再失败”。在真实修复版上临时禁用成功后的计数重置,两条路径均在 outcome 失败;未修改实现时全部通过。

历史验证进程使用临时工作目录。三个新增案例均配置临时 HOME;CrewAI 还独立配置数据、缓存、配置与临时目录,避免读取用户的个人设置。源码快照与本地实验文件保留在忽略目录。

早期外部 Agent 接入记录

此前案例 001 已接入一个外部自研 Python Agent,得到 10 PASS。该记录只覆盖工具参数;本次三个新增案例尚未接入这个外部 Agent。

外部项目验证使用其现有 Python 3.13 环境和当前工作区源码。五个输入分别经过两条路径:

  • 合成 SSE 参数分片 → 真实 provider 解析器 → 真实 gateway 与工具运行循环 → 工具参数校验/规范化 → 合成工具 handler → 真实下一轮请求序列化。四个观察点均保留参数语义,运行正常完成。
  • 合成 SSE 参数分片 → 真实 provider 解析器 → 真实 checkpoint 模型与内存仓库 create/get → 真实回放请求序列化。三个观察点均保留参数语义。

只替换外部模型传输和用于观察参数的工具实现;阻止 socket 连接,没有读取项目运行密钥或调用模型 API。没有改动外部项目源码。该项目及其接入脚本属于私有本地验证,未包含在公开仓库,因此这项记录无法由公众独立复现,不作为普遍兼容性保证。

这次外部项目检查没有覆盖实际磁盘数据库、跨进程持久化、真实模型服务、HTTP/SSE 网络传输、审批恢复协调器、跨语言接入或完整业务工作流。案例 001 的公开历史证据仅覆盖完成后的 SDK block 和 JSON codec;新案例 003、004 各自使用独立的真实 SQLite,覆盖边界见上表链接。