Tool 與權限模型
這份文件定義 Bullinv Forge 中 agent 如何取得工具能力,以及高風險操作如何被治理。
核心原則
- agent 不能直接無限制碰外部系統
- tool access 應該經過平台授權
- 高風險操作應有 review 或 approval
- 權限要有 workspace、agent、task 三個層次
Tool Layer 應有的能力
- file tools
- shell tools
- browser tools
- API tools
- database tools
- issue / task tools
其中 issue / task tools 很適合透過外部整合提供,例如:
LinearAdapterGitHubIssueAdapterSlackApprovalAdapter
這種設計的好處是可以借用現有平台成熟能力,同時讓 Bullinv Forge 保有自己的核心模型。
三層權限模型
1. Workspace Level
決定整個 workspace 可用哪些工具與外部系統。
2. Agent Level
決定某類 agent 預設可做哪些事。
例如:
- coding agent 可用 file / shell
- research agent 可用 browser / retrieval
- ops agent 可用 issue / dashboard / alerts
3. Task Level
決定特定任務中,哪些權限可被臨時打開或必須升級審批。
高風險操作
應特別標記:
- 寫入正式資料庫
- 修改 production 設定
- 執行 deployment
- 發送外部通知
- 大量刪除或修改資料
這些操作應支援:
- approval gate
- policy check
- human confirm
工具調用記錄
每次 tool invocation 至少要記錄:
- task id
- run id
- agent id
- tool name
- input summary
- result summary
- success / failure
- timestamp
第一版建議
第一版先不要把 permission system 做太複雜,但要先有:
- allowlist
- agent capability profile
- task-level approval placeholder
- tool invocation audit log
另外第一版就該先有:
- external system adapter boundary
- source system mapping
- 上游平台與內部 canonical model 的明確分離