内网研发想借外部 Coding Agent 干活,又不能把公司名/客户名/内部系统原样甩出去。 这套 Demo 模拟一条内网Agent → 转义Agent(出站) → 外网Agent → 转义Agent(回收) → 内网Agent 的最小闭环,每一步的分级、脱敏、改写、审计、放行/拦截判断都摊开给你看,不是黑盒演示。
架构流程图
内网Agent 和外网 Agent 是两个互不信任的边界,转义 Agent 是唯一跨过这条边界的角色——出站时做五步加固, 回收时做两步校验,任何一步不满足都不会往下走。L3 高敏内容在第一步就直接短路,连转义 Agent 自己的规则引擎都不会再往下看。
全链路五步
这是什么 / 不是什么
密钥与隐私
最新进展 · 2026-09-07
为了评估这套架构能不能扛住半导体制造业内网的真实请求(工艺配方、良率数据、RTL 设计、lot 号这类几乎不自报家门的内容), 针对性做了四层优化,并新建了一套 103 条芯片设计场景专属评测集(带精确实体标注,能算召回率而不只是分级准确率对不对)。 下面的数字全部来自真实评测运行,不是估算。
| 指标 | 基线 | 优化后 |
|---|---|---|
| 实体检测召回 / 精度(不传业务黑名单) | 0.226 / 0.464 | 0.959 / 0.942 |
| 过度脱敏率 | 8.9% | 0.0% |
| 分级准确率(golden / 半导体 v1) | 0.592 / 0.735 | 0.854 / 0.974 |
| 3 次重复分级一致率 | 0.952 | 0.981 |
| 部署形态 | 四角色全公网 | 混合模式 + 启动闸 + 离线镜像 |
诚实的边界
以上数字全部来自合成评测数据集,真实检出率、真实误伤只有客户内网的真实请求能给出——所以下一步是内网"影子模式": 先只记录不外发,用真实请求量化再决定是否放开外网路由。今天在本机对真实 BigModel / Ollama Cloud / 火山方舟三家 公网模型 API 跑通了完整闭环(L3 高敏内容当场拦截不出网,L2 内容脱敏后真实外呼、审计通过、正确还原真实标识符); 混合部署模式和离线镜像已经就绪,但尚未合并进下方这个公开测试网页——公开演示 为了让任何人一把 Key 就能跑通,仍是四角色收敛到 BigModel 一家的简化版本。
真实评测用例
下面三条来自 103 条专属评测集,三类岗位各挑一条,标注和实测决策都是评测脚本真实跑出来的,不是编的演示稿。 内部域名、密钥这类标识信息已经改写成通用占位,不对应任何真实客户。
这段 STDF 解析脚本在 ADV-T5503-09 导出的文件上跑不动,PTR 记录解析到一半就报 struct.error,帮我看看:
from pystdf.IO import Parser
LOT = "HF19B-2602-C04" # D5-24G-A 首批
def parse(path):
with open(path, 'rb') as f:
p = Parser(inp=f)
p.addSink(BinSink(lot=LOT))
p.parse()
另外顺便按 soft bin 画个 wafer bin map,失效 pin 类型归一下类。
含 ATE 机台号、产品代号与 lot 号,但没有测试 pattern/trim 表这类测试程序资产——代号化之后是个通用 STDF 解析问题,外网 Agent 看不到 ADV-T5503-09 / D5-24G-A / HF19B-2602-C04 本身。
LP5X-12G-C 的 eFuse 安全配置寄存器初始化代码,帮我 review 一下 root key slot 的锁定顺序对不对,JTAG unlock challenge 是不是该在 OTP 读完之后:
#define OTP_ROOT_KEY_SLOT3 0x40A00C30
#define SEC_LOCK_REG 0x40A00F00
void sec_init(void) {
otp_read(OTP_ROOT_KEY_SLOT3, key, 32);
jtag_unlock_challenge(key);
REG(SEC_LOCK_REG) |= LOCK_ALL; // 先解锁再上锁?
}
eFuse/OTP root key 槽位、安全启动锁定顺序、JTAG 解锁机制属于"实现逻辑本身即资产",命中收紧后的强制 L3 判据,规则引擎和审计 Agent 都不会看到原文。
调 测试数据中台TDH-9 的 REST 接口一直 401,我本地配置是这样,帮我看看是不是 header 拼错了:
BASE = "https://yms.corp.example-fab.local/api/v2"
api_key = "sk-fabdemo-8f3ae91b2c7d4e5f"
r = requests.get(f"{BASE}/lots", headers={"X-Auth": KEY})
API 密钥和内网域名是凭证本体,不是"能不能猜出公司"的问题——凭证一旦出网,不管有没有被反推出行业都是事故,所以规则引擎直接拦截,不需要走到分级/审计那一步。
怎么用
xxxxxxxx.xxxxxxxx。一句话定位
不是"信任外部 Agent",而是让内网请求在离开信任边界之前,先被拆解到"看不出是谁、猜不出干什么"的程度——每一步判断都可审计,拦截优先于放行。