架構概觀
Bullinv Forge 的核心不是單一模型入口,而是一個把 task、agent、skill、tool、workflow、review 組在一起的工作系統。
高階架構
flowchart TD
User[使用者或系統事件] --> TaskBoard[TaskBoard]
TaskBoard --> TaskRouter[TaskRouter]
TaskRouter --> AgentRegistry[AgentRegistry]
TaskRouter --> WorkflowEngine[WorkflowEngine]
AgentRegistry --> AgentRuntime[AgentRuntime]
WorkflowEngine --> AgentRuntime
AgentRuntime --> ToolLayer[ToolLayer]
AgentRuntime --> MemoryLayer[MemoryAndKnowledgeLayer]
AgentRuntime --> RunLog[RunAndAuditLog]
ToolLayer --> ExternalSystems[ExternalSystems]
AgentRuntime --> ReviewLayer[ReviewAndApprovalLayer]
ReviewLayer --> TaskBoard
RunLog --> Observability[Observability]
任務流
flowchart LR
CreateTask[建立任務] --> QueueTask[進入佇列]
QueueTask --> ClaimTask[Agent或Human接單]
ClaimTask --> RunTask[開始執行]
RunTask --> BlockedTask[阻塞]
RunTask --> ReviewTask[送審]
RunTask --> DoneTask[完成]
BlockedTask --> QueueTask
ReviewTask --> DoneTask
ReviewTask --> QueueTask
分層理解
Task Board / Queue
負責:
- 呈現任務清單、狀態、優先級、owner、blockers
- 提供團隊共同可見的工作面板
- 成為人類與 agent 的共同工作入口
Task Router
負責:
- 判斷任務類型
- 決定交給哪個 agent、workflow 或 human
- 根據風險等級決定是否需要 review / approval
Agent Registry
負責:
- 註冊 agent 身份、能力、權限、runtime 類型
- 讓新 agent 以可插拔方式加入平台
- 讓同一任務系統可容納不同型態 agent
Agent Runtime
負責:
- 執行任務 loop
- 管理上下文
- 呼叫工具
- 產生中間更新、blocker、結果摘要
Workflow Engine
負責:
- 定義多步驟任務流程
- 管理 handoff、review gate、retry、reopen
- 協調 human 與 agent 的交接
Tool Layer
負責:
- 封裝檔案、shell、browser、API、database 等能力
- 控制權限與風險邊界
- 提供一致工具介面給不同 runtime
這一層也應包含對外部 SaaS 的 adapter,例如:
LinearAdapterSlackAdapterGitHubAdapterNotionAdapter
重點不是讓 agent 直接綁定這些平台,而是讓平台透過 adapter 借用它們已經成熟的能力。
Memory / Knowledge Layer
負責:
- 任務上下文
- workspace 知識
- skill 累積
- 文件與規則檢索
Review / Approval Layer
負責:
- human-in-the-loop
- 審核節點
- 高風險動作核准
- agent 結果回退或重開任務
Run / Audit / Observability
負責:
- 任務追蹤
- tool call logs
- run timeline
- 成本、延遲、成功率
- 失敗原因與 handoff 紀錄
核心原則
- task 是第一級實體,不是 chat thread 的附屬品
- agent 是平台角色,不是硬編碼功能
- tool access 必須有治理邊界
- workflow 要獨立於單一 agent 存在
- memory 要與 prompt 分層
- 高風險行為應可審核、可追蹤、可回放
- 外部平台應透過 adapter 接入,不應直接成為內部核心模型
第一版服務形態
第一版最建議的形態不是一開始就拆很多服務,而是:
FrontendBackend APIAgent Runtime WorkerPostgres
也就是 modular monolith + separate worker。
詳細說明請看:
第一版技術架構