产品指出我写的不如 `docs/design/agent-architecture.md` §六。对比之后确实:
我只写了「按权限装出角色/现场/工具」这个**现象**,而那份写的是**判据** ——
为什么必须这么装、不这么装会怎样。照它的骨架重写。
补进来的四块:
· **哪几维必须按身份分**:会话、工具清单(看不见比看见被拒更安全)、数据范围
(下推到查询条件,⛔ 不是查全量再过滤)必须分;系统提示词分**但这是最不重要的一条**;
模型和代码实现不用分
· **为什么同一会话不能切换身份**:上下文是**单向**的,高权限会话里已载入的数据
不会因为一句「你现在是低权限角色」而消失 ——
**提示词不是删除操作,也从来不是安全边界**
· **「两个 agent」要拆开**:同一套实现按身份参数化;⛔ 这不是「多 agent 编排」——
编排指 agent 互相调用,而不同身份之间不需要通信,真要协作走业务对象
· **四条硬规则**(身份随调用传递 / 授权在工具内部 / 数据范围下推 / 工具清单按身份下发),
连同那条判据:**如果模型不传某个参数,越权就不可能发生 —— 那这个参数就不该是参数**
⚠ ️ 保留我原来那个推论(它没有"记性" ⇒ 动过手之后必须重新看那张单),
那条在原文里没有,而它正好解释了「看当前确认单」为什么存在。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| algorithms | Loading commit data... | |
| api | Loading commit data... | |
| architecture | Loading commit data... | |
| design | Loading commit data... | |
| integration | Loading commit data... | |
| start | Loading commit data... | |
| canonical-fields.mdx | Loading commit data... | |
| data-extraction.mdx | Loading commit data... | |
| data-reconciliation.mdx | Loading commit data... | |
| deploy-runbook.mdx | Loading commit data... | |
| deployment.mdx | Loading commit data... | |
| design-system.mdx | Loading commit data... | |
| error-codes.mdx | Loading commit data... | |
| event-enums.mdx | Loading commit data... | |
| ingestion.mdx | Loading commit data... | |
| meta.json | Loading commit data... | |
| monitoring.mdx | Loading commit data... | |
| troubleshooting.mdx | Loading commit data... |