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