microsoft/TypeAgent

Sample code that explores an architecture for using language models to build a personal agent that can work with application agents.

TypeAgent – 個人AI助理的範例

是什麼

  • 由微軟維護的開源範例,展示如何建構一個可透過自然語言對話的單一個人助理
  • 程式碼示範如何使用結構化提示方法,將大型語言模型(LLMs)與傳統軟體元件(動作、記憶、規劃)結合。

核心理念

原則 應用方式
將模型精煉為邏輯結構 動作以類型化模式(透過 TypeChat)表達;記憶以本體形式儲存;規劃採用「思維樹」搜尋,由LLM、品質模型與人類協作完成。
透過結構控制資訊密度 動作合約是離散且高度描述的;記憶保持在緊密的語意結構中,適合LLM的注意力視窗;每個搜尋節點聚焦於一個子問題。
透過結構實現協作 人類澄清模糊請求;簡單解析器提取邏輯形式;多個模型(LLM、優勢/品質模型)協作擴展最佳優先搜尋樹。

關鍵元件

  • TypeAgent Shell – 基於 Electron 的 UI,允許使用者透過單一介面與多個註冊的代理對話(支援語音)。
  • Dispatcher – 使用結構化提示,將使用者的自然語言請求路由至最符合意圖的類型化合約代理。
  • KnowPro – 實現結構化 RAG 記憶層:對話歷史被索引為邏輯實體,支援精確查詢,如「我們討論過哪些書?」
  • Cache – 使用 LLM 驅動的結構化提示對動作翻譯進行快取,減少重複呼叫模型,降低延遲。
  • Agent SDK – 定義代理必須實作的 TypeScript 接口,以接入調度器與外殼。

包含的範例代理(均基於相同架構)

  • 音樂播放器、聊天、網頁瀏覽器、VS Code、清單管理器、日曆、郵件、桌面自動化、影像編輯器、Markdown 編輯器、照片蒙太奇等。

如何試用

  1. 按平台特定的設定文件(Windows、WSL2、Linux、macOS)安裝 Node、Azure OpenAI 金鑰等。
  2. 執行 TypeAgent Shellts/packages/shell)—— 你將獲得一個支援語音的對話視窗。
  3. 與內建代理互動,或透過實作 SDK 並將代理註冊至調度器來新增自訂代理(參見 Echo 教學)。

設計亮點

  • 結構化 RAG 以基於模式的索引取代傳統的僅向量檢索,顯著提升對話事實的召回率。
  • 動作-記憶耦合 – 執行動作(例如「將一場匹克球比賽加入我的日曆」)會自動建立可被後續動作引用的記憶項目。
  • AMP 架構(動作-記憶-規劃)將三者流程整合,實現無縫資訊交換。

目前狀態與限制

  • 屬於早期階段的範例程式碼,非生產就緒框架。
  • 僅在開發機上使用 Azure OpenAI 服務進行測試;僅支援英文評估。
  • 依賴精心設計的 JSON 模式;若模式未能捕捉使用者意圖,LLM 可能產生無效回應。
  • 無內建遙測功能;開發者需自行提供 API 金鑰。

誰可能感興趣

  • 探索如何結構化 LLM 驅動代理的研究人員或工程師。
  • 希望獲得個人助理、動作調度器或記憶增強聊天機器人參考實作的開發者。
  • 對「結構化提示」模式感興趣,以降低 LLM 成本並提升可靠性的團隊。

微軟計畫的下一步

  • 發布可重用的記憶與調度層程式庫。
  • 提供可安裝套件與新代理的動態發現功能。

以上所有資訊均直接取自倉儲的 README;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch
  • 專案