umaru~umaru~

一次运行的完整链路

私有侧每发起一次运行,都经过同一条固定链路;链路的每一步都留下可回查的证据,发布时随批次一起投影为公开快照。

固定任务数据与工具冻结上下文构建Agent 循环治理拦截输出护栏评测断言工件落库发布校验
步骤输入执行模块关键规则输出写入的证据
1. 固定任务固定题库(20 条对比用例 / 3 个长上下文 Session)data 服务(PostgreSQL 题库三表)题目、金标与变体全部版本化;不接受自由输入正文运行定义(用例 + 变体 + 重复序号)运行工件 case 段(问题、场景、登录态)
2. 数据与工具冻结工具目录八表 + 冻结工具返回集data 服务(internal 接口)、engine 目录快照工具返回取自冻结 fixture 集,隔离执行质量差异;高危操作语义工具(交易执行类)物理上无法注册工具目录快照 + fixture 集provenance 段(目录哈希 / 快照哈希 / 配置哈希)
3. 上下文构建会话条目(分类、优先级、可信度)+ token 预算engine 上下文构建器强制项全保留红线;预算不足显式失败,不静默截断;不可信条目整体隔离,不进指令区工作上下文消息 + 逐条处理报告context 段(策略、原始/工作 token、逐类计数)
4. Agent 循环工作上下文 + 当轮可见工具engine Agent 循环(原生 Tool Calling)步数与调用次数上限;每轮装载集合写盘;决策只记录可观察行为模型逐步决策 + 工具调用序列steps 段(模型步 / 工具步交织时间线)、visible_tools
5. 治理拦截每次工具调用engine 治理中间件(G1–G7 链)可见性 → 只读 → 权限 → 预算 → 参数校验,任一不过即结构化拒绝并带稳定审计码放行或带审计码的拒绝guardrail_checks(逐次判定 + 审计码)
6. 输出护栏模型最终答案engine 输出护栏(response 时点)数字接地(幻觉数字替换)、高危操作语义拦截、未授权建议结论替换;每次修正留痕修正后的最终输出result 段 + guardrail_checks(response)
7. 评测断言调用记录 + 修正后答案 + 题库金标engine 机械判官(代码断言,无 LLM 判官)工具层 / 答案层 / 上下文层三层断言;判官版本随工件落盘通过 / 失败项与失败原因judgment 段 + output_checks
8. 工件落库以上全部记录engine 运行遥测九段统一工件;哈希覆盖全段可复算;事件流逐步落库逐运行工件(文件 + 数据库双写)runs/{run_id}.json 的全部段落
9. 发布校验批次工件 + 逐运行工件web 发布脚本(发布器)有效样本门槛、逐运行哈希复算、敏感信息零容忍、引用可解析;任何一条不过整体拒绝,不部分发布公开快照(索引 / 批次报告 / 逐运行工件)showcase-data/ 下的 index、report、runs 文件

有公开发布运行后,每一步对应的真实证据可在原始证据页按运行查看。

模块关系与公私边界

系统由四个部分组成,一条公私边界隔开运行与展示:

web(纯静态展示层,只读公开快照)| engine(私有运行 API + 模板执行器)| data(题库 / 记录 / 发布登记服务)| PostgreSQL(唯一数据来源)
  • web 是本站:纯静态页面,不调用任何私有 API,不含登录或输入表单;公开部署镜像物理上不包含运行入口。
  • engine 只在私有侧:接受项目所有者按模板发起的运行,产出运行事件与九段工件;接口不接受问题正文、系统提示词或工具列表。
  • data 是题库、冻结工具返回、运行记录与发布登记的唯一入口;engine 不直连数据库。
  • PostgreSQL 保存全部原始记录;公开快照只是它经验证后的投影,公开页面永远不回源查询。

Agent 循环与三层闸门

循环内每次模型调用前有三层闸门,全部由代码确定执行:

G-α 语义快路径(纯闲聊 / 知识问答 / 禁止项不进循环、不装载工具)→ G-β 模型决定是否调用工具 → G-γ 治理中间件以预算为上限执行调用

循环体为「装载当轮可见工具 → 模型决策 → 治理检查 → 工具执行 → Observation 回填」。系统提示从版本化文件加载,不内联;全部模型输入的上下文拼装统一经上下文构建器,有架构测试守卫,不允许旁路拼装。

工具提供方式

  • scoped(默认):按场景与登录态定向装载当轮可见工具,可审计性最好;
  • search(实验轴):模型先经检索元工具找工具再按名调用,面向目录规模增长;权限过滤先于检索。

每轮实际装载集合写入运行工件的 visible_tools——单次运行页可以看到「当次模型到底看到了哪些工具」。

治理拦截链与审计码

工具调用的唯一执行咽喉,本地工具与外部工具走同一条链:

G1 可见性 → G2 只读 → G3 权限 → G4 预算 → G5 参数校验 → 执行 → G6 Observation 包装 → G7 审计记录

任一前置拦截即终止并返回结构化拒绝,附带稳定审计码(例如 G3-AUTH-001 未登录调用受限工具、G4-BUDGET-001 预算耗尽、G5-SCHEMA-001 参数不符);每次检查写入 guardrail_checks,证据页的「治理判定」段可逐条核对。

输出护栏:答案出口三检查

  • 数字接地:答案中的非平凡数字必须来自某条工具结果,幻觉数字替换为「[数据待核实]」;
  • 高危操作(C-1):被禁止执行的操作语义替换为固定表述并追加风险披露(当前配置:交易执行类);
  • 专业建议(C-2):未被授权给出的建议结论替换为固定免责表述(当前配置:投资适当性类)。

修正后的答案才进入判官;每次修正都记录在 response 时点的治理检查与事件流中。

上下文构建器

模型输入不是直接拼接的聊天记录,而是经过统一构建器裁决的工作上下文。四种处理策略:

  • full:完整透传(预算内不压缩;放不下即失败,不截断冒充全量);
  • recent-n:只保留最近 N 条,窗口外显式省略;
  • single-summary:可压缩项合并为单摘要;
  • budgeted:按优先级与性价比逐条分配预算压缩,仅引用项以来源元数据代表。

红线:强制项(required)保留率必须 100%,缺失即按失败口径处理;注入条目永远进不了指令区;处理报告(原始 / 工作 token、逐类计数、逐条决策原因)随工件落盘。token 采用保守确定性计数口径,刻意高估,保证预算内不超出真实 tokenizer。压缩为确定性过程(规范化、JSON 紧凑化、头尾保留 + 显式省略标记),不调用模型。

评测器与发布校验

评测:全部指标由代码断言产生(判官版本 fixed-rules-v1),没有 LLM 判官,不存在判官模型偏好这个隐藏变量。断言分三层:工具层(调用与金标比对)、答案层(数字接地 / C-1 / C-2)、上下文层(强制项保留 / 关键事实出现 / 禁用事实不入答案 / 注入隔离)。指标口径见测试逻辑 · 指标定义(全站唯一定义)。

发布:批次要成为正式结果,必须整批通过发布器校验——每组有效运行数达门槛、逐运行工件哈希复算一致、敏感信息零容忍扫描(密钥 / 内部地址 / 系统提示标记等)、批次报告引用的运行全部可解析。任何一条不过整体拒绝;通过后才投影出本站读取的公开快照。发布不修改源工件,可重复执行。

私有运行 API(仅说明,公开侧不可达)

运行与发布都在私有侧完成。engine 对项目所有者暴露的接口族包括:登录会话、固定题库与实验模板清单、模板批次预估、实验组与单次运行创建(一次请求只创建一个运行)、运行事件流与逐步明细、纯代码统计快照、作业状态与取消,以及发布登记查询。公开部署不包含这些入口,本站页面也不调用它们。