AI 代理程式工具整合複雜,新方案以 TypeScript 與 JSON Schema 統一規範
面對人工智慧(AI)代理程式開發工具日益複雜且缺乏統一標準的現況,近期有開發者提出一套創新架構,旨在透過一致的 JSON Schema 規範搭配 TypeScript 轉接器(adapter),有效解決工具定義破碎化的問題,協助軟體開發者更有效率地整合 AI 工具。
目前,每個 AI 軟體開發工具包(SDK)都採用各自獨立的工具定義格式,導致開發者必須為不同供應商維護重複的程式碼,造成工作負擔與效率低下。例如,OpenAI 的函式呼叫(function-calling)API 預期工具定義為具備特定巢狀結構的物件,而 Anthropic 的工具定義則採用較扁平的結構。即便是使用 LangChain 等客製化 AI 代理迴圈的開發者,也常自行定義工具格式,進一步加劇了這種碎片化現象。
為此,新的解決方案提出一個供應商中立的 agent-skill-manifest.json 檔案,這是一個基於 JSON Schema (一種定義資料結構的標準格式,確保資料正確性)的統一清單(Manifest),用來描述 AI 代理程式的「技能」或功能。搭配
TypeScript(一種讓寫程式更嚴謹、減少錯誤的工具)轉接器系統,開發者只需定義一次工具,即可在程式執行時編譯成適用於任何供應商的格式,例如 OpenAI 或 Anthropic 的函式呼叫格式。
這個統一的清單架構將原本 N 種工具乘以 M 個供應商的複雜度,簡化為 N 個清單加上 M 個轉接器,每個部分都可獨立測試。該清單架構的目標是實現供應商中立、可擴充、靜態驗證以及方便人工閱讀。清單分為五個主要部分:toolId
與中繼資料、inputSchema、outputSchema、權限(permissions)和執行邊界(executionBoundary)。其中 toolId 作為獨特的識別符號,而 inputSchema 和
outputSchema 則利用標準 JSON Schema 定義工具的輸入參數和輸出結構。
透過手動撰寫 TypeScript 介面來對應 JSON Schema 結構,確保程式碼與資料定義的一致性。清單的驗證則透過 ajv 工具執行。轉接器系統被設計為純粹的函式,由一個 compileManifest 函式分派給特定的供應商編譯器。儘管某些供應商(如 OpenAI 和 Anthropic)的 API
尚不支援權限與執行邊界等功能,這些資訊仍可由客製化代理迴圈運行時(runtime)加以利用。這項新架構有望大幅降低 AI 代理程式工具開發的複雜度,提升跨平台的互通性。