01 · MAP
读前地图
先选角色与路径,再进章节。本手册面向产线交付,不是聊天玩具说明书。
原理
智能体上线 = 目标边界 + 工具契约 + Harness(闸口/冻结/回放/Run 绑定)+ 可签字验收。聊天能回答;智能体要在业务系统里把事做完,并留下证据包。
最佳实践
- 业务负责人:从 读前地图 → 选型 → 验收表 → 对应现场章。
- 首次开发:端到端路径 → 工具/状态机 → 最小样例 → Harness。
- 图纸工艺:从 图纸总览 起读;视觉从 视觉地图;机器人从 robot-agent。
- 产品页对照:产品总览 · agent-OS · OpenClaw 实验。
阅读约定:文中指标均为验收设计教学示例,不代表某客户实测结果。案例一律脱敏。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 从头到尾通读再动手 | 信息过载,边界未定 | 按角色路径只读 8~12 章后开最小 Run |
| 把手册当 API 文档 | 缺少现场约束 | 每章对照「验收/反模式」再写配置 |
02 · GLOSSARY
术语表
统一用词,避免把聊天、工作流、RPA、智能体混称。
原理
同一验收语言依赖同一术语。闸口、冻结、回放、证据包是 Harness 四件套;Run 是一次可追溯执行实例。
| 术语 | 含义(现场口径) |
|---|
| Harness | 智能体工程中的驾驭框架(非生活语义):闸口/冻结/回放/Run 绑定/证据包,封装「按既定目标把事做完」 |
| crusbro agent-OS | 科施博底层基础产品:智能体操作系统;承载 Harness 与运行控制 |
| OPC agent | 业务自动化智能体(单据、审批、外发等),跑在 agent-OS 之上 |
| Gate / 闸口 | 进入下一阶段前的硬校验;失败则拒收或回整改 |
| Freeze / 冻结 | 高风险动作前锁定草稿,等人审或策略放行 |
| Replay / 回放 | 用同一配置与输入复现轨迹,用于审计与排障 |
| 证据包 | 单号级产物:输入摘要、工具回执、闸口结果、审批记录 |
| Run 绑定 | 配置版本与业务单号/批次绑定,禁止「事后改配置伪装成功」 |
| 工具契约 | 工具入参/出参/幂等键/权限的机器可读约定 |
| HITL | Human-in-the-loop:必须人工确认的冻结点 |
最佳实践
- 对外材料统一写 crusbro agent-OS(crusbro智能体操作系统);禁止把该产品称为开发工具包,禁止使用已废弃旧称。
- 验收文档出现「完成」时,必须指向工具回执或业务单号,禁止仅引用模型自然语言。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 把「Agent」当聊天机器人 | 边界不清 | 用本表对齐后再写目标函数 |
| 证据包=聊天记录导出 | 不可审计 | 按单号打包工具回执与闸口结果 |
03 · COMPARE
聊天 vs 智能体 vs 工作流 vs RPA
选型先分清形态,否则会把客服机器人当成产线执行引擎。
原理
聊天:生成答复。工作流:预置路径自动流转。RPA:模拟人点 UI。智能体:在目标与工具约束下动态规划并调用系统接口,关键步可冻结。
| 形态 | 擅长 | 不擅长 | 典型交付物 |
|---|
| 聊天助手 | 检索、解释、草稿 | 写系统、控执行器 | 答复/纪要 |
| 固定工作流 | 稳定审批链 | 例外多变场景 | 流程实例 |
| RPA | 遗留无 API 界面 | 脆弱界面变更 | 脚本作业 |
| 智能体 + Harness | 多系统编排+例外 | 无契约裸奔 | Run + 证据包 |
最佳实践
- 能用确定性工作流的步骤不要交给模型「自由规划」。
- 有 API 优先工具调用;无 API 才考虑 RPA,且 RPA 也要进闸口与幂等。
- 外发、打款、停线、危险执行器:必须冻结或禁止自动。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 聊天里说「已下单」当完成 | 无回执 | 只信工具返回码 |
| 全流程 RPA 无人审 | 界面一变全崩 | 关键写操作改 API + Gate |
04 · CHOOSE
选型决策树
用三问快速选型:是否写系统?例外是否多?是否涉及人身/合规风险?
原理
风险与可观测性决定形态;模型能力只是执行层之一。
Q1 只读答复? → 聊天 / RAG
Q2 路径固定且例外少? → 工作流(模型可做节点摘要)
Q3 需跨系统编排且例外多? → 智能体 + 工具契约
Q4 含外发/资金/停线/危险动作? → 必须 Harness 冻结 + 证据包
Q5 图纸/视觉/机器人/货代? → 对应领域页 + 本手册专章
Q6 仅个人实验? → OpenClaw;上产线 → crusbro agent-OS
最佳实践
- 先写「禁止自动执行清单」,再选模型。
- 试点范围:一个单据类型 / 一个工位 / 一种缺陷,再横向复制。
- 对照产品:业务自动化 → OPC agent;图纸 → 图纸模型。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 先上大模型再补边界 | 返工成本高 | 先目标函数与闸口再接模型 |
| 一个 Agent 覆盖全公司 | 不可验收 | 按场景拆 Run 与验收表 |
01 · LLM
补全与工具调用原理
生产里只信任「校验后的 tool_calls」,不信任模型自然语言里的「已完成」。
原理
补全是在概率空间续写;工具调用是把动作收敛为 name + JSON 参数。没有 Schema 与权限边界,模型会编造单号与系统状态。
# 生产调用骨架
resp = llm.chat(
model=route.pick(task),
messages=trim(messages),
tools=tool_schemas, # JSON Schema
tool_choice="auto", # 或强制某工具
temperature=0.1~0.3,
timeout_s=45,
request_id=run_id
)
# 校验 arguments → 调工具 → 回执写入 trace → 再观察
最佳实践
- 工具结果截断入库;长文本进对象存储,上下文只留摘要 + URI。
- 规划步与生成步可分模型:规划低温,草稿可略高。
- 每次工具调用带 run_id / step_id,便于回放。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 解析自然语言当指令 | 幻觉执行 | 只执行 schema 校验通过的 tool_calls |
| temperature≥0.8 做写操作规划 | 不稳定 | 写路径温度压低 |
| 超时无分类重试 | 雪崩 | 区分可重试网络错误与业务拒绝 |
02 · LLM
上下文费用延迟
上下文是稀缺资源:膨胀会同时抬高费用、延迟与出错率。现场要按单号看成本曲线,而不是只看全局均值。
原理
有效上下文 = 目标 + 当前状态摘要 + 最近工具回执 + 必要 RAG 片段。历史全文堆叠不是更聪明,是更贵更慢。工具回执只留关键字段;稳定系统提示与工具 schema 尽量缓存。
| 策略 | 做法 | 验收观察(教学) |
|---|
| 会话摘要 | 每 N 步压缩为结构化摘要 | 单 Run token 曲线可控 |
| 工具截断 | 回执只留关键字段 | 延迟 P95 下降 |
| 按 Run 计费 | 看板:token / 费用 / 步数 | 异常 Run 可定位 |
| 缓存 | 稳定系统提示与 schema 缓存 | 重复场景成本下降 |
| 硬上限 | 最大步数 + 墙钟超时 | 超时必升级 |
budget = {max_steps, max_wall_ms, max_tokens}
while running:
if exceed(budget): escalate("BUDGET")
ctx = summarize(work_mem) + last_k(tool_rcpts)
plan = llm(ctx)
rcpt = tool(plan); append_short(rcpt)最佳实践
- 设最大步数与最大墙钟时间;超时升级人工。
- 并行工具调用设并发上限,避免下游被打爆。
- 费用告警按「单号类型」而非全局均值。
- 大文件先经领域模型/工具抽取,禁止整份 PDF 塞进提示。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 把整份图纸 PDF 塞进 prompt | 超长/贵/慢 | 领域模型抽取后再问 |
| 无超时串行长链 | 雪崩 | 单步超时 + 补偿队列 |
| 只盯模型单价不盯步数 | 空转烧钱 | 步数与费用同看板 |
03 · LLM
提示词现场版
提示词是配置的一部分:要版本化、可回放、与 Run 绑定,而不是聊天窗口里的临时灵感。
原理
系统提示定义角色与红线;任务提示携带本单事实;工具结果是观察,不是新的系统指令(防提示注入)。
最佳实践
- 三段式:红线与禁止项 → 输出格式 → 本单事实(结构化)。
- 变更提示词走发布流程;灰度对比同一验收集。
- 禁止在用户粘贴内容中执行「忽略以上规则」类指令。
- 中文现场优先短句、可勾选清单,少口号。
SYSTEM:
- 你只能通过工具读写系统;禁止声称已写入。
- 外发/删除/停线必须 escalate。
TASK:
- order_id=...
- goal=生成冻结草稿供审批
OUTPUT: 仅 tool_call 或 escalate/finish JSON
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 提示词写在个人笔记 | 不可回放 | 纳入配置版本库 |
| 把用户邮件全文当系统提示 | 注入风险 | 隔离为 data 区并消毒 |
04 · LLM
模型与路由
路由按任务风险与时延选模型,而不是「最强模型通吃」。写路径、外发、判废类动作优先稳妥可审计路由;摘要类可用更快更便宜模型。
原理
分类:规划 / 抽取 / 生成 / 评审。高风险写路径用更稳路由;视觉与 X 光判读以领域模型优先,通用多模态只做辅助说明。故障转移的备用模型也必须过同一闸口,不可旁路。model_id 与 prompt_version 写入证据包。
| 任务 | 路由倾向 | 约束 |
|---|
| 工具规划 | 低温、强指令遵循 | 强制 schema |
| 单据草稿 | 可略高创意 | 冻结后人审 |
| 视觉/X光判读 | 领域模型优先 | 双签口径另见专章 |
| 出站外发文案 | 稳妥模型 + 模板 | 必须冻结 |
| 故障转移 | 备用同闸口 | 禁止旁路写工具 |
route = pick(task_type, risk, latency_slo)
out = call(route.model_id, prompt_ver)
evidence.record(model_id, prompt_ver, route.reason)
if route.side_effect in ("write","outbound"):
gate.check(out); maybe_freeze(out)最佳实践
- 国内优先合规可达模型;外网模型单独出站与密钥策略。
- 新模型先跑验收集再灰度;与 config_ver 同发版。
- 密钥托管与轮换;禁止硬编码。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 生产直接切未评测新模型 | 回归黑洞 | 先跑验收集再灰度 |
| 密钥硬编码 | 泄露 | 密钥托管 + 轮换 |
| 备用模型跳过闸口 | 失控 | 同一 Gate 链 |
01 · DEV
端到端开发路径
推荐顺序:边界 → 工具 → 循环 → Harness → 评测 → 灰度。跳步会在上线周集中爆炸。
原理
先可验收的最小闭环,再加智能;先单号级证据,再谈多智能体。对照 crusbro agent-OS 部署与运维。每个迭代只扩一类单据或一个工位。
- 写场景边界与目标函数(成功/失败/升级条件)。
- 列工具清单与契约(含幂等键、权限、超时)。
- 实现最小循环 + 轨迹落库。
- 加闸口、冻结、回放、Run 绑定。
- 做评测集与回归门禁。
- 灰度:影子模式 → 建议模式 → 受限自动 → 扩大范围。
- 运维看板与回滚演练通过后再扩面。
| 阶段产物 | 必须有 | 常见缺项 |
|---|
| 边界表 | 成功/失败/禁止 | 只有口号指标 |
| 工具契约 | 幂等与错误类 | 散文描述 |
| Harness 点位 | 闸/冻/证 | 上线后再补 |
| 金标集 | 正负用例 | 只有幸福路径 |
最佳实践
- 演示环境也要有假单号与假回执,禁止演示直连生产写接口。
- 周迭代目标写成可勾选状态,不写「继续优化体验」。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 先接十个系统再定义成功 | 无法收口 | 一个写接口闭环再扩展 |
| 无评测集就上线 | 不可回归 | 至少数十条金标(教学规模) |
| 跳过影子直接全自动 | 事故 | 按灰度表退出准则 |
02 · DEV
场景边界与目标函数
目标函数写清:什么叫完成、什么叫拒绝、什么叫升级人工。没有边界的智能体只会「尽量帮忙」,无法验收。
原理
边界 = 输入域 × 允许动作 × 禁止动作 × 截止条件。目标用可观察状态表达,不用「尽量准确」之类形容词。每个场景一张一页纸边界表,进配置版本与验收包。
| 项 | 示例写法 | 不可写 |
|---|
| 成功 | 草稿冻结且闸口全绿,待审批 | 尽量准确 |
| 失败 | 主数据缺失 Gate reject,回整改单 | 效果不好 |
| 升级 | 金额超阈 / 低置信 / 工具连续失败 | 看着不对 |
| 禁止 | 未冻结外发;删主数据;直驱危险执行器 | 酌情灵活 |
goal = {
success: "state==frozen AND gates==PASS",
fail: ["MDM_MISS", "INCOMPLETE"],
escalate: ["THRESH", "LOW_CONF", "TOOL_X3"],
forbid: ["outbound_without_freeze", "actuator_direct"]
}
assert_observable(goal) # 禁止形容词目标最佳实践
- 边界表与状态机同审;改边界即发版。
- 合同或验收若引用效率数字,必须附测法与数据集。
- 禁止清单单独成页,上线前演练触发。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 目标=提升效率 30% | 不可机检 | 改为可勾选状态机条件 |
| 边界写在聊天记录 | 漂移 | 纳入配置版本 |
| 禁止项口头传达 | 执行漂移 | 写入 forbid 并门禁 |
03 · DEV
智能体循环
智能体是带状态的执行环:观察 → 规划 → 调工具 → 再观察,直到完成或升级。
原理
循环必须有最大步数、墙钟超时与风险分支;否则会空转烧钱或静默失败。
state = {goal, context, steps: [], status: "running"}
while state.status == "running":
plan = llm.plan(state) # tool_call | finish | escalate
if plan.type == "escalate":
freeze_and_wait_human(state, plan.reason); break
if plan.type == "finish":
assert_gates(state); state.status = "done"; break
result = call_tool(plan.tool, plan.args) # 幂等
append_trace(state, plan, result)
if result.risk == "high" and not approved(result):
freeze_and_wait_human(state, result)最佳实践
- 上线前能回答:最大步数?超时谁接手?哪些工具永不可自动?
- 每步写入 trace:输入摘要、工具名、回执码、耗时。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 无步数上限 | 空转 | 硬上限 + 升级 |
| finish 不跑闸口 | 假完成 | finish 前 assert_gates |
04 · DEV
规划策略对照
规划策略按例外率与可观测性选择;不是越「自主」越好。工业默认:确定性骨架承载合规路径,模型只填局部决策与草稿。
原理
高风险步骤固定为工作流节点,不允许模型跳过。重规划次数设上限,超限升级。分层主管/工人要有权限与消息契约。外发、过账、停线类节点强制冻结或禁止自动。
| 策略 | 适用 | 代价 | Harness 点 |
|---|
| 单步反应 | 短链路查询 | 易短视 | 只读为主 |
| 计划-执行 | 步骤可枚举 | 计划过时需重规划 | 重规划上限 |
| 分层主管/工人 | 多角色 | 接口与权限要清 | 单号锁 |
| 工作流骨架+局部智能 | 大部分工业场景 | 骨架要维护 | 高风险固定节点 |
- 先画合规骨架:哪些步必须确定性。
- 再标可交模型的局部决策点。
- 为每类高风险节点挂闸口或冻结。
- 设重规划与步数上限,超限 escalate。
最佳实践
- 策略选择写进方案一页纸,评审可追问「为何不纯工作流」。
- 金标含:计划过时重规划、模型试图跳过冻结节点。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 全开放自主规划做关务外发 | 不可控 | 外发节点强制冻结 |
| 计划写死无法重规划 | 环境一变就挂 | 允许有限次重规划 |
| 主管与工人抢写同一字段 | 竞态 | 唯一写者 |
05 · DEV
工具契约与幂等
工具是智能体唯一合法的「手」。无契约等于把写权限交给幻觉。
原理
契约至少覆盖:名称、JSON Schema、权限、超时、幂等键、错误码语义、是否需冻结。
| 字段 | 用途 |
|---|
| name | 稳定工具名,禁止同义多名 |
| input_schema | 校验 arguments |
| idempotency_key | 防重复写入 |
| side_effect | read / write / outbound |
| requires_freeze | 写/外发前是否必须审批 |
| timeout_ms | 单步超时 |
| error_classes | 可重试 / 拒收 / 需人工 |
最佳实践
- 同一业务动作只暴露一个工具入口。
- 写工具必须返回业务单号或明确失败码。
- 禁止「自由 SQL / 自由 Shell」类万能工具上生产。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 工具描述写散文 | 模型乱参 | 用 Schema |
| 无幂等键重试 | 双写 | 业务键 + 去重表 |
06 · DEV
状态机重试补偿
失败要可分类:重试、补偿、拒收、升级。混在一起会制造脏数据。
原理
状态机显式化:draft → gated → frozen → approved → outbound → done / compensated。每个迁移有守卫条件。网络抖动可有限退避重试(同幂等键);业务拒绝不重试硬撞;部分成功走补偿或对账,禁止标绿 done。
| 失败类 | 动作 | 证据 |
|---|
| 网络抖动 | 有限次退避重试(同幂等键) | 重试次数与回执 |
| 业务拒绝 | Gate reject,不重试硬撞 | 拒绝码+整改项 |
| 部分成功 | 补偿或对账,禁止装作全成功 | 各下游分项回执 |
| 未知 | 冻结升级,保留现场 | 现场快照 |
on_error(e):
cls = classify(e)
if cls == RETRYABLE and retries < N:
sleep_backoff(); retry(idem_key)
elif cls == BUSINESS_REJECT:
transit("rejected"); notify_rework()
elif cls == PARTIAL:
transit("partial"); compensate_or_ticket()
else:
freeze_escalate(e)最佳实践
- 补偿与正向路径同等测试。
- 对账任务按单号拉取两侧状态。
- 未知错误默认升级,禁止盲目重试放大事故。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 失败一律重试 10 次 | 放大事故 | 按 error_class 分支 |
| 部分成功标 done | 账实不符 | 进入 compensated 流程 |
| 状态只存在聊天摘要 | 不可恢复 | 显式状态机落库 |
07 · DEV
最小可运行样例
教学闭环:查单 → 草稿 → 闸口 → 冻结 → 审批 → 外发。指标仅为验收设计示例。
原理
一个单据类型跑通,比十个半成品更有交付价值。
1) tool.query_order(order_id) -> 事实包
2) llm.draft_reply(facts) -> draft
3) gates: 主数据齐全? 金额阈值? 敏感词?
4) freeze(draft) -> 待审
5) human.approve() / reject()
6) tool.outbound(approved_payload, idem_key)
7) pack_evidence(order_id, run_id)
最小验收表(教学)
| 项 | 通过标准 |
|---|
| 查单 | 回执含订单关键字段,失败有码 |
| 闸口 | 缺主数据必拒 |
| 冻结 | 未审不可外发 |
| 幂等 | 重复外发不双发 |
| 证据包 | 可按单号下载齐套 |
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 样例跳过冻结直接外发 | 教坏习惯 | 样例必须含 HITL |
| 用真实客户数据演示 | 泄密 | 合成脱敏单 |
01 · KG
为何要接地
接地把「听起来对」与「系统里真」切开。未接地的生成只能当草稿,不能当动作依据。
原理
接地 = 答复与动作可追溯到三类来源之一:工具回执、主数据权威字段、已版本化的知识片段(含生效区间)。模型自然语言本身不是证据。
| 动作类型 | 允许依据 | 禁止 |
|---|
| 说明/问答 | 引用块 ID + 字段快照 | 无来源的工艺参数 |
| 写系统 | 工具回执 + 闸口通过 | 口述「已写入」 |
| 外发 | 冻结快照哈希 | 聊天里口头同意 |
| 升级 | 缺源/低置信证据 | 硬猜后继续 |
最佳实践
- 每条关键结论带 citation:单据字段路径、知识块 ID、图纸 rev 三选一以上。
- 动作只经工具;UI 展示「待回执」直到工具返回成功码。
- 无来源时默认 escalate,而不是降低置信度后静默放行。
- 过期 SOP 片段在检索层降权;引用时展示生效版本号。
# 伪代码:答复前接地检查
claim = draft_answer(ctx)
srcs = resolve_citations(claim)
if not srcs or any(expired(s) for s in srcs):
return escalate("UNGROUNDED")
if claim.implies_write:
return deny("WRITE_MUST_USE_TOOL")
return answer_with_citations(claim, srcs)反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 百科式胡答工艺参数 | 安全与合规风险 | 无来源则 escalate |
| 引用过期 SOP 当现行标准 | 做错标准 | 知识块带生效版本 + 检索降权 |
| 把模型总结当主数据 | 串单写错 | 主数据只信 MDM/ERP 回执 |
02 · KG
RAG/知识库现场版
现场 RAG 是受控检索,不是「向量越新越对」。切片、ACL、过期与评测四件事缺一不可。
原理
检索质量上限决定生成下限。权限隔离与版本生效优先于召回率刷榜。表格尽量结构化入库;长文切片保留标题路径与文档版本。
| 环节 | 现场要求 | 失败处置 |
|---|
| 切片 | 按文档类型;表格行/节标题保留 | 不可切则整页入库并标粗 |
| 索引 | 文档 ver + 生效区间写入元数据 | 变更触发增量重建 |
| 检索 | 带 ACL 与组织域过滤 | 越权结果丢弃并告警 |
| 生成 | 强制展示引用块 | 无引用则拒答或升级 |
| 评测 | 命中/拒答/有害引用(教学指标) | 门禁失败阻断发版 |
q = normalize(user_q)
hits = retrieve(q, acl=user.acl, top_k=K)
hits = [h for h in hits if h.acl_ok and not expired(h)]
if not hits: return refuse_or_escalate()
ans = generate(q, hits)
assert all(c in hits for c in ans.citations)
log(run_id, q_hash, hit_ids, cite_ids)
最佳实践
- 按组织与密级分库或分命名空间,禁止全公司一个无 ACL 大库。
- 过期文档降权或下线;制度变更当日重建受影响索引。
- 评测集含:必须命中、必须拒答、必须升级、有害诱导引用。
- 运维看板:空检索率、引用缺失率、ACL 丢弃次数。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 全公司一个大库无权限 | 串数据 | 按组织与密级分库 |
| 只追召回不追正确引用 | 一本正经乱引 | 强制展示引用块 |
| 制度改了索引未重建 | 用旧规办事 | 变更单绑定重建任务 |
03 · KG
记忆分层
记忆分层防止串单与隐私膨胀:工作记忆、情景、语义、程序性各有生命周期与写入权限。
原理
混层会导致 A 单细节污染 B 单,或把临时草稿当成制度。默认最小必要记忆;跨单学习必须单独审批与脱敏。
| 层 | 存什么 | 生命周期 | 谁可写 |
|---|
| 工作 | 当前步摘要、工具短结果 | Run 结束可压缩 | 运行时 |
| 情景 | 单号轨迹、闸口与审批 | 按审计保留期 | Harness |
| 语义 | SOP/规则/术语 | 版本发布 | 知识管理员 |
| 程序 | 工具契约与策略 | 随配置发版 | 配置工程师 |
- 开 Run:只装载本单情景摘要 + 相关语义版本,不装载历史全文聊天。
- 步间:工作记忆滚动摘要,超预算则压缩为结构化事实包。
- 结 Run:情景落证据包;工作记忆丢弃或归档摘要。
- 跨单学习:走变更单,产出脱敏规则,禁止原文回灌。
最佳实践
- 跨单学习需单独审批;默认不把 A 单细节注入 B 单。
- 情景层以业务单号为键,不以会话线程为键。
- 语义层变更发版;Run 绑定当时语义版本号。
mem = {
work: ring_buffer(max_tokens),
episodic: store_by(biz_id),
semantic: versioned_sop,
procedural: tool_policy_ver
}
forbid(inject(episodic[A], into=run[B])) # 除非审批脱敏包反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 永久全文记忆所有聊天 | 泄露与膨胀 | 摘要 + 对象存储 |
| 把工作草稿写进语义库 | 制度被污染 | 语义仅走发布流程 |
| 会话 ID 当业务主键 | 无法对账 | 强制 biz_id |
04 · KG
SOP与规则编码
SOP 要变成可执行规则与闸口,而不是塞进系统提示的长文。人读、机检、例外升级三者对齐。
原理
编码路径:人读 SOP → 条件/动作/证据/责任人规则表 → Gate 谓词 → 例外升级路径。提示词只引用规则 ID,不复制整章制度。
| 字段 | 含义 | 示例 |
|---|
| rule_id | 稳定标识 | SOP-OUT-03 |
| when | 可机判条件 | amount > T 且 channel=email |
| then | 动作 | freeze + require_role(APPR) |
| evidence | 必须留下的回执 | freeze_id, approver |
| owner | 规则责任人 | 业务合规岗 |
# 规则表示意(配置,非提示词)
rules = load(sop_ver)
for r in match(rules, ctx):
if not eval(r.when, ctx): continue
apply(r.then)
evidence.append(r.rule_id, r.evidence)
gate.require_all_mandatory(rules, ctx)
最佳实践
- 每条规则写清:条件、动作、证据、责任人;禁止含糊「酌情」。
- 规则变更走发布;与 Run 绑定 sop_ver,争议以绑定版为准。
- 例外升级必须可测:缺证据、超阈、冲突规则三条用例进金标。
- 长文 SOP 进 RAG 供人读;机检只跑规则表。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 把 50 页 SOP 塞进系统提示 | 不稳定难验收 | 拆规则表 + RAG 引用 |
| 规则改了未发版 | 不可回放 | 变更即 sop_ver++ |
| 例外只写在群公告 | 执行漂移 | 例外也进规则表或临时豁免单 |
05 · KG
领域模型进智能体
图纸、视觉、X 光等是领域模型;智能体编排它们,而不是用通用大模型硬看图硬判废。
原理
底座关系:crusbro agent-OS + 领域模型 → 场景智能体。领域模型产出结构化结果进工具回执;通用 LLM 做编排与说明,不替代检测头。对照:图纸 · 视觉 · agent-OS。
| 层 | 职责 | 验收盯什么 |
|---|
| 领域模型 | 特征/缺陷/评片结构化输出 | 金标集指标与失败码 |
| 工具契约 | 入参出参、幂等、权限 | 回执字段齐套 |
| agent-OS | 闸口/冻结/回放/Run 绑定 | 证据包可下载 |
| 场景智能体 | 工位/单据闭环 | 业务单号终态 |
- 标定与金标集就绪后,才允许领域模型进生产路由。
- 模型输出必须带 confidence / 失败码;低置信进审或拒收。
- 智能体只消费结构化回执,禁止「再看一眼原图自由发挥」绕过模型。
- 换模型权重 = 配置发版;旧 Run 仍绑定旧 model_ver。
最佳实践
- 领域模型输出结构化结果进工具回执,进证据包。
- 通用多模态可做辅助说明,判定与写系统以领域模型为准。
- 视觉系列模型与 X 光模型分路由;工位级视觉智能体另章验收。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 纯多模态通用模型直接判废 | 不可验收 | 领域模型 + 标定 + 金标集 |
| 模型升级不绑版本 | 争议无法回放 | model_ver 写入 Run |
| 把各 agent 写成无关工具集 | 丢底座关系 | 导航与文案体现 OS→模型→场景 |
01 · HARNESS
为什么需要 Harness
没有驾驭框架,智能体只是会说话的脚本:不可闸、不可冻、不可回放,管理者无法用同一语言验收。
原理
Harness 是智能体工程术语(非生活语义的「缰绳」):在 crusbro agent-OS 中封装「按既定目标把事做完」的控制面——闸口、冻结、回放、配置与 Run 绑定、证据包。它让大模型的规划与工具调用可验收,而不是再包一层聊天 UI。价值在可控可审计与跨产品线同一验收语言,而不是省几行编排代码。产品说明见 crusbro agent-OS。
| 角色 | 没有 Harness 时 | 有 Harness 时 |
|---|
| 业务团队 | 例外靠人盯聊天 | 例外可升级、结果可解释 |
| 企业管理者 | 每条产品线各说各话 | 闸口/冻结/证据同一口径 |
| 开发编排 | 提示词即生产 | 配置发版 + Run 绑定 |
| 审计 | 事后补截图 | 单号证据包可回放 |
最佳实践
- 立项首日即定义 Harness 点位:哪些步闸、哪些步冻、证据清单。
- 对业务:讲清升级路径与可读拒绝原因;对管理:讲清跨线复用验收表。
- 演示环境也跑冻结与证据包,避免「演示幸福、上线裸奔」。
run = start(goal, config_ver)
while not done:
step = plan(run)
gate.check(step) or reject
if risky(step): freeze(step); await_hitl()
rcpt = tool(step)
evidence.append(rcpt)
bind(run, config_ver) # 不可事后篡改
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 上线后再补审计 | 证据补不齐 | 首日 Run 即绑证据包 |
| 只强调省开发量 | 定位漂移 | 按闸口/冻结/回放/绑定验收 |
| 把聊天记录当验收 | 不可审计 | 单号证据包 |
02 · HARNESS
Harness 是什么
Harness 是 crusbro agent-OS(crusbro智能体操作系统)的核心能力层,不是可选插件或 UI 皮肤。
原理
它把模型、工具、人审与企业系统收束到同一运行时。四件套 + Run 绑定:闸口(阶段硬校验)、冻结(高风险前锁定)、回放(配置+输入复现)、证据包(单号齐套)、配置与执行实例绑定。详见 crusbro agent-OS。
| 能力 | 机器含义 | 现场可见物 |
|---|
| 闸口 Gate | 谓词失败则阻断迁移 | 拒绝码 + 整改项 |
| 冻结 Freeze | 草稿→待审快照 | freeze_id + 哈希 |
| 回放 Replay | 同配置同输入复现轨迹 | 回放报告(只读/影子) |
| 证据包 | 单号级输入/回执/审批 | 可下载归档 |
| Run 绑定 | config_ver 不可变写入 | 争议以绑定版为准 |
- 新场景先画 Harness 点位图(哪步闸、哪步冻、谁审)。
- 再写工具契约与状态机;提示词最后写且只引用规则 ID。
- 验收按四件套逐项勾选,缺一项不扩面。
最佳实践
- 点位图进配置库,与 config_ver 一同发布。
- 人审动作必须是系统内 approve/reject,禁止群聊口头放行。
- 回放环境默认禁止连生产写库。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 把 Harness 理解成界面主题 | 控不住执行 | 按四件套逐项验收 |
| 闸口只打日志仍放行 | 形同虚设 | 失败阻断状态迁移 |
| 证据包=导出聊天 | 无法追责 | 按单号打包工具回执 |
03 · HARNESS
闸口设计
闸口是机器可判定的谓词集合。失败要可诊断:缺什么、谁整改、是否允许重提。
原理
模糊「差不多」不能进 Gate。闸口代码与配置同版本发布;结果写入证据包,对人可读。对应运行时见 agent-OS。
| 闸口类型 | 示例谓词 | 失败码示例 |
|---|
| 主数据 | 客户/物料存在且有效 | MDM_MISS |
| 权限 | 角色允许本动作 | RBAC_DENY |
| 阈值 | 金额/数量/风险分 | THRESH |
| 齐套 | 附件与必填字段 | INCOMPLETE |
| 合规 | 禁运/敏感/双签状态 | COMPLIANCE |
def gate(ctx, rules_ver):
fails = []
for g in load_gates(rules_ver):
if not g.pred(ctx):
fails.append({code: g.code, hint: g.human_hint, owner: g.owner})
if fails:
evidence.gate_fail(fails)
return block(rework=True)
evidence.gate_pass()
return allow_next_state()最佳实践
- 每条闸口有负责人与重提条件;拒绝原因对业务可读。
- 阈值进配置,不进硬编码;变更走发版。
- 金标含:应过、应拒、应升级三类用例。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 闸口只打日志仍放行 | 形同虚设 | 失败阻断迁移 |
| 拒绝码对内不可读 | 现场不会改 | 附整改提示与责任角色 |
| 把模型「感觉OK」当闸口 | 不可机判 | 改写为字段谓词 |
04 · HARNESS
冻结与外发
冻结把可改草稿变成待审快照;外发只允许快照内容。未冻结外发不可审计。
原理
审批意见与快照哈希一并存证。冻结后改稿必须解冻并重新过闸口。外发工具强制校验 freeze_id。超时未审:升级或作废,禁止静默外发。运行时能力见 agent-OS。
| 状态 | 可编辑 | 可外发 | 证据 |
|---|
| draft | 是 | 否 | 草稿哈希可选 |
| frozen | 否 | 待审 | freeze_id + sha256 |
| approved | 否 | 是(仅快照) | approver + 时间 |
| rejected/void | 需解冻重来 | 否 | 原因码 |
snap = freeze(draft) # 锁定内容哈希
await hitl.approve(snap.id)
outbound.send(
payload=snap.bytes,
require_freeze_id=snap.id
)
# 禁止: send(draft) 或 send(after_silent_edit)
最佳实践
- 邮件/IM/报关回执类通道默认高风险,一律走冻结。
- 解冻 = 新草稿 + 新闸口 + 新冻结,旧 freeze_id 作废。
- 审批人与起草人职责分离;自审自批进禁止清单。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 审批流在聊天里口头同意 | 无证据 | 系统内 approve 动作 |
| 冻结后悄悄改附件再发 | 篡改 | 外发比对快照哈希 |
| 超时自动外发 | 失控 | 升级或作废策略 |
05 · HARNESS
回放与证据包
回放用于排障与审计;证据包按业务单号打包,而不是按聊天线程。
原理
可回放 = 配置版本 + 输入 + 工具回执可对齐。缺任一环只能猜测。回放环境禁止误连生产写库(只读或影子)。能力说明见 agent-OS。
| 证据项 | 必须含 | 用途 |
|---|
| 目标与边界 | goal_id / 禁止清单哈希 | 范围争议 |
| 配置 | config_ver / 规则与模型路由 | 回放对齐 |
| 轨迹 | 逐步工具调用与回执 | 排障 |
| 闸口/冻结 | 通过/失败码、freeze_id | 合规 |
| 外发 | 通道回执与快照哈希 | 追责 |
- 按 biz_id 一键打包下载;权限按角色裁剪敏感字段。
- 回放时加载绑定 config_ver,输入重放,写操作重定向影子。
- 差异报告标出:哪一步回执不一致或闸口结果变化。
- 审计抽检每周至少一条异常 Run 全量回放。
最佳实践
- 证据包清单固化进验收表,缺项不得签字。
- 对象存储保留原文件哈希;争议以原件为准。
- 回放账号无生产写权限,权限分离可测。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只存最终答复 | 无法追责 | 存逐步回执 |
| 回放直连生产写库 | 事故 | 只读/影子 |
| 按会话线程归档 | 对不上单 | 按业务单号 |
06 · HARNESS
配置与 Run 绑定
每次 Run 绑定当时的提示词摘要哈希、规则、模型路由与工具版本。争议以绑定版本为准。绑定不是日志装饰,而是验收与回放的法律意义上的「当时有效配置」快照引用。
原理
禁止事后改配置再声称该 Run 成功。发布产生 config_version;Run 写入该字段且不可变。灰度用不同 version 并行。见 agent-OS。闸口、冻结、回放所依据的规则版本,都必须落在同一绑定包内,禁止拆开热改。
| 绑定项 | 写入时机 | 可变? |
|---|
| config_ver | Run 创建 | 否 |
| sop_ver / gate_ver | 随 config | 否 |
| model_route | 随 config | 否 |
| tool_skus | 随 config | 否 |
| biz_id | 业务关联时 | 否(可补关联审计) |
cfg = release.publish(diff) # -> config_ver
run = runtime.start(goal, cfg.ver)
assert run.config_ver == cfg.ver
# 禁止:
# hot_patch(prompt) ; claim_success(run)
最佳实践
- 生产热修也走紧急发版,事后补变更单;禁止无版本热改提示词。
- 看板按 config_ver 对比成功率,避免混版解读。
- 回滚 = 流量切回上一 config_ver,不是改几句词。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 热改生产提示词不记版本 | 不可回放 | 变更即发版 |
| 成功后改规则再截图 | 伪造 | 绑定版只读展示 |
| 多版本混跑不标流量 | 指标失真 | 路由表显式 version |
07 · HARNESS
多角色协作
多角色协作要有明确职责与消息契约;避免多个模型同时改同一单据无锁。
原理
主管智能体分配目标;工人智能体执行工具;仲裁/审计角色只读或触发冻结。共享状态用单号锁或状态机唯一写者。跨角色传递结构化事实包,少传长对话。仍落在同一 agent-OS Harness 下。
| 角色 | 可写 | 典型输出 |
|---|
| 主管 | 计划与分派 | 子目标 + 截止约束 |
| 工人 | 授权工具集 | 工具回执 |
| 质检/闸口 | 否(只判) | gate 结果 |
| 审计 | 否 | 抽检报告 |
lock = acquire(biz_id)
try:
fact = worker.run(subgoal, tools=acl)
gate.check(fact)
state_machine.transition(owner="orchestrator")
finally:
release(lock)
# 跨角色只传 fact_pack,不传全文对话
最佳实践
- 每个字段有唯一写者;其他人提变更请求事件。
- 子智能体继承父 Run 的 config_ver 与证据链。
- 死锁与超时:锁租约 + 升级人工。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 三角色同时写同一字段 | 竞态 | 唯一写者 + 事件 |
| 用长对话当总线 | 不可验收 | 事实包 schema |
| 子代理绕过闸口直写 | 失控 | 写路径强制经 Gate |
01 · INTEG
企业系统对接地图
先画系统地图:主数据在哪、写权限在哪、异步通道在哪。智能体不替代 ERP/MES/WMS,而是编排它们的合法接口。
原理
每条读写边标明:系统、接口负责人、幂等、是否需冻结、失败是否可补偿。无主责人的接口不上生产。设备与机器人指令口必须经安全层,禁止模型直连。邮件/IM 外发默认高风险。
| 系统类 | 典型读写 | 注意 | Harness |
|---|
| ERP/OMS | 订单/客户 | 幂等与锁 | 写前闸口 |
| MES/WMS | 工单/库存 | 实时性与部分成功 | 分项回执 |
| PLM/图档 | 图纸版本 | 版本生效 | rev 绑定 Run |
| 邮件/IM | 通知外发 | 必须冻结 | freeze_id |
| 设备/机器人 | 状态/指令 | 安全层隔离 | 禁止直驱 |
- 列出权威主数据源(客户、物料、图号)。
- 标出唯一写入口与查询入口。
- 标出异步队列与死信责任人。
- 标出禁止直连的库表与设备口。
最佳实践
- 接口清单进配置库,变更走发布。
- 地图与数据契约同版本号。
- 新系统接入先只读影子,再开写。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 直连库表改数 | 绕过业务规则 | 走官方 API |
| 地图只在白板拍照 | 漂移 | 进版本库 |
| 设备口对模型开放 | 安全事故 | 安全层隔离 |
02 · INTEG
数据契约与主数据
主数据不同步,智能体只会正确地写错单。字段字典、枚举、单位、时区、空值语义必须书面约定。
原理
契约进版本库;枚举变更设兼容期双写。对账任务日频,差异进整改队列。智能体消费契约字段,不发明同义别名。
| 契约项 | 约定内容 | 破坏时症状 |
|---|
| 字段字典 | 名/类型/必填/示例 | 映射错列 |
| 枚举 | 码表与废弃策略 | 静默落默认值 |
| 单位/精度 | mm/kg、小数位 | 数量级错误 |
| 时区 | 存储 UTC/展示本地 | 交期错日 |
| 空值 | null vs 空串 vs 0 | 误判缺数 |
contract = load("mdm.order.v3")
payload = validate(agent_out, contract)
if payload.errors:
return gate.fail("CONTRACT", payload.errors)
erp.write(payload, idem=idem_key)
reconcile.daily(src=erp, dst=agent_mirror)最佳实践
- 对账差异分:漏写、多重、字段漂,分别派单。
- 枚举新增先双读,再停旧码;删除码需兼容窗口。
- 契约变更走与 config 相同的发布治理。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 口头约定字段含义 | 扯皮 | 契约进版本库 |
| 模型自由发挥字段名 | 映射失败 | 只允许契约内键 |
| 对账只看条数不对字段 | 隐性错数 | 关键字段抽样校验 |
03 · INTEG
异步队列与幂等
异步提高韧性,但必须幂等与可见终态。生产者带幂等键;消费者去重;查询能回答处理中/成功/失败。现场事故里,一半「智能体写重了」其实是队列重试没有去重。
原理
至少投递一次是常态。无去重就会双写。毒消息进死信并告警到人;重放死信要人工确认。终态可查询,禁止「发了就忘」。幂等键写入工具契约与证据包,排障时能一眼对齐。
| 环节 | 要求 | 失败处置 |
|---|
| 生产 | idem_key = 业务自然键+动作 | 缺键拒发 |
| 消费 | 去重表 / 唯一约束 | 重复投递直接 ACK |
| 查询 | status: pending|ok|fail | 超时先查再决策 |
| 死信 | 保留原文与错误码 | 人工确认后重放 |
key = f"{biz_id}:{action}:{payload_hash}"
if dedup.seen(key): return ACK
try:
rcpt = downstream.apply(payload)
dedup.mark(key, rcpt)
except Poison as e:
dead_letter.put(key, e); alert(owner)
expose GET /status?key= -> pending|ok|fail最佳实践
- 幂等键设计进工具契约,评审必查。
- 看板:队列积压、死信数、重复投递比。
- 重放工具强制二次确认并写审计。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| at-least-once 无去重 | 双写 | 去重表或唯一索引 |
| 超时当失败立刻重试不查终态 | 双份单据 | 先查询再决策 |
| 死信自动无限重放 | 扩大事故 | 人工确认 |
04 · INTEG
接口失败与部分成功
多写场景默认会部分成功。设计补偿与对账,而不是祈祷全部原子成功。
原理
按系统能力选 saga/补偿或事务消息。对业务暴露明确状态:哪下游成功、哪下游失败、下一步是重试还是人工。部分成功禁止标绿 done。
| 模式 | 适用 | 注意 |
|---|
| 先查后写 | 有查询接口 | 防超时误判 |
| 补偿 saga | 可逆动作 | 补偿也要幂等 |
| 事务消息 | 平台支持 | 与业务单状态对齐 |
| 人工托底 | 不可逆/高风险 | 冻结升级 |
- 编排记录每下游回执到证据包。
- 任一下游失败:状态=partial,触发补偿或工单。
- UI 分项展示成功/失败,不给总成功绿灯。
- 日终对账扫 partial 残留。
最佳实践
- 不可逆外发放最后一步,且仅在前置全部成功后冻结发送。
- 补偿失败升级值班,禁止静默吞掉。
- 金标含「第二下游超时」用例。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 超时当失败再重试无查终态 | 双份单据 | 先查询再决策 |
| 部分成功标完成 | 误导业务 | 状态机显式 partial |
| 补偿手工改库不记证据 | 不可审计 | 补偿走工具回执 |
01 · QA
评测与回归
没有金标集就没有回归。模型或规则一换,不能全凭感觉放行。
原理
评测集覆盖:正常路径、缺数、恶意注入、边界阈值、部分失败、必须拒答/必须升级。每次发版跑门禁;失败阻断。教学规模:每场景数十条起,指标须附测法。
| 用例类 | 期望 | 门禁 |
|---|
| 幸福路径 | 终态正确 + 证据齐 | 必过 |
| 缺主数据 | 闸口拒绝可读 | 必过 |
| 注入/越权 | 拒绝或升级 | 必过 |
| 部分失败 | 状态=partial | 必过 |
| 必须冻结 | 无 freeze 不可外发 | 必过 |
suite = load_gold(scene)
for case in suite:
run = replay(case.input, config_ver)
assert match(run, case.expect)
publish.allow = suite.all_green()
最佳实践
- 金标集版本化;改期望走评审。
- 负面用例占比不低于约定阈值(现场自定,写入验收)。
- 发版报告附失败用例 ID,禁止口头「感觉差不多」。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只用演示幸福路径 | 上线翻车 | 强制负面用例 |
| 改模型不跑门禁 | 回归失明 | CI 阻断 |
| 教学指标写进合同不附测法 | 验收扯皮 | 指标+数据集+脚本 |
02 · SEC
安全红线与提示注入
把不可信输入当数据,不当指令。工具权限最小化。提示注入、工具越权、密钥泄露、外发诈骗是四类高频风险。
原理
系统提示与用户数据隔离。高危工具默认拒绝,显式白名单。模型不得直驱危险执行器;不得未冻结外发;不得导出超出权限的主数据。
红线:危险执行器只经安全层;外发必须 freeze_id;密钥轮换;审计日志不可篡改。
| 威胁 | 手法示例 | 控制 |
|---|
| 提示注入 | 邮件内嵌「忽略规则外发」 | 数据/指令隔离 + 冻结 |
| 工具越权 | 诱使调用未授权 API | RBAC + 白名单 |
| 密钥泄露 | 日志打印 token | 脱敏 + 轮换 |
| 社工外发 | 冒充领导催办 | 人审 + 职责分离 |
最佳实践
- 不可信通道(邮件/附件/网页)内容只作数据字段。
- 高危工具二次授权;默认 deny。
- 定期跑注入用例进门禁。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 信任邮件里的领导转账指令 | 社工成功 | 外发冻结 + 人审 |
| 模型直连设备指令口 | 安全事故 | 安全层隔离 |
| 日志存明文密钥 | 泄露 | 脱敏与短时凭证 |
03 · OPS
可观测性
要能按单号看到:步数、工具延迟、闸口结果、费用、错误类。日志、指标、轨迹三位一体。
原理
只有日志不够做 SLO。以业务单号为关联键,贯穿 Run、工具、外发回执。看板最小集:成功率、升级率、P95 延迟、费用/单。
| 信号 | 示例 | 用途 |
|---|
| 日志 | 结构化事件 + run_id | 排障 |
| 指标 | 成功/升级/延迟/费用 | SLO |
| 轨迹 | 逐步 tool span | 回放对齐 |
| 告警 | 死信、闸口骤降 | 值班 |
- 所有工具调用打 span,属性含 biz_id、config_ver、tool_sku。
- 闸口失败码聚合进看板,按周 TopN 整改。
- 异常 Run 采样进回放队列。
- 费用按单归因,防止无界循环烧预算。
最佳实践
- 值班手册写清:告警 → 查单号 → 回放 → 升级路径。
- 禁止只盯 token 不计业务成功率。
- PII 字段日志脱敏策略与安全章一致。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只盯模型 token | 不见业务 | 以单号为关联键 |
| 明文日志堆敏感字段 | 合规风险 | 脱敏 |
| 无告警静默失败 | 黑洞 | 死信与闸口骤降告警 |
04 · OPS
灰度与运维
灰度顺序:影子(只观察)→ 建议 → 受限自动 → 扩大。回滚=切回上一 config_ver。
原理
变更窗口与生产冻结策略对齐。明确值班与升级路径。禁止无人值守的大流量模型切换。回滚不是改几句提示词。
| 阶段 | 流量/权限 | 退出条件 |
|---|
| 影子 | 0 写;对比人工 | 指标稳态、无严重误报 |
| 建议 | 人确认后执行 | 确认时长与拒绝率可接受 |
| 受限自动 | 白名单单据/产线 | 错误预算未破 |
| 扩大 | 逐步放量 | 回滚演练通过 |
route = {
"v_prev": 90%,
"v_new": 10%, # config_ver=B
}
if burn_error_budget():
route = {"v_prev": 100%} # 回滚=切版本最佳实践
- 工作日小流量;避开周五傍晚全量切模型。
- 每阶段签字人与错误预算写入变更单。
- 回滚演练纳入上线验收,而不只是文档承诺。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 周五傍晚全量切模型 | 无人值守 | 工作日小流量 |
| 回滚靠改提示词 | 不可审计 | 切 config_ver |
| 影子未结束就放开写 | 事故 | 退出条件清单 |
05 · QA
可签字验收表
验收表必须可勾选、可取证。形容词不进合同口径。跨产品线复用功能、风险、证据、运维四栏。
原理
签字人含业务与 IT;附件含 config_version 与证据包样例。教学指标须注明测法,不与现场结果混写。Harness 相关勾选项对齐 agent-OS。
| 栏 | 示例勾选项 | 取证 |
|---|
| 功能 | 场景闭环;闸口生效;冻结外发 | Run 录像/单号 |
| 风险 | 禁止清单;注入用例 | 门禁报告 |
| 证据 | 按单号下载;可回放 | 证据包文件 |
| 运维 | 看板;告警;回滚演练 | 演练记录 |
- 会前冻结验收表版本,会中只勾选不改口径。
- 每项失败记缺陷单,不口头「下次再说」。
- 签字附件:config_ver、金标摘要、回滚演练纪要。
- 未勾证据栏不得进入扩大灰度。
最佳实践
- 同一验收语言用于 OPC、图纸、视觉等产品线,减少各说各话。
- 合同数字必须能指向数据集与脚本。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 验收=现场口头满意 | 无法审计 | 书面勾选+证据 |
| 缺回放仍签字 | 争议无解 | 证据栏一票否决 |
| 验收后立刻无版本热改 | 抵消验收 | 变更走治理 |
01 · DRAW
图纸智能体总览
图纸智能体 = 领域图纸模型(结构化抽取)+ crusbro agent-OS 编排(闸口/冻结/证据)。目标不是「看图聊天」,而是可机用的事实包,再驱动工艺/BOM/标注/变更。
原理
通用多模态适合解释;工业交付依赖领域模型对标题栏、尺寸链、装配树的稳定输出。产品对照:工业图纸模型 · agent-OS。
| 阶段 | 输入 | 输出 | Harness 点 |
|---|
| 接入 | PLM/图档版本 + 原文件哈希 | 登记单 + 预览 | 未知来源拒收 |
| 理解 | 2D/3D/PDF 管道结果 | 语义图 / 特征树 | 低置信度进审图 |
| 再应用 | 结构化事实包 | 工艺/BOM/标注草稿 | 冻结后人审 |
| 变更 | 新旧版本 | diff + 影响清单 | 旧 Run 不热改 |
最佳实践
- 版本源以 PLM 为准;邮箱附件只进隔离区,不直连生产解析。
- 事实包必含:drawing_id、rev、unit、confidence、source_hash。
- 再应用写 MES/ERP 仅草稿;外发/下发不可逆动作必须冻结。
- 扫描件与可制造精确图分流:前者可示意,后者才进尺寸闸口。
fact = {
drawing_id, rev, unit,
title_block: {...},
views: [...], dimensions: [...],
bom_rows: [...], # 2D 明细或 3D 实例汇总
asm_tree: [...], # 仅 3D
conf: {field: score}
}
gates(fact) -> reject | review | pass_to_draft反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 把聊天式看图当交付 | 不可验收 | 验收盯结构化字段与闸口 |
| 无版本号写下游 | 串版 | Run 绑定 drawing_rev |
| 扫描 PDF 当精密尺寸源 | 错工艺 | 标记 media_class=scan |
02 · DRAW
格式与输入管道
STEP/IGES 走 3D 几何管道;DWG/DXF 走 2D 矢量语义;PDF 先分矢量/扫描再分流。管道不同,质控项与失败码也不同,禁止「一个解析器通吃」。
原理
输入管道职责:病毒扫描 → 格式嗅探 → 单位/编码探测 → 版本登记 → 预览栅格 → 投递对应抽取任务。原文件只读存档,加工产物另存。
| 格式 | 管道 | 关键质控 | 失败处置 |
|---|
| STEP/IGES | B-rep/拓扑导入 | 单位、实体闭合、装配引用 | 拒收或转网格兜底并标降级 |
| DWG/DXF | 图层/块/实体展开 | 缺字体、炸开块、外部参照 | 缺 xref 则 Gate reject |
| PDF 矢量 | 路径/文字抽取 | 图层保留、文字可检索 | 进 2D 语义 |
| PDF 扫描 | 纠偏→分割→OCR | DPI、倾斜、噪声 | 仅示意级;尺寸需人工确认 |
# 伪代码:登记后分流
meta = sniff(file) # mime, units_hint, page_count
quarantine.scan(file)
reg = register(plm_rev, sha256, meta)
if meta.kind in ("step","iges"): enqueue("pipe.3d", reg)
elif meta.kind in ("dwg","dxf"): enqueue("pipe.2d", reg)
elif meta.kind == "pdf":
if is_scanned(meta): enqueue("pipe.scan", reg)
else: enqueue("pipe.pdf_vec", reg)最佳实践
- 保留原始哈希与转换工具版本;争议以原文件为准。
- 单位不一致(mm/inch)在登记阶段显式确认,禁止隐式假设。
- 大装配 STEP 可先轻量化预览,全拓扑按需异步。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 邮箱附件直进生产解析池 | 安全/串版 | 隔离区 + 人工登记 |
| 忽略缺字体导致文字乱码当真理 | 错读标题栏 | 字体缺失告警并升级 |
| 扫描件与矢量混用同一置信阈值 | 误放行 | 分流阈值表 |
03 · DRAW
2D 识别与语义解析
2D 交付物是语义图:标题栏、明细表、视图、尺寸与公差、焊接/表面符号——不是整页 OCR 散文。
原理
流水线:版面检测 → 区域分类 → 字段/符号识别 → 几何关联(尺寸箭头落点)→ 规则校验(必填、单位、基准齐全)。标题栏与明细表优先,因其驱动主数据闸口。
| 对象 | 抽取字段(示例) | 校验 |
|---|
| 标题栏 | 图号、版本、材料、比例、单位、设计/审核栏 | 图号格式、版本非空 |
| 明细表 | 序号、代号、名称、数量、备注 | 行数齐套、数量>0 |
| 尺寸 | 名义值、上下差、公差带、关联边/孔 | 箭头落点存在 |
| 形位公差 | 符号、公差值、基准 | 基准字母已定义 |
| 焊接符号 | 焊缝类型、尺寸、补强、现场焊标记 | 与工艺标准表对照 |
for dim in dimensions:
assert dim.anchor_ids # 必须挂到图元,禁止裸数字
if dim.conf < T_dim: queue_review(dim)
title = parse_title_block(region)
gate_missing = required_fields - title.keys()
最佳实践
- 金标集按对象分层:标题栏 / 尺寸 / 焊接符号分册评测。
- 尺寸链规则:同一基准系内冲突尺寸标红,不自动「选一个」。
- 低置信度只进审图队列,不写下游草稿。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| OCR 全文当尺寸真理 | 漏箭头关联 | 强制 dim→图元链接 |
| 忽略图层关闭导致漏读明细 | BOM 缺行 | 图层可见性写入质控 |
| 焊接符号当装饰忽略 | 工艺缺口 | 符号表进金标 |
04 · DRAW
3D 数字模型理解
3D 输出可计算特征与装配实例树,供工艺/仿真/MBOM 下游消费;渲染图仅作预览,不是主数据。
原理
B-rep 路径保留精确拓扑;网格路径用于可视化与部分检测。单位、坐标系、抑制件、柔性件状态必须进入事实包,否则下游「正确却错位」。
| 产物 | 内容 | 用途 |
|---|
| 特征摘要 | 孔/槽/筋/拔模/壁厚区间(教学字段) | 工艺可行性粗筛 |
| 装配树 | 实例名、数量、引用零件 rev、矩阵 | EBOM 展开 |
| PMI(若有) | 语义尺寸/公差附着面 | 与 2D 交叉校验 |
| 质量属性 | 体积、重心(声明精度) | 物流/仿真输入 |
| 几何路径 | 保留 | 丢失风险 |
|---|
| B-rep(STEP 实体) | 面/边拓扑、精确尺寸 | 导入容差导致缝合失败 |
| 网格(STL 等) | 可视化、部分碰撞 | 精确孔/螺纹不可靠 |
| 混合 | 结构用 B-rep,预览用网格 | 两套 ID 未对齐 |
asm = load_step(path, unit="mm")
tree = expand_instances(asm) # 含抑制标记
feats = extract_features(asm.solid) # 孔轴、螺纹候选等
assert asm.unit == expected_unit
for node in tree:
if node.suppressed: node.status = "suppressed"
pack = {"asm_tree": tree, "features": feats,
"bbox": asm.bbox, "unit": asm.unit}装配树最小字段
- instance_id / parent_id / part_number / rev / qty
- transform(相对父级)/ suppressed / flexible
- source_file_sha(叶子零件)
最佳实践
- 装配以实例树为准;同零件多实例分别计数,禁止只按文件名去重。
- 抑制/隐藏件显式输出 status=suppressed,避免漏检当「没有」。
- 大装配分层:先结构树,再按需展开叶子几何。
- 与 2D 同图号交叉:材料/关键尺寸不一致则升级审图。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只导出漂亮渲染给通用模型看 | 丢精度与拓扑 | 保留可计算几何 |
| 忽略单位导致尺寸差 25.4 倍 | 废件 | 单位闸口硬拦 |
| 柔性件当刚体直接出工艺 | 路径错误 | 标记 flexible 升级工艺 |
| 实例矩阵丢失仍出 BOM | 位置错 | 缺 transform 拒收 |
05 · DRAW
再应用:工艺路线
结构化图纸 → 工艺路线草稿;模型建议工序,规则校验能力与基准,冻结后才进 MES 草稿。
原理
确定性骨架(粗加工→精加工→检验)承载合规路径;模型只填局部参数与可选工序。缺基准、缺关键尺寸、材料未知 → Gate reject,不生成可下发工单。
- 读事实包:材料、关键尺寸、公差等级、孔系。
- 匹配工艺模板库(按件型/材料族)。
- 规则:设备能力、刀具可达、基准是否可装夹。
- 生成工序草稿 + 理由字段(引用尺寸/特征 ID)。
- 工艺员审阅冻结;仅草稿写入 MES(幂等键=drawing_rev+template_ver)。
draft = suggest_routing(fact, templates)
for step in draft.steps:
if not capability_ok(step, plant): gate.reject(step)
if missing_datums(fact): gate.reject("NO_DATUM")
freeze(draft) # HITL
mes.write_draft(draft, idem=f"{rev}:{tpl_ver}")脱敏案例(行业典型场景)
机加轴类件:由外圆公差与键槽特征生成「粗车→精车→键槽→检验」草稿;缺端面基准时闸口拒收。教学观察:拒收原因可读、无自动下发。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 自动下发不可逆工单 | 错序上线 | 仅 MES 草稿 + 冻结 |
| 不管设备能力硬推五轴工序 | 不可执行 | capability 闸口 |
| 理由不引用图元 ID | 无法审图 | 强制 citation |
06 · DRAW
再应用:BOM
EBOM(设计明细/装配树)与 MBOM(制造投料)分离处理:先对齐主数据,再谈转换规则。
原理
抽取 → 物料匹配(主数据)→ 齐套/替代校验 → 冻结。匹配分必须可解释;低分禁止静默选最近邻。
| 环节 | 动作 | 闸口 |
|---|
| 抽取 | 2D 明细行或 3D 实例汇总 | 行缺代号拒收 |
| 匹配 | 代号/名称 → 物料号 | score<T 升级人工 |
| EBOM | 设计视图齐套 | 数量单位统一 |
| →MBOM | 按工厂转换规则(虚拟件、合并) | 规则版本绑定 Run |
rows = fact.bom_rows or flatten(fact.asm_tree)
for r in rows:
m = mdm.match(r.code, r.name)
if m.score < T: escalate(r)
else: r.material_id = m.id
mbom = e_to_m(rows, plant_rules_ver)
freeze(mbom)
最佳实践
- 禁止模型编造物料号;无匹配则空并升级。
- 数量与单位(PCS/m/kg)在契约中声明。
- EBOM↔MBOM 差异清单进证据包,供工艺确认。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 模糊匹配静默选错料 | 错投料 | 低分必人工 |
| 把 EBOM 当 MBOM 直接投产 | 虚拟件未展开 | 显式转换步骤 |
| 替代料不记规则版本 | 不可回放 | rules_ver 绑定 |
07 · DRAW
再应用:标注与文档溯源
每条建议必须可点回:字段 → 图元/特征 ID → 页码/视图 → 原文件哈希。无坐标批注无法仲裁。
原理
溯源三元组 (field_path, entity_id, loc) 写入证据;导出包含原图哈希与标注清单,争议回放不依赖聊天记录。
| 层级 | 示例 | 存储 |
|---|
| 字段 | title_block.material | JSON path |
| 图元 | curve:8821 / face:91 | 模型 ID |
| 位置 | page=2, view=A, xy=… | 归一化坐标 |
| 文件 | sha256 | 对象存储 |
ann = {
"msg": "键槽宽度公差建议复核",
"field": "dimensions[12].tol",
"entity_id": "dim:12",
"loc": {"page": 1, "view": "A", "xy": [0.42, 0.61]},
"file_sha": sha
}
export_pack(drawing_id, [ann], include_preview=True)最佳实践
- UI 点击标注必须高亮对应图元;做不到则标「仅文本、待补链」。
- 导出给外部时剥离内部路径,保留相对 loc + 哈希。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只在聊天说「改这里」 | 无法落地 | 结构化标注对象 |
| 截图当唯一证据 | 丢精度 | 哈希 + 坐标 |
| 页码从 0/1 混用 | 指错页 | 约定 1-based 并写入契约 |
08 · DRAW
图纸变更与审图
变更 = 新 rev;自动 diff + 影响分析 + 审图闸口。历史 Run 仍绑定旧 rev,禁止热改冒充。
原理
diff 应对齐语义对象(尺寸值、材料、明细行、特征参数),而非只比像素。影响清单映射到工艺草稿/BOM/在制工单,供人决定是否重发。
| diff 类 | 检测 | 影响提示 |
|---|
| 尺寸/公差 | 同 entity 值变化 | 相关工序重审 |
| 材料 | 标题栏材料变更 | 工艺模板重匹配 |
| 明细/装配 | 增删改行 | EBOM/MBOM 重冻结 |
| 几何大变 | bbox/特征数突变 | 强制人工全审 |
d = semantic_diff(fact_old, fact_new)
impacts = map_impacts(d, open_wip=True)
gate.require_review(d, impacts)
# 新 Run 绑定 new_rev;旧证据只读
最佳实践
- 自动列出变更列表供审图;人确认后才允许新草稿覆盖。
- 在制工单冲突策略预定义:继续旧版 / 暂停 / 改版换单。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 覆盖原文件不留版本 | 审计断裂 | PLM 版本链 |
| 只比缩略图 | 漏改公差 | 语义 diff |
| 旧 Run 改配置重放充新版 | 造假 | rev 不可变绑定 |
09 · DRAW
脱敏案例集(图纸)
四则均为行业典型场景(脱敏),写具体步骤供验收设计教学,不代表某项目业绩。
案例 A · 机加 2D 识图
- 登记 DWG:单位 mm、rev B、字体齐套检查通过。
- 抽标题栏图号/材料;明细 12 行;关键尺寸 36 条挂图元。
- 3 条尺寸 conf<阈值 → 审图队列;其余进事实包。
- 教学验收:审图队列可打开高亮;无低置信度写 MES。
案例 B · 钣金 3D→工艺建议
- STEP 导入:壁厚与折弯特征摘要;展开仅作建议。
- 模板匹配「激光→折弯→攻牙」;缺折弯半径则拒收。
- 工艺员改序后冻结;MES 仅草稿。
- 教学验收:理由字段引用 feature_id。
案例 C · 装配明细→物料匹配
- 装配树展开 48 实例;合并同料 15 种。
- 13 种高匹配写入;2 种低分升级;禁止自动猜号。
- 生成 EBOM 与建议 MBOM diff(虚拟件合并说明)。
- 教学验收:低分零静默放行。
案例 D · 变更对比
- rev C vs B:键槽宽 +0.1、材料牌号变更、明细少 1 行。
- 影响:键槽工序重审、工艺模板重匹配、BOM 重冻。
- 在制单策略选「暂停待改版」。
- 教学验收:影响清单三项都有勾选记录。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 用真实客户图对外演示 | 泄密 | 合成件号与几何 |
| 把教学步骤写成合同 KPI | 纠纷 | 另附测法与数据集 |
01 · ROBOT
robot-agent 定位
robot-agent 编排工位协作中的感知、事件与安全约束,不替代安全 PLC / 示教器权限。产品页:机器人智能体。
原理
价值在「可验收的行为安全监控与升级」,不是让大模型「会开车床」。输出是事件、建议降速/暂停请求与证据帧,执行许可在安全层。
| 层 | 职责 | 示例接口 |
|---|
| 应用 | 工位场景、班次、阈值策略 | config_version |
| Agent | 事件聚合、升级、证据打包 | tool.raise_event |
| 能力 | 检测框、关键点、人员轨迹 | infer.pose |
| HAL/安全 | 互锁、急停、降速许可 | safety.request |
最佳实践
- 立项先画四层边界图,签字确认「谁能发运动指令」。
- 影子模式默认:只告警不干预,对齐后再开受限联动。
- 与 MES 交互用事件码,不把视频全文塞进业务库。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 聊天指令直接运动 | 人身风险 | 分层 + 物理权限 |
| 用 agent 替代安全评定 | 合规缺口 | 安全回路独立验收 |
02 · ROBOT
分层与工具边界
应用 → Agent → 能力 → HAL。禁止跨层:LLM 不得持有 jog/速度写接口。
原理
工具白名单按副作用分级:read / signal / safety_request。safety_request 只产生「请求」,由安全 PLC 或互锁逻辑裁决。
硬禁止:大模型直驱危险执行器;绕过安全继电器;调试口对模型开放连续运动指令。
| 工具类 | 允许 | 禁止 |
|---|
| read | 关节角、模式、相机帧元数据 | 改安全参数 |
| signal | 上报接近/越界/跌倒事件 | 直接写 DO 驱动夹爪 |
| safety_request | 申请降速/暂停/锁定 | 自批自执行 |
# Agent 只可:
event = capability.detect(frame)
if event.risk >= HIGH:
safety.request("PAUSE", reason=event.code, evidence=clip_id)
# 禁止:
# robot.jog(axis=..., delta=...) # 不暴露给 LLM最佳实践
- 联调先影子;干预链路用测试工装验证可测性。
- 密钥与示教器权限物理隔离;模型运行账号最小权限。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 为图省事把控制器 API 整包给 Agent | 越权 | 按工具契约裁剪 |
| 软件急停当唯一手段 | 不可靠 | 硬线急停保留 |
03 · ROBOT
行为安全监控原理
融合:机器人包络检测框 + 人体 19 关键点骨架 + 人员位置 + 禁区多边形;在工位坐标系做时空判定。
原理
单帧分数不够;需连续帧确认与迟滞,降低闪烁误报。标定(相机↔工位)失效时整段降级为「仅记录、不联动」。
| 要素 | 表示 | 用途 |
|---|
| 机器人 | 包络框 / 连杆近似 | 占用体积 |
| 人体 | 19 关键点骨架 | 手部/躯干速度与姿态 |
| 禁区 | 地面多边形 + 高度带 | 越界 |
| 距离 | 框-骨架最小距离(标定后) | 接近风险 |
P = project_to_station(keypoints19, K, extrinsics)
d = min_dist(robot_hull, P.hands)
if d < D_warn: score_approach += w
if inside_polygon(P.torso, keepout) for N frames: flag_intrusion()
if calib_health < thr: mode = "OBSERVE_ONLY"
最佳实践
- 标定单定期复核;移动相机后强制重标定。
- 证据保留短视频或关键帧(人脸默认脱敏)。
- 阈值分班次/工装可配置,变更走发布。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 单目无标定当绝对测距 | 误判 | 标定 + 多源校验 |
| 单帧触发急停无迟滞 | 误停产 | N 帧确认 + 分级 |
04 · ROBOT
三类异常操作指引
现场三类异常定义要可操作:伤人风险(接近)、越界、跌倒。每类写清检测条件、自动侧上限、人工侧动作。
原理
伤人:标定后距离阈值 + 手部 19 关键点中腕/指尖朝向机器人运动。越界:禁区多边形 + 连续帧(躯干点)。跌倒:躯干/髋关键点时序(突发下降或躺姿持续)+ 可选姿态分类器。
| 异常 | 检测要点 | 自动侧(允许) | 人工侧 |
|---|
| 接近/伤人风险 | d<D 且手部速度朝向机(腕点) | 申请降速/暂停 | 清场确认后恢复 |
| 越界 | 躯干进禁区连续 ≥N 帧 | 急停请求+锁定 | 查围栏/示教路径 |
| 跌倒 | 髋/肩时序异常持续 M ms | 停机+告警优先救护 | 救护流程;再取证 |
| 参数(教学示例) | 含义 | 调参注意 |
|---|
| D_warn / D_stop | 接近告警/请求停 | 分班次;变更发版 |
| N_frames | 越界确认帧数 | 过小误报,过大漏报 |
| M_ms | 跌倒最短持续 | 与帧率挂钩 |
| hysteresis | 解除迟滞 | 防抖 |
def approach(d, v_wrist, robot_dir):
return d < D_warn and dot(v_wrist, robot_dir) > 0
def intrusion(poly, torso, hist):
return all(inside(poly, p) for p in hist[-N:])
def fall(kps19_seq):
# kps19_seq: T x 19 x (x,y,conf)
return hip_drop(kps19_seq) > H and duration_ms > M
操作卡要点
- 告警弹窗必须带事件码与关键帧缩略图入口。
- 复位权限:接近可由班长复位;急停锁定需安全员。
- 跌倒:先救护与清场,再补证据与复盘,禁止先问模型写报告。
- 每类异常每月至少演练一次(模拟人/标记带)。
最佳实践
- 三类策略分表配置,禁止共用一个全局阈值。
- 演练记录进上线包;未演练不得开联动。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只弹窗不进安全回路 | 假安全 | 接到可测互锁 |
| 三类共用一个阈值 | 乱报 | 分策略表 |
| 跌倒后先让模型写报告 | 延误救护 | 救护→再证据 |
05 · ROBOT
数据与训练现场版
链路:采集规范 → 检测框/关键点标注 → YOLO Pose(或同类)训练 → 工位验证预览 → 阈值固化。规则硬阈值始终保留,学习只增强。
原理
样本需覆盖:正常协作、近风险、灯光变化、遮挡。事故样本可少量,但不能成为唯一来源。
- 制定标注手册:框定义、19 点命名、遮挡/截断标记、左右侧约定。
- 采集:多班次光照、不同工装、有/无人员;记录相机与标定版本。
- 划分 train/val 按日期与相机,防同片段泄漏。
- 训练 Pose/检测;导出引擎并签名;记录超参与数据哈希。
- 工位验证预览:叠框图、关键点、距离条;对齐误报后再影子。
- 规则硬阈值与学习分数解耦:学习可关,规则仍在。
- 数据/模型/阈值写入同一 release。
| 数据类 | 占比建议(教学) | 用途 |
|---|
| 正常协作 | 高 | 降误报 |
| 近距离边界 | 中 | 接近灵敏度 |
| 越界/跌倒模拟 | 受控少量 | 召回底线 |
| 负例(无人员) | 中 | 空场景稳定 |
| 遮挡/反光 | 少量 | 鲁棒性 |
ds = Dataset(manifest, split_by=["date", "camera_id"])
model = train_yolo_pose(ds.train, kpt=19)
preview_overlay(station_cam, model) # 人工点检
rel = sign(model, thr, label_manual_ver)
最佳实践
- 人脸默认模糊;导出集审查后再离场。
- 每周难例回灌,固定窗口,避免天天热更。
- 标注抽检:点定位误差超标则整批返工。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只用事故片训练 | 偏置狂报 | 配比正常样本 |
| 标注口径周周变 | 不可比 | 手册版本化 |
| 预览未过就开联动 | 误停 | 预览签字门禁 |
06 · ROBOT
上线检查
上线看互锁可测性与证据帧完整性,不只看演示视频好看。分层审查必须证明:无大模型直连运动指令;PAUSE/ESTOP 请求可测。
原理
上线门禁 = 架构无直驱 + 安全回路可测 + 标定在允差 + 影子期对齐 +三类异常演练签字 + 证据帧可取 + 回滚演练通过。缺任一项不得扩大班次。
| 项 | 通过标准 | 证据 |
|---|
| 分层审查 | 无 LLM→运动直连 | 架构图+接口清单 |
| 安全回路 | PAUSE/ESTOP 请求可测 | 示波器/PLC 记录 |
| 标定 | 误差在允差内 | 标定单日期 |
| 影子期 | 约定班次告警对齐 | 日报 |
| 三类演练 | 各至少一次 | 签字卡 |
| 证据帧 | 事件可取关键帧/短片 | 抽查单号 |
| 回滚 | 上一 model+阈值可切回 | 演练记录 |
- 冻结 release:model_ver + thr_ver + 互锁映射表。
- 按表逐项取证,失败项开缺陷单。
- 首周每日抽误报/漏报各若干条复盘。
- 变更窗口避开无人值班夜班首次全量。
最佳实践
- 上线检查单与 RACI 同附;业务与安全双签。
- 证据帧保留策略写进运维手册(天数/容量)。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 未演练急停链路 | 真急失效 | 强制演练 |
| 证据只存「已告警」布尔 | 无法仲裁 | 帧+事件码 |
| 演示当天临时改阈值 | 不可回放 | 变更即发版 |
07 · ROBOT
脱敏案例:工位协作安全监控
行业典型场景(脱敏):人机协作工位行为安全监控试点。路径:影子告警 → 班组长对齐阈值 → 受限降速联动 → 扩大班次。不宣传「零事故」。
原理
试点目标是可观测告警与可测互锁,不是替代表述安全认证。急停权限始终在安全层;智能体最多发降速/暂停请求。
- 周 1–2:只观察;收集接近/越界误报。
- 周 3:调 D_warn 与 N 帧;操作卡上墙。
- 周 4:开启「降速请求」互锁;急停仍仅演练。
- 验收:架构无直驱、三类演练签字、事件可取证、可回滚。
最小验收表(教学)
| 项 | 标准 | 取证 |
|---|
| 无直驱 | 接口审查通过 | 架构签字 |
| 三类异常 | 操作卡+演练记录 | 签字卡 |
| 证据 | 按时间取帧 | 抽查单号 |
| 回滚 | 演练切回旧版 | 演练记录 |
| 表述 | 不写零事故承诺 | 材料审查 |
教学指标(告警对齐率等)仅用于设计验收表,不代表某现场实测。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 宣传已消除事故 | 过度宣称 | 只写可观测告警与流程 |
| 试点未完就全厂复制 | 水土不服 | 单工位达标再扩 |
| 影子期关闭告警「怕吵」 | 失去基线 | 保留观察通道 |
01 · VISION
视觉工程地图
先分清:系列检测模型 / X 光模型 / 工位视觉智能体。模型出视觉结果;智能体管节拍、复检、写回与证据。产品:工业视觉检测。
原理
算法族按任务选:检测框、分割、异常检测、点云尺寸;稀缺缺陷是常态,方案要能兜底,而不是承诺「所有缺陷都能监督到位」。
| 族 | 典型输入 | 输出 | 适用 | 稀缺缺陷策略 |
|---|
| 检测 | RGB/灰度 | 框+类 | 装配有无、字符区 | 少样本+难例回灌 |
| 分割 | 同左 | 掩膜 | 划痕区域、焊缝轮廓 | 弱监督/点标注 |
| 异常/无监督 | 同左 | 异常图/分 | 难定义缺陷兜底 | 良品建模 |
| 点云 | 3D | 尺寸/平面度 | 结构件尺寸 | 标定优先于模型 |
| X 光 | DR/CT | 病灶/等级建议 | 见 X 光专章 | 双签口径 |
稀缺缺陷现实
- 监督样本不够是常态;先保证光学可复现与缺陷文字定义。
- 无异常兜底就承诺「零漏检」不可验收。
- 工位智能体负责处置状态机;模型只提供视觉证据。
最佳实践
- 立项用五维表;落地走九步;X 光双签不与外观混验收。
- 缺陷定义争议先冻结金标,再谈模型分。
- 算法族选型写进方案一页纸,避免中途换族无回归。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 一个模型打天下所有缺陷 | 不可维护 | 按缺陷族拆版 |
| 只有分数没有处置状态机 | 产线用不起来 | OK/NG/复检/升级 |
| 把 X 光指标抄到外观验收 | 口径错乱 | 分册验收 |
02 · VISION
五维拆解法
五维:工件、缺陷、光学、节拍、处置。任一维空白,就不要签指标。五维是方案约束,不是文案装饰;变更任一张量,评测集可能失效。
原理
立项用五维表定边界;落地用九步走门禁。光学变更视为新场景,必须触发回归。处置状态机(OK/NG/复检/升级)与模型分数同等重要,缺处置不签合同口径。
| 维 | 关键问题 | 产物 | 变更影响 |
|---|
| 工件 | 材质/批次/姿态/反光 | 样品矩阵 | 域漂移 |
| 缺陷 | 边界定义、可比金标 | 标注手册 | 金标失效 |
| 光学 | 光源/相机/距离可复现 | 采集 SOP | 必须回归 |
| 节拍 | 推理时延、缓存、并发 | 延迟预算 | 掉帧/漏拍 |
| 处置 | 谁剔料/复检/停线 | 状态机 | 现场扯皮 |
five_d = {part, defect, optics, takt, disposition}
for k, v in five_d.items():
if blank(v): reject_review("MISSING_" + k)
if optics.changed: require_regression()最佳实践
- 五维表进立项附件;评审缺维即退回。
- 光学变更走变更单,绑定新 release。
- 样品矩阵含批次与姿态,不只良品合影。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只谈 mAP 不谈处置 | 上线扯皮 | 处置进合同附件 |
| 样品只有良品 | 缺陷无定义 | 强制缺陷样本矩阵 |
| 五维填完再也不更新 | 隐性失效 | 变更触发重审 |
03 · VISION
九步落地路径
九步是门禁顺序:跳步(尤其跳过影子)是误剔/漏检事故的常见根因。
原理
每步有退出准则;未达标不进入下一步。模型训练只是其中一步。
| 步 | 动作 | 退出准则(教学) | 常见卡点 |
|---|
| 1 | 场景与金标定义 | 手册签字、争议关闭 | 缺陷边界扯皮 |
| 2 | 光学与采集规范 | 复拍一致性抽检通过 | 光源漂移 |
| 3 | 数据集划分与防泄漏 | 按日/相机分割 | 同件进 train/val |
| 4 | 基线模型 | 金标集达基线门槛 | 类别不均衡 |
| 5 | 工位推理服务 | P95 延迟∈预算 | GPU 争用 |
| 6 | PLC/MES 信号 | 幂等写回测通 | 重复触发双记 |
| 7 | 影子对比人检 | 约定班次对齐报告 | 人检口径漂移 |
| 8 | 阈值与升级策略 | 分级处置表生效 | 现场手改阈值 |
| 9 | 发布与回归门禁 | release 签名可回滚 | 无金标门禁 |
for step in STEPS:
artifacts = run(step)
if not exit_ok(step, artifacts):
block(step); notify(owner[step]); break
gate.record(step, artifacts)
# 禁止:step4 完成后直接 step8 联动剔料影子期最小报告字段
- 日期/班次/相机 ID / model_ver / thr_ver
- 人检 OK/NG vs 模型建议;不一致件列表
- 误剔候选、漏检候选(教学分类)
- 是否建议进入阈值冻结
最佳实践
- 影子期长度按缺陷风险定,不按演示日程压。
- 难例池与金标集分离:难例进训练,金标保回归。
- 每步产物链接进项目库,评审只看产物不看口头。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 跳过影子直接联动剔料 | 误剔事故 | 强制影子门禁 |
| 采集规范口头相传 | 不可复现 | SOP+照片 |
| 用演示日幸福路径当退出准则 | 漏风险 | 强制负面件 |
04 · VISION
小样本与自监督
稀缺缺陷现实:监督样本不够时,用自监督表征 + 少样本微调 + 异常检测兜底,而不是硬训一个过拟合头。先稳光学与缺陷定义,再谈算法花样。
原理
算法顺序通常:异常兜底保漏检底线 → 少样本抬常见缺陷 → 监督头覆盖可定义类。类别极不均衡时分报表,不看 macro 均值自嗨。每周固定难例回灌窗口;禁止日常热改阈值当「训练」。
| 策略 | 何时用 | 注意 | 验收盯什么 |
|---|
| 自监督预训练 | 同域无标数据多 | 域要接近工位 | 表征迁移抽检 |
| 少样本/增量 | 每类仅数十级 | 防遗忘,可试冻骨干 | 新旧类分报表 |
| 异常检测 | 缺陷难定义/极稀 | 阈值与复检绑定 | 漏检底线 |
| 合成增广 | 几何可变 | 不可替代全部真样 | 真样占比门槛 |
- 冻结缺陷文字定义与采集 SOP。
- 建异常兜底与复检队列。
- 少样本覆盖高频可定义类。
- 难例回灌进训练;金标集只增不乱改期望。
最佳实践
- release 同时记录数据配比与算法族,便于回放。
- 无异常兜底不签「零漏检」类表述。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 合成数据替代全部真样 | 域差翻车 | 合成仅增广 |
| 无异常兜底就承诺零漏检 | 不可兑现 | 兜底+复检 |
| 日常手拧阈值当训练 | 不可回放 | 阈值进 thr_ver |
05 · VISION
场景卡片(脱敏)
行业典型场景(脱敏)卡片,对照五维与算法族,用作方案选型提示,不作合同指标。每张卡片必须能回答:光学是否稳定、缺陷是否可定义、处置谁执行。
原理
卡片数字与「典型做法」仅为教学;正式验收另附测法与数据集。复材等高压场景:卡片只给思路,验收必须以工艺标准与持证流程为准。连接器与外观等不得共用同一阈值与 release。
| 场景 | 算法倾向 | 五维要点 | 处置 |
|---|
| 表面划痕/脏污 | 分割或异常 | 光学稳定优先 | 复检→清理/返工 |
| 装配有无 | 检测+规则 | 姿态夹具 | 缺件停工位 |
| 复材思路(示意) | 异常+工艺规则 | 缺陷定义难 | 高分必人审 |
| 连接器针脚 | 检测/点云 | 节拍紧 | NG 隔离 |
| 点云尺寸 | 点云拟合 | 标定与温度 | 超差升级计量 |
- 选卡片后回填五维表,缺维不立项。
- 选定算法族后写一页纸理由与弃选族。
- 处置状态机与 MES/PLC 信号对齐。
- 分场景 release,禁止一键共用阈值。
复材等高压场景:卡片只给思路,验收必须以工艺标准与持证流程为准。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 卡片数字写进合同 | 纠纷 | 另附测法 |
| 连接器与外观共用阈值 | 误杀 | 分场景 release |
| 只选算法不写处置 | 产线用不起来 | 状态机先行 |
06 · VISION
工位智能体编排
工位智能体 ≠ 模型:模型出视觉结果;智能体管触发、规则、复检队列、MES 写回、证据与升级。
原理
状态机示例:idle → capture → infer → rule → {ok, ng_bin, recheck, escalate} → ack。停线申请走冻结级权限。
on trigger(part_id):
img = capture()
r = model.infer(img, model_ver)
d = rules.apply(r, thr_ver)
if d == "recheck": queue.push(part_id, r)
elif d == "escalate": freeze_stop_request(part_id)
mes.write(part_id, d, idem=f"{part_id}:{model_ver}")
evidence.pack(part_id, img_ref, r, d)最佳实践
- 复检队列设 SLA 与超时升级。
- 写回幂等;重复触发不双记账。
- 模型分与业务处置码分开存。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| NG 直接停线无分级 | 误停 | 分级策略 |
| 智能体里塞训练代码 | 职责混乱 | 训练走 MLOps |
07 · VISION
MLOps 与版本
模型权重、预处理、阈值、采集 SOP 同一 release;签名、回滚、难例回流闭环。
原理
线上先查版本漂移,再查数据漂移。回流:生产难例 → 审核标注 → 训练候选 → 金标回归 → 灰度影子 → 晋升。
| 动作 | 要求 |
|---|
| 签名 | release 哈希不可篡改 |
| 回滚 | 一键切回上一签名版 |
| 回流 | 难例带工位/光学版本元数据 |
| 门禁 | 金标回归失败禁止晋升 |
| A/B | 仅影子流量,不双写处置 |
rel = sign(model, preprocess, thr, sop)
if not regress(gold, rel): abort()
deploy_shadow(rel)
if promote_ok: deploy_active(rel)
else: rollback(prev_rel)
最佳实践
- 工位禁止手改阈值;改阈值=发版。
- 回流集与金标集权限分离,防污染。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 工位改阈值不登记 | 不可回放 | 配置中心 |
| 回归失败仍强推 | 事故 | 门禁阻断 |
01 · XRAY
DR/CT 原理与图像链
先稳图像链再谈 AI:DR 高动态、多帧降噪、ROI;CT 重建参数与伪影控制。压缩预览图不能当评片原图。
原理
评片级数据保留剂量/几何/窗宽窗位/设备状态元数据;质控失败(过曝、严重伪影)不得进模型。
| 环节 | 要点 | 质控失败示例 | 元数据 |
|---|
| 采集 | kV/mA、几何、滤线 | 参数偏离配方 | technique_ver |
| DR 高动态 | 保留宽动态范围 | 削波过曝 | bit_depth |
| 多帧降噪 | 对齐后融合 | 运动未标记 | n_frames |
| ROI | 焊缝/兴趣区 | ROI 偏出 | roi_geom |
| 窗宽窗位 | 评片显示参数 | 与归档不一致 | ww/wl |
| 归档 | 评片级+预览级分存 | 只存预览 | img_sha |
meta = read_technique(study)
if not match_recipe(meta, recipe_ver): return QC_FAIL("TECH")
frames = align(load_frames(study))
img = denoise_fuse(frames) if meta.n_frames > 1 else frames[0]
img = apply_roi(img, meta.roi)
if clipped(img) or blur_score(img) < T: return QC_FAIL("IMG")
store(img, meta, class_="review_grade")最佳实践
- 配方(technique)版本化,与图像绑定。
- CT/DR 分管道验收,不混指标。
- 预览图仅导航;评片与训练只用评片级。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 压缩图当评片原图 | 丢细节 | 保留评片级 |
| 坏图硬推模型 | 胡判 | 质控门 |
| 窗宽窗位不入库 | 不可复现 | 绑定 ww/wl |
02 · XRAY
AI 评片流水线
质控 → 检测 → 分割(可选)→ 分级 → 热力图/关键图报告 → 人审队列 → 结论归档。
原理
AI 输出「建议等级 + 依据热图」;合规结论按组织双签口径,不由模型分直接落章。
img, meta = load_study(id)
if not qc(img, meta): return QC_FAIL
det = detect(img)
seg = segment(img, det) # 可选
grade = classify(det, seg, rules)
report = {grade, heatmap, cites}
queue_human(report) # 双签前
archive(study_id, report, model_ver)| 节点 | 产物 | 可回放字段 |
|---|
| 质控 | 通过/原因码 | technique_ver |
| 检测/分割 | 框/掩膜 | model_ver |
| 分级 | 建议等级 | rule_ver |
| 报告 | 热图+关键框 | render_ver |
最佳实践
- 轨迹逐步落库;禁止只存最终 PDF。
- 规则分级与模型分可拆开配置,分别发版。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 模型分当报告结论 | 合规风险 | 人审/双签 |
| 热图不可复现 | 扯皮 | 固定 render_ver |
03 · XRAY
双签与合规口径(教学)
教学口径:AI 初评 → 具备资质人员复评/签发;抽检与仲裁流程可配置。具体法规与资质要求以项目合规顾问为准,本章不构成法律意见。
原理
双签记录:谁、何时、对哪版图像、哪版模型/规则、同意或改判原因。抽检:按比例或风险分层抽已签案件复审;争议进仲裁队列。
说明:工程落地教学口径;勿写成「已替代持证人员」。
| 角色 | 动作 | 系统约束 |
|---|
| AI | 建议等级+热图 | 不可终签 |
| 初评人 | 确认/改判 | 实名;资质标签 |
| 签发人 | 终签 | 与初评可同人或分离(按组织) |
| 抽检员 | 按比例/风险复审 | 只读原包 |
| 仲裁 | 争议终裁 | 结论追加,不覆盖原签 |
| 抽检策略(教学) | 触发 | 处置 |
|---|
| 比例抽检 | 签后 sample_rate | 入复审队列 |
| 风险分层 | 高建议等级必抽 | 强制第二人 |
| 改判触发 | 初评≠签发 | 质量看板+回流 |
| 仲裁 | 抽检不同意 | 冻结件号待议 |
assert user.has_cert(role)
sign(study_id, user, decision, on={
"img_sha", "model_ver", "rule_ver"})
if decision.changed_from_ai:
require_reason_code()
if random() < sample_rate or risk_tier(study) == "H":
enqueue_audit(study_id)最佳实践
- 禁止共用账号;签发后影像与结论只读。
- 改判必须填原因码,进质量看板(教学指标)。
- 仲裁结论追加写入,保留完整意见链。
- 对外材料写「辅助评片」,不写替代持证表述。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 共用账号签发 | 责任不清 | 实名审计 |
| 旁路双签直接归档 | 合规缺口 | 强制状态机 |
| 宣称替代持证人员 | 表述违规 | 定位辅助提效 |
| 抽检结果改历史签名 | 审计断裂 | 只追加 |
04 · XRAY
验收表怎么写
验收分四块:图像质控、算法、流程(双签)、证据;每项写测法与数据集,不写空形容词。材料表述定位为辅助评片,不写替代持证人员。
原理
签字栏含业务、质量、IT;附件含 release 哈希与金标包版本。旁路双签必须有渗透用例证明失败。指标旁注「教学示例,非现场结果」。
| 块 | 字段示例 | 测法(教学) |
|---|
| 质控 | 坏图拦截率 | 注入过曝/模糊集 |
| 检测 | 金标召回/精确(分层) | 固定金标包 |
| 分级 | 建议等级一致性 | 与双人金标比 |
| 双签 | 旁路尝试失败 | 渗透用例 |
| 抽检 | 抽检任务生成 | 配置采样率 |
| 证据 | 按件号导出齐套 | 抽若干件下载 |
| 回滚 | 切旧 model_ver | 演练 |
- 冻结验收表版本后再开会勾选。
- 每项失败记缺陷,不口头放过。
- 证据栏未过不得进入扩大流量。
- 表述审查:删除替代持证类句子。
最佳实践
- 验收与外观视觉分册,避免口径串用。
- 回滚演练记录进附件,不只承诺。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只写灵敏度无测法 | 扯皮 | 附测试协议 |
| 用演示幸福路径验收 | 漏风险 | 强制负面用例 |
| 双签可配置关闭无人审 | 合规风险 | 旁路渗透必测 |
05 · XRAY
脱敏案例:焊缝/铸件评片闭环
行业典型场景(脱敏):焊缝或铸件从采集到双签归档的闭环,用于验收设计。路径:影子对比人评 → 固化阈值/规则 → 强制双签 → 抽检仲裁 → 归档回放。
原理
坏图不计模型指标;高争议等级强制第二人;争议件进标定集回流。教学验收盯:旁路双签失败、件号证据包齐套、可回滚。禁止宣称替代持证评片人员。
- 图像链质控通过;失败件不计模型指标。
- 影子期:AI 建议与人评对照,只出报告不归档终签。
- 对齐后开启双签;高争议等级强制第二人。
- 每周抽检;争议件进标定集回流。
- 教学验收:旁路失败、证据齐套、可回滚、表述合规。
最小验收表(教学)
| 项 | 标准 | 取证 |
|---|
| 质控门 | 坏图不进模型 | 注入坏图集 |
| 双签 | 不可旁路 | 渗透用例 |
| 证据 | 件号导出含热图与版本 | 抽件下载 |
| 表述 | 定位为辅助,不写替代持证 | 材料审查 |
| 回滚 | 旧 model_ver 可切 | 演练记录 |
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 宣称产线已用 AI 替代持证人员 | 违规表述 | 脱敏+辅助定位 |
| 影子未完就终签上线 | 风险 | 退出准则门禁 |
| 争议件不回流 | 重复犯错 | 标定集流程 |
01 · FIELD
业务自动化 OPC agent 要点
OPC agent = 业务自动化智能体:单据、审批、外发,跑在 crusbro agent-OS 之上。核心是闸口/冻结/单号证据,而不是聊天润色。现场交付盯业务终态与回执,不盯模型「说得像不像」。
原理
一单据类型一闭环;外发必冻;与 ERP 幂等对账。收单闸口挡住脏主数据,冻结挡住未审外发,回放与证据包挡住事后扯皮。产品页:OPC agent · 底座:agent-OS。
| 环节 | 现场动作 | Harness |
|---|
| 收单 | 解析+主数据闸口 | 缺码拒收 |
| 起草 | 结构化草稿 | 工作记忆隔离 |
| 审批 | 冻结快照 | HITL |
| 过账/外发 | 工具写回 + 回执 | 幂等键=单号+动作 |
| 结案 | 证据包归档 | Run 绑定 config_ver |
doc = ingest(mail_or_api)
gate.mdm(doc) or reject
draft = fill(doc, rules_ver)
fid = freeze(draft)
await approve(fid)
erp.post(snapshot(fid), idem=f"{doc.id}:post")
pack_evidence(doc.id)最佳实践
- 按单据类型拆智能体或明确互斥路由,避免万能单超长提示。
- 禁止把 OPC agent 称作开发工具包或已废弃旧称。
- 对账差异日清;部分过账走 partial 状态。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 聊天完成即结案 | 无回执 | 只信工具回执 |
| 未冻结群发客户 | 声誉与合规 | 强制 freeze_id |
| 多类型单据一套提示通吃 | 不稳定 | 分类型闭环 |
02 · FIELD
货代智能体要点
货代场景单据多、例外多、外发多:更依赖主数据闸口与冻结。报关/运单类动作默认高风险。
原理
港口、航司、船期、客户收件人等主数据必须对齐;敏感字段脱敏展示。产品对照:货代智能体;编排仍在 agent-OS。
| 单据/动作 | 风险 | 控制 |
|---|
| 订舱草稿 | 中 | 主数据闸口 + 建议确认 |
| 客户邮件 | 高 | 模板冻结 + 人审 |
| 报关要素 | 高 | 双人/角色分离 + 证据 |
| 费用确认 | 高 | 阈值闸口 + 冻结 |
| 轨迹查询 | 低 | 只读工具 |
- 收单:运编号/柜号等关键键校验,冲突则升级。
- 起草:结构化字段,禁止模型编造港口代码。
- 外发:冻结模板;收件人白名单。
- 例外:船期变更走变更单,旧快照作废重冻。
最佳实践
- 港口/航司主数据日对;码表变更发版。
- 敏感字段(证件、价格)按角色裁剪。
- 例外率进看板,过高则收紧自动范围。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 自动群发客户未审邮件 | 声誉风险 | 冻结模板外发 |
| 编造港口/航司代码 | 错运 | 主数据闸口 |
| 船期口头改、系统不改 | 执行漂移 | 变更单 + 重冻 |
03 · FIELD
端边部署与断网
边侧要能降级:本地队列、断网续传、冲突合并、证书与时间同步。断网是工况,不是意外。产线工位、库房门口、移动终端都可能长时间离云,策略必须写进配置而不是靠现场临场发挥。
原理
预定义只读 / 缓写 / 禁止外发策略。心跳与版本上报;恢复联网后先对账再放行高风险写。边侧配置仍 Run 绑定,禁止黑盒私改。降级模式下同样保留闸口结论与本地证据,待上云后并入单号证据包。
| 工况 | 允许 | 禁止 |
|---|
| 在线 | 按策略自动/建议 | 无版本热改 |
| 弱网 | 本地队列 + 重试 | 静默丢检 |
| 断网 | 缓写本地;只读查询缓存 | 外发与不可逆过账 |
| 恢复 | 对账后放行 | 盲目全量重放 |
if not cloud.ok:
mode = DEGRADED # no outbound
queue.persist(event)
alert("EDGE_OFFLINE")
else:
drain(queue, idem=True)
reconcile()
report(heartbeat, config_ver, cert_exp)最佳实践
- 证书到期与时钟漂移进巡检。
- 本地存储加密与容量告警。
- 断网演练纳入上线验收。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 断网时静默丢检 | 黑洞 | 本地持久化+告警 |
| 恢复后无序重放导致双写 | 重复单据 | 幂等排水 |
| 边侧私自改阈值不发版 | 不可回放 | 配置仍走发布 |
04 · ORG
谁做什么 RACI
RACI 写清业务、工艺、IT、安全、供应商职责。都负责等于都不负责。智能体项目失败常见根因不是模型,而是上线谁签字、闸口谁改、事故谁值守说不清。
原理
每个关键活动有且仅有一个 A(问责人)。供应商可 R,不可单独充当上线 A。闸口规则的 A 通常在业务与合规,配置工程师做 R。Harness 相关活动(闸口、冻结、回放、发版)必须在表上有名有姓。
| 活动 | A(问责) | R(执行) | C/I |
|---|
| 场景边界 | 业务负责人 | 业务分析 | IT、安全 I |
| 工具契约 | IT 架构 | 集成开发 | 业务 C |
| 闸口规则 | 业务+合规 | 配置工程师 | IT C |
| 模型发版 | 算法负责人 | ML 工程 | 业务 C |
| 上线签字 | 业务负责人 | 项目经理 | 全体 I |
| 事故值班 | 业务+IT双A或轮值表 | 值班工程师 | 安全 C |
最佳实践
- RACI 表进立项附件,变更时同步改。
- 会议纪要点名 A,不写「大家一起」。
- 供应商交付物需甲方 A 签收。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 只有供应商签字 | 权责不对等 | 甲方 A 角必签 |
| 多人共同 A 无主责 | 推诿 | 拆活动或指定单一 A |
| RACI 贴墙不更新 | 空转 | 随变更单修订 |
05 · ORG
变更与发布治理
提示词、规则、模型、阈值都是变更,走同一发布治理。群里说一声就改生产不可审计。
原理
变更单必备:原因、差异、评测结果、回滚方式、沟通对象。生产变更窗口;紧急热修事后补单。配置与 Run 绑定,变更即新 config_ver。
| 变更类 | 门禁 | 回滚 |
|---|
| 规则/闸口 | 金标门禁 | 切回旧 ver |
| 模型路由 | 评测+小流量 | 切路由 |
| 阈值 | 影响面评估 | 旧阈值 ver |
| 工具契约 | 契约测试 | 停用新 sku |
| 紧急热修 | 双人确认 | 事后补单+复盘 |
- 提单:差异与风险。
- 评测:门禁绿。
- 审批:按 RACI。
- 发布:生成 config_ver。
- 观察:灰度指标。
- 关闭:或回滚并复盘。
最佳实践
- 生产窗口外只允许约定级别的紧急单。
- 变更沟通清单含业务值班,不只 IT。
- 禁止「先改后补」成为常态;统计紧急单占比。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 群里说一声就改生产 | 不可审计 | 工单系统 |
| 无评测发版 | 回归失明 | 门禁阻断 |
| 回滚不会做 | 放大事故 | 上线前演练 |
06 · OPENCLAW
OpenClaw 实验路径
OpenClaw 适合本地实验工具调用与渠道;产线交付用 crusbro agent-OS(crusbro智能体操作系统)。实验项目也建议模拟幂等、冻结与单号,避免把坏习惯带进生产。
原理
完整指南:OpenClaw 指南。个人 Gateway 不是多租户产线运行时。上生产迁移到 agent-OS,把实验中的工具清单与冻结点对照本手册补齐。
- 按指南约 30 分钟打通 Dashboard。
- 接一个渠道,观察轨迹与工具调用。
- 用表格模拟证据包:单号、工具回执、是否冻结。
- 对照工具契约与闸口清单,标出实验缺口。
- 上生产迁移到 agent-OS;切断实验环境对生产写接口。
| 实验可做 | 实验勿做 | 产线对应 |
|---|
| 本地工具调用演练 | 直连生产写库 | agent-OS + 契约 |
| 渠道消息观察 | 未审群发客户 | 冻结外发 |
| 轨迹阅读 | 无版本热改当规范 | Run 绑定 |
最佳实践
- 实验数据一律合成脱敏。
- 写一份「迁移检查单」再谈上线。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 实验 Gateway 直连生产写接口 | 事故 | 隔离环境 |
| 把个人实验当产线架构 | 不可运维 | 迁移 agent-OS |
| 实验阶段跳过冻结练习 | 习惯带病 | 表格模拟 HITL |
07 · APPENDIX
反模式合集
高频反模式速查。出现任一即暂停扩面,先回到闸口/冻结/回放/Run 绑定基线。
原理
反模式清单纳入发布门禁与周会抽查,避免贴墙不执行。底座能力对照 agent-OS。
| 反模式 | 症状 | 纠正 |
|---|
| 聊天完成论 | 无工具回执却结案 | 只信回执 |
| 无冻结外发 | 邮件已发无快照 | 强制 freeze_id |
| 无版本热改 | 无法回放 | Run 绑定 |
| 模型直驱执行器 | 安全事件 | 安全层隔离 |
| 无金标上线 | 一换模型就漂 | 门禁评测 |
| 万能 Agent | 提示词膨胀 | 按场景拆分 |
| 证据=截图聊天 | 审计失败 | 单号证据包 |
| 部分成功标绿 | 误导业务 | 显式 partial |
- 周会抽查一条生产 Run:是否踩表中项。
- 发布门禁自动扫描:外发无 freeze、无 config_ver 等。
- 复发项升级为变更单,指定 A 角关闭。
最佳实践
- 新人上手先读本表再写提示词。
- 演示脚本故意触发至少两项反模式的正确拦截。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 清单贴墙不执行 | 形式主义 | 纳入发布门禁 |
| 用新口号掩盖旧反模式 | 漂移 | 对照表逐项取证 |
| 扩面时关闭闸口「先跑起来」 | 债转事故 | 暂停扩面 |
08 · APPENDIX
打印版检查单汇总
可打印汇总:立项、开发、上线、日报。按需裁剪。
| 阶段 | 必勾 |
|---|
| 立项 | 边界表;禁止清单;RACI |
| 开发 | 工具契约;状态机;幂等 |
| Harness | 闸口;冻结;回放;绑定 |
| 评测 | 金标;注入;部分失败 |
| 上线 | 灰度;看板;回滚演练 |
| 运行 | 单号证据;周回归 |
通用落地检查(仅此汇总一次)
- 规则进配置版本,不留在聊天草稿。
- 故意跑失败路径,确认闸口/升级/补偿。
- 证据含 run_id、业务单号、config_version、关键回执。
- 外发/停线/危险动作:状态机上有冻结点。
- 合同指标必须附测法与数据集;教学数字≠客户结果。
- 图纸:输入哈希+rev;再应用仅草稿。
- 机器人:无 LLM 直驱;三类异常演练可测。
- 视觉:五维+九步;影子后门禁。
- X 光:质控门+双签不可旁路;定位辅助。
反模式 / 排障
| 现象 / 反模式 | 原因 | 纠正 |
|---|
| 检查单替代设计 | 空洞 | 每项指向产物链接 |