ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何证明Agent真的用对模型?Sol Advisor运行时证据检查器实战指南

2026/10/3 13:03:44 拓冰建站 浏览量
如何证明Agent真的用对模型?Sol Advisor运行时证据检查器实战指南 如何证明Agent真的用对模型Sol Advisor运行时证据检查器实战指南【免费下载链接】sol-advisorCodex-native architect orchestration with Luna and Terra implementation lanes and mandatory fresh Sol review.项目地址: https://gitcode.com/gh_mirrors/so/sol-advisorSol Advisor 是一款面向 Codex 的架构师编排工作流插件主会话由 Sol / High 负责规划Luna / Max 实现常规任务Terra / High 处理高风险升级最后由一个全新的 Sol / High 复审。它最有意思的能力是内置的运行时证据检查器runtime evidence inspector——一条本地只读脚本 inspect-agent-runtime.sh能帮你用数据说话证明某个子 Agent 运行时到底用了哪个模型、哪一档推理强度而不是靠口头汇报。为什么模型路由需要运行时证据用过多 Agent 编排的同学可能都有过这样的困惑 我要求 Agent 用强模型做关键任务但 UI 里只显示了 Agent 名字看不到实际模型 子 Agent 汇报完成了可它真的跑在预期模型上吗还是悄悄降级了 公开元数据里没有 model / effort 字段我拿什么做验收依据Sol Advisor 给出的答案是三件套闭环配置锁定每个角色的模型和推理强度由角色 TOML 文件钉死spawn 时不允许逐次覆盖安装校验用 install-agents.sh 的--check模式做非破坏性的字节级比对运行时证据用运行时证据检查器读取会话 rollout 文件提取真实的路由字段——这就是本文的主角。Sol Advisor 的三条角色泳道与模型锁定Sol Advisor 把交付拆成三条原生角色泳道每条泳道绑定固定的模型 推理强度组合泳道角色agent_type锁定模型推理强度职责常规实现sol_advisor_luna_implementergpt-5.6-lunamax边界清晰、完全规格化的例行工作显式升级sol_advisor_terra_implementergpt-5.6-terrahigh判断密集型或高风险工作最终复审sol_advisor_sol_reviewergpt-5.6-solhigh全新上下文审查实际 diff这些钉子来自三个角色模板文件sol-advisor-luna-implementer.tomlmodel gpt-5.6-luna、model_reasoning_effort maxsol-advisor-terra-implementer.tomlmodel gpt-5.6-terra、model_reasoning_effort highsol-advisor-sol-reviewer.tomlmodel gpt-5.6-sol并且申请read-only沙箱 关键设计spawn 调用只写agent_type和fork_turns: none从不附加逐次的 model 或 effort 覆盖。模型由角色文件决定证据才有标准答案可以对照。运行时证据检查器只读、白名单、不猜测检查器的实现非常克制完整源码见 inspect-agent-runtime.sh核心逻辑分三步第一步精确定位会话文件。Codex 会把每个线程的对话写入rollout-*-线程ID.jsonl文件。检查器要求你传入一个标准小写 UUID 线程 ID然后在会话目录默认~/.codex/sessions可用--sessions-dir指定中查找文件名以该 ID 结尾的 rollout——必须恰好匹配一个文件0 个或 2 个以上都会直接报错退出。第二步白名单字段提取。用jq从 rollout 中只抽取路由相关的元数据角色、模型、推理强度、沙箱策略等输出一个紧凑 JSON 对象。第三步一致性裁决。如果同一线程内出现冲突的模型、effort、沙箱策略或工作目录或者 session 元数据与线程 ID 对不上——全部报错绝不猜一个。这正是它的设计哲学fail-closed失败即拒绝。证据缺失、不一致、不可观察时它宁可让你停下排查也绝不推断一个大概的模型值。最快上手4 步拿到第一条运行时证据第 1 步找到已安装插件的路径。插件安装后Codex 会记录它的来源路径plugin_dir$(codex plugin list --json | jq -r .installed[] | select(.pluginId sol-advisorsol-advisor) | .source.path)第 2 步拿到子 Agent 的线程 ID。在编排流程中 spawn 子 Agent 后公开元数据里会有它的原生线程 ID一个 UUID。第 3 步运行检查器sh $plugin_dir/scripts/inspect-agent-runtime.sh native-subagent-thread-id第 4 步对照下表验收。输出里的 model / effort 必须与角色锁定的值一致预期泳道agent_role 应为model 应为effort 应为常规实现sol_advisor_luna_implementergpt-5.6-lunamax显式升级sol_advisor_terra_implementergpt-5.6-terrahigh最终复审sol_advisor_sol_reviewergpt-5.6-solhigh如果你的本地会话目录不在默认位置比如一次性测试环境加一个参数即可sh $plugin_dir/scripts/inspect-agent-runtime.sh --sessions-dir /absolute/path/to/sessions native-subagent-thread-id输出长什么样字段速查一次成功检查会输出类似这样的 JSON字段全部来自白名单{ thread_id: 11111111-1111-7111-8111-111111111111, parent_thread_id: 00000000-0000-7000-8000-000000000000, agent_role: sol_advisor_luna_implementer, model_provider: openai, model: gpt-5.6-luna, effort: max, sandbox_policy_type: danger-full-access, permission_profile_type: disabled, cwd: /fixture }逐字段解读agent_role / parent_thread_id确认这个线程确实是目标角色、且挂在你预期的父会话下model / effort核心证据——模型与推理强度是否命中角色锁定值sandbox_policy_type / permission_profile_type对复审泳道尤其重要——角色文件申请了只读沙箱但宿主环境可能放宽了权限只有观察到的值才算数cwd确认工作目录没有跑偏。注意输出是白名单的。rollout 里可能包含完整对话内容但检查器只构造路由元数据对象对话内容绝不会出现在输出里仓库自带的 verify.sh 验证脚本甚至专门断言了提示词内容不得泄漏。检查器报错读懂每一条失败信号检查器的每一类报错都不是程序坏了而是一条明确的验收信号报错场景含义正确动作线程 ID 不是小写 UUID参数传错了重新核对公开元数据里的线程 ID没有找到匹配的 rollout会话不可观察目录不对/已被清理用--sessions-dir指对根目录否则该泳道证据不可用匹配到多个 rollout 文件证据含糊停止接受该线程结果排查环境model / effort 缺失或前后不一致路由证据不完整或自相矛盾停止该泳道禁止猜一个默认值session 元数据与线程 ID 不符文件对不上拒绝接受视为证据失效这套缺失、不一致、不可观察就停线的规则与 SKILL.md 中的验收门禁完全一致Missing, inconsistent, unavailable, or unobservable routing stops that lane.缺失、不一致、不可用或不可观察的路由证据会终止该泳道。什么时候必须跑证据检查验收门禁流程按 SKILL.md 和 role-contracts.md 的编排规范证据检查是spawn 之后、接受结果之前的必做步骤先读公开元数据public spawn/details metadata它必须能标识出所选的自定义角色若其中已暴露 model / effort直接与角色锁定值比对公开元数据缺字段时才用检查器兜底当 model 或 effort 被省略、且本地 rollout 可读时运行运行时证据检查器其白名单输出是本地权威回退来源两份证据并存时必须一致公开元数据和本地 rollout 都给出值时两者必须吻合任何分歧都视为验收失败复审泳道额外记录沙箱捕获观察到的沙箱策略类型和权限配置类型只有观察值确实是read-only时才能宣称复审是操作系统强制只读的。同时别忘了 spawn 前的两道前置检查install-agents.sh --check证明三个角色文件与模板字节级一致以及原生环境确实暴露了三个精确角色名。常见问题 FAQQ检查器能帮我修正或覆盖模型吗不能。它是纯只读的证据读取器。模型和推理强度只能由角色 TOML 锁定这也是为什么 spawn 时禁止携带逐次覆盖字段——一旦允许覆盖证据标准答案就不存在了。Q为什么不让我直接 cat 那个 rollout 文件直接读会看到整段对话含敏感内容且没有一致性裁决。检查器做了三件你手工做不好的事按线程 ID 精确匹配唯一文件、只输出白名单路由字段、对缺失与冲突值做 fail-closed 报错。Q公开元数据已经显示了模型还需要跑检查器吗不需要。检查器定位是公开细节缺字段时的本地回退两者都有值时则以必须一致为准。小结Sol Advisor 运行时证据检查器把Agent 到底用没用对模型从主观感觉变成了可复核的硬证据锁定角色 TOML 钉死模型与推理强度spawn 不覆盖✅校验install-agents.sh --check保证安装副本与模板字节级一致取证inspect-agent-runtime.sh 从会话 rollout 中提取白名单路由字段缺失或不一致即拒绝规则SKILL.md 与 role-contracts.md 定义了公开元数据优先、本地检查器兜底、两份证据必须一致的完整门禁。当你需要对外证明这条交付链路确实运行在约定模型上时一次检查器的白名单输出就是一份干净的运行时证据。✨【免费下载链接】sol-advisorCodex-native architect orchestration with Luna and Terra implementation lanes and mandatory fresh Sol review.项目地址: https://gitcode.com/gh_mirrors/so/sol-advisor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考