作者:互联网 时间: 2026-07-23 17:23:10
| 功能 / 事实 | 状态 | 说明 |
|---|---|---|
| 原文:Soul + Skills 打包进版本化 Docker 镜像,Config 决定 OpenClaw Harness、当前 Claude Opus 4.6 和运行设置 | ✅ 已验证 | Hugging Face Blog S04 原文(huggingface.co/blog/allenai/shippy-tech-blog,2026-07-15) |
| 原文:Skill 遵循 Agent Skills 开放格式(SKILL.md / metadata / scripts / references / assets) | ✅ 已验证 | 原文 S04 + Agent Skills 官网 agentskills.io(持续更新) |
| 原文:Skylight CLI 负责鉴权、分页、结构化输出;早期直接 API 方案出现分页、几何编码、过滤器错误 | ✅ 已验证 | 原文 S04(这是把 CLI 收口为受控工具面的直接动机) |
| 原文:Mothership 为每个用户会话创建独立 Kubernetes Deployment,注入用户 JWT,限制文件/网络边界 | ✅ 已验证 | 原文 S04(架构图:Sandbox 内部含 Sidecar Lifeline + OpenClaw Harness 双向通讯) |
| 原文:Harbor 插件启动被测 Shippy 精确版本,对实时数据运行专家加权 Rubric,Skill/模型/数据变化触发重跑 | ✅ 已验证 | 原文 S04 + Harbor Framework 官网(harborframework.com) |
| 原文:模型路由与跨线程记忆是后续路线,不是当前已完成能力 | ✅ 已验证 | 原文 S04(明确"future work",避免误读为现能力) |
| 当前底层模型为 Claude Opus 4.6 | ⚠️ 待核验 | 用户原文给出"当前 Claude Opus 4.6";S04 未直接锁定版本号,4.6 为作者描述,建议以实跑镜像为准 |
| Agent Skills 开放格式是 Anthropic 主导的 Agent Skills 规范 | ⚠️ 待核验 | 用户原文称"开放格式";Agent Skills 官网 agentskills.io 持续更新,但本案例实际由哪一方率先提出、当前治理方需另核 |
| Shippy 案例使用 Go / TypeScript / Python 等具体语言栈 | ⚠️ 待核验 | 原文未在 S04 中披露具体后端语言;架构图中提及 Postgres + GCS 与 Redis Streams |
| 实时数据:原案例背后是 Global Fishing Watch / Skylight 平台数据 | ⚠️ 待核验 | 评分示例提到"Global Fishing Watch via Skylight",但实时数据源所有权与计费模型未在 S04 完整披露 |
| 每会话 Kubernetes Deployment 的资源回收机制与空闲超时阈值 | ⚠️ 待核验 | 原文给出"ephemeral, per-user"和"Redis Streams inbound / outbound per thread",但具体 TTL/Idle TTL 未披露 |
| 反方观点:直接 Function Calling 对简单低风险 API 已足够 | ✅ 立场 | 本文作者明确列出,文章不否认;CLI 收敛是为高复杂 API 付出 |
| 反方观点:低价值短会话更适合共享池 + Namespace | ✅ 立场 | 本文作者明确列出,不是所有场景都该上每会话 Deployment |
| 反方观点:实时数据评测降低完全可复现性,需保留冻结快照 | ✅ 立场 | 本文作者明确列出,是 Live-Data Eval 的天然代价 |
Shippy 不是"更大的海事模型",而是一套受控 Agent 系统。Soul 与 Skills 形成版本化行为包,Config 可切换 Harness 和模型;类型化 API 与确定性 CLI 处理鉴权、分页和几何等高错误率细节;每个用户会话拥有独立 Kubernetes Deployment;Eval 通过 Harbor 启动精确版本,对实时数据和专家 Rubric 评分。本章将案例抽象为可迁移到语音 Agent、机器人和企业数据助手的三层模式。
Shippy 的可靠性来自四类收敛:
写文件而不是通过 Shell 管道传大结果,不只是性能优化,也使中间结果可追踪、可复用和可清理。
迁移到实时语音 Agent 时,可以把 ASR、对话状态、LLM、工具层和 TTS 分为独立版本单元。工具层通过确定性 CLI 或服务接口控制参数,语音 Session 使用独立工作目录和短期 Token;系统级 Eval 同时检查识别、工具选择、数据正确性、延迟、打断和最终语音输出。
适合高权限、数据敏感、复杂 API 和专业领域 Agent。对于无外部工具的简单问答,完整 Mothership 式隔离成本过高;应按风险选择最小充分架构。
| 症状 | 根因 | 定位 | 修复 |
|---|---|---|---|
| 模型对同一问题两次答案数据不同,但代码没动 | 没区分"数据漂移"和"Agent 回归" | 对比 Rubric 各项得分 + 数据快照时间戳 | 用冻结快照集做回归门禁,实时数据只做探索 |
| 工具调用经常出现分页、几何、过滤器错 | 把底层 API 直接暴露给模型 | 在 Skylight CLI 之外加一层任务型 CLI | 强制走 CLI,所有参数 Schema 校验 |
| Tool Invocation Validity 低于 95% | 命令参数未校验 / 自由文本拼接 | 抓取失败调用样本,按 Schema diff | 给 CLI 加显式参数 Schema + 路径/日期/几何白名单 |
| Data Completeness 偶尔掉到 80% 以下 | 分页上限 / 时间窗口被截断 | 检查 Skylight CLI 的 --limit 与时间过滤 | 强制分页全量 + 几何相交校验 + 总数断言 |
| Isolation Breach 出现非零事件 | 共享文件系统、共享 Token 缓存、共享网络出口 | 审计 Sidecar / Sandbox 进程命名空间与文件系统 | 改回每会话 K8s Deployment,强制 JWT 注入 + NetworkPolicy |
| Rubric Pass Rate 看似高但实际不可信 | LLM Judge 取代了专家复核 | 检查 Judge 的 few-shot / rubric 来源 | 把专家权重显式注入 Prompt,保留 Judge Reasoning 留档 |
| 改一行 Skill 提示,所有 Eval 都要重跑 | Eval 与数据时间未分离 | 看 Harbor 任务配置 | 用冻结快照做"必须通过"基线,实时数据只做"漂移观测" |
| Cold Start / Cost 暴涨 | 每会话都起独立 K8s Deployment | 监控冷启动比例 + 集群 CPU/内存峰值 | 按风险分级:低风险走共享池 + Namespace,高风险才每会话 Deployment |
| 临时 JSON 文件把磁盘打满 | 没有唯一命名、清理、配额 | 查输出目录 inode / size | 用 session_id + ts + hash 命名 + TTL + 配额上限 |
| 误把"未来模型路由"当成现能力 | 把 Roadmap 写成已交付 | 检查原文 "future work" 段 | 文档与代码门禁分开标注,Roadmap 不进工程方案 |
| 第三方文章把 Shippy 描述成"通用最佳实践" | 单一案例被泛化 | 复读适用边界段 | 显式标注:本文案例适用于高权限 / 数据敏感 / 复杂 API;不适用简单问答 |
| 把"OpenClaw / Skylight CLI / Harbor"复制到生产时缺少官方来源 | 引用的是社区文章而非一手 | 查 Reference 段链接 | 引用 S04 Hugging Face Blog 与 agentskills.io / openclaw / harborframework 官方域 |
| 实时数据评测结果"看起来变好"或"看起来变差"但无解释 | Judge Reasoning 没有留档 | 看 Harbor 输出是否含 reason 字段 | 在 Eval 报告里强制保留 Judge Reasoning 文本 + 引用源 |