標籤: 多 Agent 平台教學

  • 用 Sim 管一整隊 AI 員工

    用 Sim 管一整隊 AI 員工

    📌 本文重點

    • Sim 幫你管理一整隊多 Agent AI
    • 用 TypeScript 定義角色與完整工作流
    • 支援多家 LLM 與外部 API 工具
    • 先從一條固定流程開始導入

    Sim 要解決的問題很單純:你不想再手動 copy / paste 提示詞,而是讓一整隊 AI 员工自己分工、排程、回報進度

    專案連結:https://github.com/simstudioai/sim


    Sim 是什麼?一句話定位

    如果把 Claude、GPT 看成「單一員工」,Sim 就是幫你管理一整支 AI 團隊的中控台

    • 不提供自己的模型
    • 專門用來定義多個 Agent 角色researcherwriterreviewer…)
    • 負責任務分派、狀態管理、排程
    • 幫你接上各家 LLM 與外部 API / 工具

    你可以把它想成「用 TypeScript 寫的一個 Agent 作業系統」。


    核心功能:用 TypeScript 排好一條完整工作線

    1. 在一個專案裡定義多個 Agent 角色

    Sim 的基礎就是:所有 Agent 都是 TypeScript 物件,你可以清楚寫出每個角色的職責與能力。

    最小範例(簡化版):

    // agents/researcher.ts
    import { defineAgent } from "sim";
    
    export const researcher = defineAgent({
      name: "researcher",
      model: "gpt-4.1",
      instructions: "負責查找資料,整理重點,用 bullet points 回覆。",
    });
    
    // agents/writer.ts
    export const writer = defineAgent({
      name: "writer",
      model: "claude-3-5-sonnet",
      instructions: "根據研究重點,寫成條理清楚的文章草稿。",
    });
    
    // agents/reviewer.ts
    export const reviewer = defineAgent({
      name: "reviewer",
      model: "gpt-4o",
      instructions: "檢查文章結構、錯字與邏輯,提出修改建議。",
    });
    

    你可以採取的行動:

    • 先從兩個角色開始(例如 researcher + writer),不要一開始就弄 5 個 Agent
    • 把你平常給 ChatGPT 的系統提示,搬進 instructions

    💡 關鍵: 所有 Agent 以 TypeScript 物件定義,讓職責、模型與提示詞都可版本控制與共用。

    2. 中央排程、任務分派與狀態管理

    有了多個 Agent,接下來是:誰先做、做完交給誰、每一步狀態記錄在哪?

    Sim 提供「任務 orchestrator」,你可以用工作流的方式描述整條流程:

    // workflows/contentPipeline.ts
    import { defineWorkflow } from "sim";
    import { researcher, writer, reviewer } from "../agents";
    
    export const contentPipeline = defineWorkflow({
      name: "content-pipeline",
      steps: [
        {
          agent: researcher,
          input: (task) => `請針對主題:${task.topic} 搜集 5 個重點`,
          saveAs: "researchNotes",
        },
        {
          agent: writer,
          input: (ctx) => ctx.researchNotes,
          saveAs: "draft",
        },
        {
          agent: reviewer,
          input: (ctx) => ctx.draft,
          saveAs: "reviewedDraft",
        },
      ],
    });
    

    這段程式直接做到:

    • 定義固定步驟順序researchwritereview
    • 每一步產出的結果存進 context(researchNotes / draft
    • 後面 Agent 直接讀 context,不用你再 copy / paste

    你可以採取的行動:

    • 先用一條同步工作流(一次跑完)熟悉 API
    • 等熟悉後再考慮加排程(例如每天 9 點自動跑一次報表)

    💡 關鍵: 透過 workflow 把多步驟流程寫死在程式中,避免人工在多個對話間來回 copy / paste。

    3. 接現有 LLM 與外部 API / 工具

    Sim 本身不訓練模型,而是非常直接地:

    • 支援 OpenAI / Anthropic / Mistral 等主流 LLM
    • 可設定不同 Agent 用不同模型(便宜模型做抓資料,貴模型做審稿)
    • 提供工具介面讓 Agent 呼叫外部 API

    範例:設定不同 Agent 用不同 provider:

    // config/models.ts
    export const models = {
      cheap: { provider: "openai", model: "gpt-4.1-mini" },
      strong: { provider: "anthropic", model: "claude-3-5-sonnet" },
    };
    
    // agents/reportBot.ts
    import { defineAgent } from "sim";
    import { models } from "../config/models";
    
    export const reportBot = defineAgent({
      name: "report-bot",
      model: models.cheap,
      tools: ["fetchSalesAPI", "generateCSV"],
    });
    

    你可以採取的行動:

    • 先只用一個 provider(例如 OpenAIAnthropic),確保 key 正常
    • 把現有內部 API 包成簡單 function(例如 fetchIssues()),讓 Agent 直接呼叫

    延伸閱讀:關於「模型只是基礎,缺的是中間這層 Agent / Workflow」的觀念,可以看這篇:
    From Models to Agents: The Missing Layer Between AI and Real Problems
    https://pub.towardsai.net/from-models-to-agents-the-missing-layer-between-ai-and-real-problems-8b08498780bd


    適合誰用?三個具體場景

    1. 內容生產流水線:多步驟寫作

    典型流程:

    1. researcher:收集資料、整理架構
    2. writer:產生初稿
    3. editor / reviewer:針對品牌語氣、錯字、結構調整

    用 Sim,你可以:

    • 把這條線寫成一支 workflow
    • 每天丟一批題目進去,由 AI 團隊自動輸出草稿
    • 人類只負責最後一層審稿

    行動建議:

    • 先挑一種固定格式內容(例如每週電子報)導入,不要從最複雜的長文開始

    💡 關鍵: 把「固定格式內容」交給多 Agent 流水線,可穩定產出草稿,讓人類專注在高價值審稿。

    2. 程式碼維護:issue triage → patch → review

    典型流程:

    1. triage Agent:閱讀 issue / log,分類並估工
    2. patch Agent:嘗試產生修補碼
    3. reviewer Agent:檢查 patch 是否合理

    這個工作流很適合用 Sim:

    • triage Agent 先過一遍 backlog,把 issue 打標籤
    • patch Agent 先產生 PR 草稿
    • reviewer Agent 給出建議,最後再交給人類工程師合併

    行動建議:

    • 先從「只產出 patch 草稿,不自動 merge」開始,上線風險較低

    3. 資料處理 / 報表自動化

    場景:

    • 每天從內部系統拉數據
    • 清洗 / 合併
    • 生成自然語言報表,發到 Slack / Email

    用 Sim 可以:

    1. data-fetcher Agent:呼叫 API 把原始資料抓回來
    2. transformer Agent:整理成標準格式
    3. reporter Agent:寫出「本日營收摘要」「異常提醒」

    行動建議:

    • 從一份你現在已經在做的固定報表開始,把現有流程翻成 workflow

    怎麼開始:最小 Demo 三步走

    下面是一條「10 分鐘內跑起來」的路線,假設你有基本 Node / TypeScript 基礎。

    步驟 1:拉專案 + 安裝

    git clone https://github.com/simstudioai/sim
    cd sim
    pnpm install # 或 npm install / yarn
    

    (建議用 pnpm,與官方 repo 一致。)

    步驟 2:設定 LLM Key

    1. 建一個 .env 或使用 repo 提供的環境變數範本
    2. 至少填一個 provider:
    OPENAI_API_KEY=你的key
    # 或
    ANTHROPIC_API_KEY=你的key
    
    1. config 檔裡確認預設 model 指向你有 key 的 provider。

    步驟 3:啟動一個簡單 workflow

    1. examples/ 目錄中選一個最小示例(通常會有 content pipeline / hello-world workflow)
    2. 執行:
    pnpm run dev
    # 或 repo 內標註的 demo 指令,例如:
    pnpm run demo:content
    
    1. 到終端機或簡單 web UI 中,輸入一個主題,例如:
    {
      "topic": "2025 年 AI 多 Agent 平台現況"
    }
    

    你應該會看到:

    • researcher 的查資料結果
    • writer 的初稿
    • reviewer 的修改建議

    行動建議:

    • 先改一下 instructions,讓它用你的品牌語氣寫,感受一次「只改提示就換整隊 AI 風格」的效果

    跟現有工具銜接:Routing、MCP、部署注意事項

    與 Routing 工具(如 Followloop)搭配

    Sim 專注在「多 Agent 工作流內部的協作」,而像 Followloop 這類工具更像是:

    • 負責不同入口的請求路由(例如:客服問答 → FAQ Agent;技術問題 → Dev Agent)
    • 決定「這個請求要送到哪條 Sim workflow」

    實際做法:

    • Followloop 端:根據使用者請求分類,決定要呼叫哪個 Sim API endpoint
    • Sim 端:把每條 workflow 對外暴露成 HTTP endpoint
    名稱 核心功能 免費方案 適合誰
    Sim 多 Agent 工作流編排與執行 開源、可自架 想打造 AI 團隊的人
    Followloop 請求路由與入口流量分配 視官方方案而定 有多入口流量的產品

    與 MCP 工具共用

    現在很多工具透過 MCPModel Context Protocol)暴露能力,例如:

    • 檔案系統存取
    • 資料庫查詢
    • 內部 API 代理

    你可以:

    • 在 Sim 的 Agent 定義裡,把 MCP 工具包裝成 tool
    • 讓 Agent 在 workflow 中直接呼叫 MCP 工具

    好處是:

    • 你不用重寫工具,Sim 只負責編排誰在什麼時候用哪個工具

    部署:Vercel 或自家伺服器

    Sim 是 TypeScript 專案,所以部署邏輯跟一般 Node / Next app 相近。

    部署到 Vercel 時注意:

    • 把各家 LLM 的 API key 設成 Vercel environment variables
    • workflow 若有排程,需要配合 Vercel cron / Edge function 或外部 scheduler
    • 注意 Vercel 的執行時間限制,長任務可能要改為 background job

    部署在自家伺服器時注意:


    一句話收尾:先把你的一條「固定流程」交給 Sim

    不要一口氣把所有工作丟給多 Agent 系統,先挑一條你每天都在重複的流程(例如每週電子報、bug triage、固定報表),在 Sim 裡寫成 workflow,跑通一次,就能感受到「管理一整隊 AI 員工」的差別。

    🚀 你現在可以做的事

    • 到 GitHub 把 sim 專案 git clone 下來,跑一次官方 examples workflow
    • 把你現行的一條固定流程畫成步驟圖,翻成第一個 Sim workflow
    • 把現有給 ChatGPT 的系統提示整理進 instructions,測試同一 workflow 換不同提示的效果