分享這兩天用 AI Agent + MCP 幫客戶開發 Power Automate 的經驗。 客戶需求...
AI Agent 幫我建 Power Automate 流程,結果除錯燒掉 $20 美金
這陣å?我迷上了 OpenClaw。
一開始å?ªæ˜¯å¥½å¥‡ï¼Œæƒ³çŽ©çœ‹çœ‹ AI agent 到底能幹嘛。çµ?果一發ä¸?å?¯æ”¶æ‹¾â€”— 我買了一å?° Raspberry Pi 5 來當è?¦è?¦çš„å®¶ã€?訂了 Claude MAXã€?å?ˆå?‡ç´šäº† VS Code Copilot Pro+ã€‚åŠ ä¸Šå?„種 API subscription,零零總總花了ä¸?少。
我è€?公看著我越買越多,眼神é€?漸從好奇變æˆ?è³ªç–‘ã€‚é‚£ç¨®ã€Œä½ ç¢ºå®šé€™äº›ç”¨å¾—åˆ°å—Žï¼Ÿã€?的壓迫感,æ¯?次他經é?Žæˆ‘螢幕後é?¢éƒ½èƒ½æ„Ÿå?—到。
所以我開始�真想:我到底�以拿這些 AI agent 來�什麼有用的事?
我的工作有三分之一是在開發 Power Automate (Cloud)。於是我決定試試看——讓 AI agent 幫我建 Power Automate �程。Flow 本質上就是 JSON,AI 處� JSON 很強,應該�以�?
建的部分,真的沒�題。但除錯這一關,完全��去。
å‰?置作æ¥å¾ˆé †åˆ©
è¨å®šç’°å¢ƒï¼šAzure 註冊應用程å¼?ã€?開好 Power Platform API 權é™?ã€?è¨å®šç³»çµ±ä½¿ç”¨è€…角色ã€?讓 Agent 去打管ç?† API接Dataverseã€‚å…¨éƒ¨é †é †åœ°è·‘å®Œã€‚ç°¡å–®ä»»å‹™ä¸Ÿçµ¦å®ƒï¼Œæ„Ÿè¦ºçœŸçš„åƒ?在 vibe coding。
第一個�程:一次就�
我請 Agent å?šä¸€å€‹å¾ˆåŸºæœ¬çš„æ?±è¥¿ï¼šã€ŒSharePoint æ¸…å–®æ–°å¢žé …ç›®çš„æ™‚å€™ï¼Œè‡ªå‹•ç™¼ Teams 訊æ?¯çµ¦æˆ‘。ã€?
一次�功。我心想:嗯,這�西行耶。我的訂閱費有救了。
第二關:Custom Connector 開始出事
接著我å?«å®ƒå»ºä¸€å€‹è‡ªè¨‚連接器。它很快就å??出一份 Swagger 定義,確實çœ?了ä¸?少工。但連接器還是有å•?題——然後就開始了無æ¢ç›¡çš„æ”¹ → 部署 → 測試 → å†?改循環。æ¯?跑一輪就燒一次 token。
我開始æ„?è˜åˆ°ï¼šAgent 生æ?±è¥¿å¾ˆå¿«ï¼Œä½†é™¤éŒ¯çš„æˆ?本æ‰?是大é 。
第三關:接真實 HR 資料,直接崩潰
真æ£çš„æŒ‘戰來了——用 Custom Connector 去抓外部系統的 HR 資料。è¦?打兩個 endpoint:員工清單和員工異動紀錄。資料é‡?å¹¾å?ƒç†ï¼Œæµ?程一定è¦?å?šåˆ†é ?,一é ?一é ?往下撈。
Agent 在這裡開始瘋狂燒錢。å•?題ä¸?是它寫ä¸?出分é ?é‚?輯,而是æµ?ç¨‹è·‘å¤±æ•—ä»¥å¾Œï¼Œå®ƒæ ¹æœ¬ä¸?知é?“哪裡壞了。
三個å??覆出ç?¾çš„å•?題
第一,Agent 抓ä¸?到真æ£çš„錯。它一直跟我說「連線失敗ã€?,但我進 portal ä¸€çœ‹â€”â€”æ ¹æœ¬ä¸?是連線的å•?題,是巢狀迴圈裡é?¢çš„變數å?ƒç…§å¯«éŒ¯äº†ï¼Œscope ä¸?å°?。Agent 看ä¸?到那麼深的地方。
第二,它會亂用 Logic Apps 的語法。Power Automate å’Œ Logic Apps 長得很åƒ?,但ä¸?完全一樣。Agent 一直試著用 map()ã€?filter()ã€?select() 這些函數,或是拼出一些「composeã€?é¢¨æ ¼çš„ JSON——語法上看起來å?ˆç?†ï¼Œè·‘起來全部爆掉。
第三,Power Automate 的除錯資訊都鎖在 UI 裡é?¢ã€‚ä½ åœ¨å…¥å?£ç¶²ç«™è£¡é»žé–‹å¤±æ•—çš„æ¥é©Ÿï¼Œå?¯ä»¥çœ‹åˆ°å®Œæ•´çš„ payloadã€?錯誤訊æ?¯ã€?實際的資料。但é€?é?Ž API 拿?Agent 往往å?ªæ‹¿å¾—到一å?¥ã€ŒåŸ·è¡Œå¤±æ•—ã€?,沒有細節。所以它å?ªèƒ½ç”¨çŒœçš„——猜ã€?改ã€?部署ã€?失敗ã€?å†?猜。
就這樣來回æ?žäº†å??幾輪。一個æµ?程除錯花了 45 分é?˜ï¼Œtoken 燒了快 $20 美金。我è€?å…¬çš„çœ¼ç¥žå£“åŠ›çž¬é–“åŠ å€?。
試� try-catch,有用但很累
我�公是Power Automate的專家,於是我�次拜讀他在2018 年寫�的 try-catch 模�——把 action 包進 Scope,失敗的時候跑一個錯誤處� Scope,用 result() 把錯誤資訊寫到 SharePoint 清單裡。
有幫助。Agent 至少有�西�以讀了。
ä½†ä½ å¾—åœ¨æ¯?å€‹æœƒå‡ºéŒ¯çš„åœ°æ–¹éƒ½åŠ ä¸Šé€™å€‹æž¶æ§‹ã€‚loop裡é?¢è¦?åŠ ã€?for each裡é?¢è¦?åŠ ï¼Œæœ‰if也è¦?åŠ ã€‚æ¯?改一次都è¦?先把除錯代碼塞進去,修好了å†?全部拆掉。來來回回,æ¯?一趟都在燒錢。
轉折點:原來救我的人就å??在æ—?邊
我è€?å…¬å?šçš„SAAS FlowStudio 本來就有這些功能——完整的 flow run 細節ã€?æ¯?個 action 的錯誤資訊ã€?輸入輸出ã€?迴圈æ¯?一次è¿ä»£çš„çµ?æžœã€‚å°±æ˜¯ä½ åœ¨ Power Automate portal 裡看到的那些æ?±è¥¿ï¼Œä½†ä»–把它變æˆ?了 API。
看我�一次被 InvalidTemplate �到快翻桌,他說了一�:「這些 API 我都有啊,我包� MCP server 就好了。�
就是那個一直用質疑眼神看我的人,最後出手救了我。局�瞬間翻轉。
MCP 帶來的改變
接上 FlowStudio MCP server 之後,Agent 終於能「看見ã€?真æ£çš„å•?題了。除錯æµ?程變æˆ?這樣:
- get_live_flow_runs:找到失敗的那次執行
- get_live_flow_run_error:拿到æ¯?個 action çš„çµ?構化錯誤。ä¸?æ˜¯ç± çµ±çš„ã€Œå¤±æ•—ã€?,而是具體的錯誤訊æ?¯ã€?出å•?題的表é?”å¼?ã€?HTTP response body
- get_live_flow_run_action_outputs:看到æ¯?個æ¥é©Ÿçš„input, outputs
- update_live_flow:部署修好的版本
四個 API 呼å?«ï¼Œä¸€æ¬¡ä¾†å›žï¼Œæ?žå®šã€‚ä¸?用塞 try-catchã€?ä¸?用寫到 SharePointã€?ä¸?用é? 猜。
那個巢狀迴圈的 scope �題?Agent 一看輸出就知�錯在哪了。
�一個 HR �程,原本 45 分� + $20 美金的除錯�本——�在�到 3 分�,token �本驟�。
我�在終於�以�直氣壯地跟 John 說:我的訂閱費花得值得。(他大概還是會翻白眼。)
所以我把用法分享出來
�定之後,我把整套方法整�� 三個 Agent Skills,放上 GitHub:
- power-automate-mcp——連線ã€?列表ã€?讀å?–ã€?觸發ã€?é‡?æ–°æ??交ã€?å?–消æµ?程
- power-automate-debug——完整的除錯診斷�程
- power-automate-build——從零開始建立和部署 flow 定義
GitHub Copilotã€?OpenClawã€?Claude——å?ªè¦?ä½ çš„ Agent 支æ?´MCP,都å?¯ä»¥ç›´æŽ¥ç”¨ã€‚
Skills 完全�費開�。使用時需�連接 FlowStudio 的 MCP server,我們有 Starter �費方案——100 次呼�,�需��信用�,直接開始用。
網�在這 → mcp.flowstudio.app
å¦‚æžœä½ ä¹Ÿåœ¨ç”¨ AI agent å?š Power Automate 開發——ä¸?管是用 prompt 建æµ?程還是讓 AI å¹«ä½ é™¤éŒ¯â€”â€”é€™æ˜¯ç›®å‰?我找到最有效的方法。建æµ?程ä¸?難,難的是除錯。
Catherine Han——FlowStudio。John 在 johnliu.net 寫 Power Automate å’Œ Logic Apps ç›¸é—œçš„æŠ€è¡“æ–‡ç« ã€‚