ChatGPT Work 能调用工具之后,权限给多大就变成一个需要逐步确定的事:给少了任务在中途停下,给多了又担心它动到不该动的数据或账号。比较稳的顺序是,先按任务反推最小工具集,第一轮只开只读跑一遍,记下实际停在哪一步,再逐项放开权限、每次只改一项并复跑,最后把不可放开的动作固定成人工确认。判断标准不是“能不能跑完”,而是“它做的每一步是否都在你列过的范围内”。
给 ChatGPT Work 配权限可以分成四档:只读、可写、需审批、禁止。先只开只读跑一次任务,看它实际能走到哪一步;再根据日志里停下的步骤逐项放开,每次只改一项并复跑同一份输入。凡是涉及对外发送、删除覆盖、资金支付、账号与权限变更、生产数据写入的动作,都不进入自动放开范围,固定为人工确认后再执行。这条边界适用于把智能体接到邮箱、日历、网盘、数据库、工单系统的场景。
列出任务真正需要的工具与数据范围
从任务反推最小权限集合,而不是先给全量权限。做法是把任务拆成步骤,每一步写清楚:用哪个工具、要访问哪些数据、对应任务里的哪一步、属于只读还是可写。
- 步骤 1:读取本周客户咨询邮件。工具为邮件连接器,数据范围限定在指定文件夹或标签、最近 7 天,属于只读。
- 步骤 2:生成摘要与回复草稿。这一步只需要模型自身的文本处理能力,不调用外部工具。
- 步骤 3:把草稿写入项目文档。工具为文档连接器,数据范围限定在某个目录下新建文档,先按可写但收窄路径处理。
- 步骤 4:通知同事。工具为消息连接器,数据范围限定到指定频道或指定人,归入需审批。
如果一开始不确定工具和范围是否列全,可以先让模型只输出计划、不执行工具。下面这段提示词用于生成第一版权限清单,运行在任务正式开始之前。
你只输出计划,不要调用任何工具。
任务:整理本周客户咨询邮件并形成摘要。
请按步骤列出:
1. 每一步需要哪个工具;
2. 读取或写入哪些数据;
3. 数据范围(文件夹、路径、时间窗口、收件人);
4. 属于只读、可写、需审批、禁止中的哪一档。
第一轮只开只读权限跑一次
先在不产生写入风险的前提下观察任务能走到哪一步。下面是只读配置的通用骨架示例,字段名以实际界面与文档为准,重点是 write_actions 和 approval_required 都留空。
tools:
- name: mail
scopes: [mail.read]
constraints:
folders: [INBOX]
date_range_days: 7
- name: drive
scopes: [drive.read]
constraints:
paths: [/项目A/文档]
write_actions: []
approval_required: []
用同一份输入跑一次。通常会停在需要写入、发送或删除的步骤,也可能因为只读范围没覆盖已发送邮件、子目录或共享盘而提前停下。这一轮要记的是“实际停下的位置”,不是模型声称自己做了什么。
记录哪些步骤因权限不足停下
停下不一定是权限问题,也可能是模型理解偏差、参数写错、筛选条件不对。先把两者分开,再决定要不要放开权限。
- 写入项目文档:输入为草稿正文,返回提示类似 permission denied 或 missing scope,该步骤预期动作是在 /项目A/文档 下新建文档,判断为权限不足。
- 读取已发送邮件:输入为最近 7 天,返回空列表且没有报错,预期动作是读取已发送文件夹,判断为只读范围未覆盖,需要结合环境确认是否要放开。
- 通知同事:输入为摘要文本,模型改为在回复里直接输出文本,预期动作是调用消息工具发到指定频道,判断为权限不足后模型做了降级处理。
判断办法:人能手动读到或写到该数据,而工具返回权限类错误,属于权限不足;工具能拿到数据,但模型选错工具、参数与预期不符,属于理解或参数问题,先改提示词或参数,不要急着放开权限。日志里保留原始工具调用和返回,便于逐条对照。
逐项放开权限,每次只改一项并复跑
确认每次放开带来的实际变化,不要一次改多项。每次改动后都用同一份输入复跑,观察任务推进到哪一步,以及是否出现超出预期的动作。
- 改动项:给 drive 增加 write,路径仍限定在 /项目A/文档。复跑结果:草稿写入成功,任务推进到通知步骤。未出现超出预期动作。
- 改动项:给 mail 扩到已发送文件夹。复跑结果:摘要覆盖了已发出的回复。出现了对原清单未列出范围的读取,需要确认这是否在预期内,若不是则回退。
回退做法:改动前保留一份配置副本,记录改动项与时间;出现超出预期动作时,立即把该项 scope 收回或把路径收紧,再复跑同一份输入,确认回到上一个稳定状态。回退后不要立刻继续放开下一项,先观察一到两次复跑结果。
把不可放开的动作固定为人工确认
给权限划定不再扩大的边界。禁止项清单通常包括:删除或覆盖文件、删除邮件、对外发送邮件或消息、公开发布内容、资金支付与退款、账号与权限变更、生产数据库写操作、导出密钥或凭据、批量导出个人数据。这些动作不因为“任务需要”就自动放开。
人工确认方式:让工具调用进入待审批状态,审批人看到工具名、参数、目标范围和影响条数,只批准具体这一次,不批准长期免审。审批记录与任务日志放在一起,方便事后核对。
误触发时的处理路径:先暂停对应连接器或收回 scope,再查日志确认动作覆盖的数据范围;能撤销的撤销,不能撤销的通知相关人员,最后视情况轮换凭据。处理完再决定该动作是否继续保留在需审批档,还是改为直接禁止。