Communitygithub.com

RPA Flow Architect(RPA流程架構師)

將RPA視為圍繞脆弱UI操作的可恢復狀態機,而非冗長的點擊腳本。提供最小安全設計、診斷、節點編輯、驗收決策或交接指引。

RPA Flow Architect(RPA流程架構師) 是什麼?

此技能旨在將RPA開發從脆弱的點擊腳本提升為可恢復的狀態機設計。它提供了一套結構化方法,包括任務分類(全新設計、診斷、事故、改造或驗收)、證據分級(E0-E3)以及嚴格的可靠性不變量(如確保每個啟動項目達到終止狀態、綁定重試次數、區分憑證錯誤與一般失敗等)。支援的平台包括ShadowBot(影刀)及其他RPA工具,並提供內建稽核腳本(如 `parse_run_log.py`、`audit_state.py`)來驗證狀態與日誌的一致性。它強調基於證據的下一步行動,避免僅因圖表正確就聲稱完成,而是要求設計或修改經過對應驗證。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add wangge-ai/wangge-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

RPA Flow Architect(RPA流程架構師) 是做什麼的?

將RPA視為圍繞脆弱UI操作的可恢復狀態機,而非冗長的點擊腳本。重建已知資訊,區分證據與推論,然後產生使用者當前所需的最小安全設計、診斷、節點編輯、驗收決策或交接指引。

從這裡開始

  1. 在檢查或修改任何內容前,先閱讀最近的專案說明與交接文件。
  2. 保留使用者聲稱已完成或已有真實證據驗證的功能。不要偶然地重建它們。
  3. 將任務分類:
    • 全新設計(Greenfield):需求與少數關鍵畫面。
    • 診斷(Diagnosis):現有流程行為不正確。
    • 事故(Incident):日誌、狀態與輸出是主要證據。
    • 改造(Retrofit):為現有流程加入批次、冪等性、排程或重試機制。
    • 驗收(Acceptance):判斷修改後的流程是否符合其合約。
    • 交接(Handoff):保留確切進度與下一步安全動作。
  4. 使用evidence-and-control-flow.md將可用證據指定為E0-E3等級。
  5. 僅陳述繼續進行所需的最低假設。將發現標記為已確認(confirmed)、推論(inferred)或待證實(pending evidence)。
  6. 從範例與日誌中刪除憑證、帳戶識別碼、令牌、電話號碼與業務資料。

選擇輸出模式

僅回傳當前請求有用的模式。

架構(Architecture)

當需求足夠但現有流程不存在或無關時使用。產生:

  • 業務任務模型與任務鍵;
  • 控制流程層級;
  • 變數與配置邊界;
  • 狀態機與穩定錯誤碼;
  • 分層重試與清理策略;
  • 檔案/存檔合約;
  • 實作順序與驗收矩陣。

切勿憑空發明未見節點的位置或確切欄位。在E0等級允許完整的目標架構,但不得聲稱關於當前編輯器的內容。

診斷(Diagnosis)

當使用者提供現有流程、螢幕截圖或失敗證據時使用。產生:

  • 一句話結論;
  • 重建的當前拓撲;
  • 已確認的事實與有邊界的推論;
  • 問題、證據、影響、信心度與根本原因;
  • 必須保持不變的已完成邊界;
  • 最小修改佇列;
  • 若確切位置仍未知,則為下一個最小的證據請求。

在建議移動節點前重建巢狀結構。檢查Continue、Exit Loop、Exit Flow、Close Page、子程序呼叫與錯誤處理程式的真實範圍。

單節點指引(One-Node Guidance)

用於脆弱的視覺化編輯器,或當使用者要求逐張螢幕截圖的指引時使用。僅提供一個當前節點修改卡:

位置(Location):
操作(Operation):add | modify | move | disable
節點類型(Node type):
所需父節點與相鄰節點(Required parent and neighbors):
欄位值(Field values):
錯誤處理(Error handling):
原因(Reason):
預期編輯器外觀(Expected editor appearance):
需回傳的螢幕截圖(Screenshot to return):
回滾(Rollback):

在螢幕截圖回傳後,驗證縮排、父/子範圍、順序、值模式、變數類型、輸出名稱與錯誤處理,然後再提供下一張卡片。請遵循screenshot-node-guidance.md。

驗收(Acceptance)

同時使用日誌、狀態與工件。報告:

  • 每個狀態的預期與實際數量;
  • RUN/SKIP/RETRY時間線與通過次數;
  • 未完成或過時的running項目;
  • 狀態與工件不符之處;
  • 通過、有條件通過或失敗;
  • 下一個最小的修正或驗證行動。

僅有編輯器的螢幕截圖永遠無法證明執行時成功。請使用logging-and-acceptance.md。

交接(Handoff)

記錄當前事實,而非重述整個歷史:

  • 目標與當前真實狀態;
  • 已完成且受保護的邊界;
  • 按順序排列的待辦工作;
  • 關鍵檔案與僅限編輯器的元件;
  • 測試與真實執行證據;
  • 確切的下一個節點或命令;
  • 禁止事項、隱私規則與未解決的決策。

應用可靠性不變量(Reliability Invariants)

根據以下不變量審計每個設計與診斷:

  1. 每個啟動的項目都達到終止狀態或明確的可重試失敗。切勿讓running狀態無限持續。
  2. 僅在下載的工件經過驗證並存檔至最終路徑後,才寫入success。
  3. 每個退出路徑都關閉或安全釋放其頁面、視窗、程序、鎖定與臨時資源。
  4. 跳過是基於相同的任務鍵與已宣告的終止狀態,而非僅基於名稱相似的檔案。
  5. 重試有界限,並區分為節點重試、項目重試與批次重播。計算最壞情況下的嘗試次數。
  6. 憑證錯誤、登入逾時、CAPTCHA/風險控制、頁面變更、無資料、下載失敗與存檔失敗具有不同的狀態或穩定的錯誤碼。
  7. 密碼或憑證失敗不會靜默地變成無限重試;在改變其可重試性之前確認策略。
  8. 任務計畫生成位於每個任務的重試與項目迴圈之外。每個日期或業務任務擁有獨立的任務鍵與狀態範圍。
  9. 當目標系統使用右開區間時,業務結束日期與UI查詢結束日期保持分離。
  10. 基礎配置或計劃錯誤應失敗關閉;一個業務項目失敗應進行清理並返回其所屬的迴圈。
  11. 日誌使用安全序號或別名來識別項目,絕不使用憑證或敏感操作資料。
  12. CAPTCHA與存取控制處理僅使用官方驗證、允許的人為干預、有界限的重試或失敗並繼續。切勿設計繞過方式。

預設拓撲為:

入口(entry)
  -> 任務計畫生成(task-plan generation)
  -> 任務迴圈(task loop)
     -> 有界批次傳遞迴圈(bounded batch-pass loop)
        -> 業務項目迴圈(business-item loop)
           -> 應該執行/冪等性決策(should-run / idempotency decision)
           -> 標記為執行中(mark running)
           -> UI子流程(UI subprocess)
           -> 驗證並存檔工件(validate and archive artifact)
           -> 提交終止或可重試狀態(commit terminal or retryable state)
           -> 清理頁面/資源(cleanup page/resources)
  -> 對帳與驗收摘要(reconciliation and acceptance summary)

在更改狀態、重新執行、批次傳遞或日期任務邏輯前,請閱讀state-retry-idempotency.md。在更改登入、CAPTCHA、等待、選擇器、下載或頁面清理前,請閱讀ui-auth-downloads.md。

使用最小狀態合約(Minimum State Contract)

專案可以擴展此表格,但必須明確說明偏差。

狀態(Status)終止(Terminal)預設可重試(Default retryable)必要清理(Required cleanup)
success是否關閉頁面;工件存在
no_data是否關閉頁面
running否逾時後是恢復或替換;切勿永久保留
captcha_failed否是,有界限關閉頁面
failed依錯誤碼策略依錯誤碼策略關閉頁面
credential_failed策略決定否,直到確認關閉頁面

使用穩定的錯誤碼,例如credential_error、login_timeout、captcha_failed、element_not_found、download_timeout、archive_failed與state_write_failed。保持人類可讀的訊息與機器穩定的錯誤碼分離。

使用內建稽核腳本(Bundled Auditors)

對副本或已清理的證據執行腳本。除非提供了明確的輸出路徑,否則它們是唯讀的。

  • python scripts/parse_run_log.py <log> 正規化CSV、JSONL或文字日誌,並找出項目時間線與開放的RUN事件。
  • python scripts/audit_state.py <state.json> [--artifact-root DIR] 找出非法狀態、過時的running項目以及狀態/工件不符之處。
  • python scripts/validate_rpa_spec.py <spec.json> 靜態審計正規化的目標設計,檢查綁定重試、清理、狀態閉合、存檔順序與安全性違規。

將腳本輸出視為證據,而非取代檢查相關流程或業務合約。

路由平台細節

對於ShadowBot/影刀,在命名節點或解讀編輯器螢幕截圖前,請閱讀shadowbot-adapter.md。平台版本不同:請驗證節點的一般標籤、錯誤處理標籤、輸出變數以及可見的巢狀結構,而非依賴記憶。

對於其他平台,應翻譯語義,而非複製ShadowBot的標籤。通用的問題是:誰擁有迴圈、什麼被變異、失敗如何退出、什麼被清理以及什麼證據提交成功。

以證據門控的下一步結束(Finish with an Evidence-Gated Next Step)

以下列其中一項結束:

  • 完整的架構及其假設;
  • 一個經過驗證的診斷與最小的安全修正;
  • 一個節點修改卡與下一步所需的螢幕截圖;
  • 一個由日誌、狀態與工件支援的驗收判定;
  • 一個讓其他任務可以繼續而無需重建歷史的交接。

不要因為圖表看起來正確就聲稱完成。僅在請求的設計或變更已存在且其相應的驗證已通過時,才聲稱完成。

相關技能