跳轉到

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 很適合透過外部整合提供,例如:

  • LinearAdapter
  • GitHubIssueAdapter
  • SlackApprovalAdapter

這種設計的好處是可以借用現有平台成熟能力,同時讓 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 的明確分離