mirror of
https://github.com/tvytlx/ai-agent-deep-dive.git
synced 2026-04-03 07:34:50 +08:00
60 lines
1.5 KiB
Markdown
60 lines
1.5 KiB
Markdown
# 12. 工作区与隔离策略规格
|
||
|
||
## 1. 目标
|
||
|
||
不同 agent 不能默认拥有相同的文件系统权限。产品必须允许根据角色与场景控制工作区隔离。
|
||
|
||
## 2. 隔离模式
|
||
|
||
Python 版建议至少定义:
|
||
|
||
### 2.1 shared workspace
|
||
主线程默认工作区,共享项目目录。
|
||
|
||
### 2.2 read-only workspace
|
||
用于探索、规划、验证等只读角色。
|
||
|
||
### 2.3 temp workspace
|
||
用于临时脚本、临时测试产物。
|
||
|
||
### 2.4 worktree workspace
|
||
用于隔离修改型子任务,避免污染主分支。
|
||
|
||
### 2.5 remote workspace
|
||
用于远程执行环境(第一版可不做)。
|
||
|
||
## 3. 为什么隔离必须存在
|
||
|
||
没有隔离会导致:
|
||
- 子任务互相污染
|
||
- 验证角色破坏项目
|
||
- fork 实验影响主线程
|
||
- 风险动作边界模糊
|
||
|
||
## 4. 角色与隔离建议
|
||
|
||
- Explore Agent -> read-only
|
||
- Plan Agent -> read-only
|
||
- Verification Agent -> read-only + temp writable
|
||
- General Agent -> shared 或 worktree
|
||
- 高风险实现任务 -> worktree
|
||
|
||
## 5. 路径翻译需求
|
||
|
||
如果子任务运行在 worktree 中,而继承的上下文引用的是父工作区路径,系统需要能做路径翻译或重新读取。
|
||
|
||
## 6. 清理需求
|
||
|
||
隔离工作区结束后必须支持:
|
||
- 清理临时文件
|
||
- 清理临时目录
|
||
- 清理 worktree(如适用)
|
||
- 清理孤儿进程
|
||
|
||
## 7. 验收标准
|
||
|
||
1. 只读角色不能修改项目文件
|
||
2. 验证角色只能在 temp 目录写测试脚本
|
||
3. worktree 任务不污染主项目目录
|
||
4. 任务结束后能清理隔离资源
|