a↗Agent 工程实战中文课程 / v1.0.0⌕ 搜索课程/
本页目录

离线参考内核

要求:Python 3.12及以上,标准库即可;交付时实际测试环境见../qa/QA_REPORT.md。不需要模型API、GPU、Docker或数据库服务器。SQLite是Python标准库绑定。

在包根目录执行:

python -m unittest discover -s reference/tests -v
python reference/run_examples.py
node --test web/reference/engines.test.mjs
python qa/validate_package.py

前两项检验Python参考;第三项检验浏览器可复用的纯逻辑函数,需要提供node:test的Node运行时。最后一项检查课程元数据、链接与槽位,不能替代网站E2E。

文件职责

  • agentlab/runner.py:脚本模型、只读工具网关、有限循环与事件;不请求真实模型。
  • agentlab/business.py:虚构订单、提案、审批、同数据库事务内的退款幂等与故障注入。
  • agentlab/durability.py:Run创建、Outbox记录、lease/fencing、状态更新与事件读取的最小内核;不是完整工作流引擎。
  • agentlab/retrieval.py:中文二元组BM25教学基线和RRF;不含embedding。
  • agentlab/metrics.py:合成试次指标与Wilson区间计算。
  • agentlab/scheduling.py:已知时长、非抢占的FIFO/SJF模拟;不是真实调度服务。
  • agentlab/coding_solutions.py:三道原创Coding题的参考解。
  • tests/test_course.py:确定性单元/集成验收,包含独立连接的并发重试。

范围

参考内核用于让机制可运行、可检查,不提供生产认证、HTTPAPI、真实Provider适配、完整审批恢复服务、消息Broker、实际容器执行或云部署。完整接口与实验要求在specs与labs。不能把参考测试通过包装成真实模型任务成功率或沙箱安全认证。

退款账本、余额和去重结果共享一个SQLite事务,所以测试能证明该范围内的原子性。远程支付服务不在事务中,必须依赖它自己的幂等/查询契约。所有金额、订单、身份与延迟均为教学数据。

参考代码与starter分开;默认测试验证reference。学习者接入自己的实现时保持验收契约,显式替换被测模块,不修改测试让错误实现“通过”。