用 Claude Cowork 打擊金融犯罪(第 2/2 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
Conto 用 MCP Gateway 與 Cowork plug-in 讓金融犯罪調查安全、合規、可稽核
- 13:58 MCP 呼叫的完整流程:使用者開啟 session;如果還沒登入,會先進入連接 identity provider 的 single sign-on 頁面,由 identity provider 把使用者身分提供給 MCP Gateway
- 20:39 每個 skill 的 prompt 都用 XML 結構撰寫,講者認為比傳統 prompting 有效率得多
- 27:23 即使不是在金融業或醫療這類敏感產業,也希望大家把這些心得用在日常工作上,一起打造更值得信任的 AI
💡 你可以怎麼用:如果你自己也寫 skill 或長 prompt,可以照這樣做:拆成幾個小段、用 <背景><步驟><規則> 這類標籤分區,並寫明要用哪個工具。另外準備 5 到 10 題已經知道正確答案的例子,每次改完 prompt 就跑一遍,看結果有沒有變差。
看全部 46 條重點
🧑🏫 這段是 Conto 分享他們怎麼用 Claude Cowork(Anthropic 推出的工具,讓 AI 幫你跑多步驟的工作)查金融犯罪,而且做到安全、合規、查得到紀錄。關鍵是 MCP(一種讓 AI 連上外部工具和資料的標準)前面多加一道 MCP Gateway,由它統一管登入、權限和紀錄。影片後半還講了 plug-in 怎麼設計、怎麼用測試證明 AI 可以信任。就算你不是工程師,也能學到怎麼讓 AI 工具讓主管和合規單位放心。
- 13:58 MCP 呼叫的完整流程:使用者開啟 session;如果還沒登入,會先進入連接 identity provider 的 single sign-on 頁面,由 identity provider 把使用者身分提供給 MCP Gateway↳ 流程從這裡開始:開對話時如果還沒登入,會先跳到公司的統一登入頁,也就是 single sign-on(一組帳密通行各系統)。再由管帳號的 identity provider 告訴 MCP Gateway「這個人是誰」。
- 13:58 走到這一步時,所有動作都已經被稽核、被記錄↳ 從登入這一步開始,每個動作都有紀錄。事後查得到誰在什麼時候做了什麼。
- 14:29 使用者通過驗證並具備正確權限後,才能呼叫 MCP server 的工具;沒有權限的 MCP server,使用者連看都看不到↳ 要先確認身分和權限才能用工具。沒權限的 MCP server(提供某一類工具或資料的服務)你根本看不到,當然也就不會誤用。
- 14:29 MCP Gateway 的職責:驗證來自 OAuth 的 token、解析身分、授權請求,再轉送給下游的 MCP servers↳ MCP Gateway 做四件事:檢查 OAuth(常見的登入授權標準)發的 token(證明身分的數位通行證)是不是真的、認出你是誰、確認你能做什麼,最後才把請求轉給後面的 server。
- 15:00 role-based access control 寫在 Terraform 檔案裡,因此有版本控管、可稽核、能查變更歷史;檔案中定義哪些團隊可以存取哪些 MCP servers↳ role-based access control 就是「依角色給權限」。哪個團隊能用哪些 server,都寫在 Terraform(用程式碼寫系統設定的工具)的檔案裡,誰在什麼時候改了什麼都查得到。
- 15:00 實際上就是一個 Terraform 檔案,放在 GitHub repository 裡做版本控管↳ 講白了就是一個設定檔,放在 GitHub(存程式碼、記錄每次修改的平台)上。調權限跟改程式碼一樣會留下紀錄,也能退回舊版。
- 15:31 詳細架構中另外拆出一個 Authorization Gateway 負責身分管理;MCP Gateway 則以開源套件 ContextForge 為基礎↳ 細看架構,身分管理另外交給 Authorization Gateway 負責。MCP Gateway 本身是拿開源套件 ContextForge 當基礎,不是從零寫起。
- 15:31 MCP Gateway 連接的下游 MCP servers 是 federated 的,也就是在內部部署和維護↳ Gateway 後面接的 MCP servers 是 federated(分散在各處)的,都由公司內部自己部署、自己維護。
- 16:01 Authorization Gateway 從 single sign-on 取得 token,驗證它是否真實,再從身分取得權限;權限驗證通過後 mint 一個 bearer token↳ Authorization Gateway 拿到登入時的 token 後,先驗真假,再查這個人有哪些權限。都通過了,就 mint(簽發)一張新的 bearer token,也就是誰拿著都能用的通行證。
- 16:31 另外 mint token 的原因:要給下游 MCP servers 一個短效 token,而不是把 single sign-on 的 token 直接傳下去;使用的是 Paseto token↳ 另外發一張新證,是因為不想把登入用的原始通行證一路往下傳。下游只會拿到很快就過期的短效證,萬一外流,損害也有限。這張證用的格式是 Paseto token。
- 16:31 下游 MCP servers 的設定寫在一個 YAML 檔裡,部署在 Kubernetes cluster 上,只有 MCP Gateway 連得到,外部無法直接存取↳ 每個 server 的設定寫在 YAML(常見的設定檔格式)裡,跑在 Kubernetes cluster(管理大量服務運作的平台)上。只有 Gateway 連得進去,外面的人沒辦法直接連。
- 17:02 預設採用 stateless streamable HTTP,這樣比較容易擴展規模↳ 連線預設用 stateless streamable HTTP:伺服器不記每個人的連線狀態,任何一台機器都能接手。用的人變多時,加機器就好。
- 17:02 下游 MCP servers 用 Paseto public tokens 驗證 bearer token 的真實性↳ 下游 server 收到通行證後,會用 Paseto 的公開驗證機制檢查,確認這張證真的是正牌發出來的。
- 17:02 Paseto public token 的原理:payload 是 base64 編碼、沒有加密,所以本來就允許被看到;但它有簽章,可以驗證內容沒被竄改↳ Paseto 的內容只用 base64(任何人都能轉回原文的編碼方式)包起來,本來就不是祕密。但它附有簽章,內容只要被改過就驗不過。所以它防的是竄改,不是偷看。
- 17:32 為了稽核軌跡,所有 MCP tool calls 都有做 instrumentation,使用 conventional OTL,再加上一些標準目前還沒支援的欄位↳ 每次呼叫工具都會做 instrumentation(在系統裡加上自動記錄)。記錄格式用通用的 OTL 標準,再補上標準還沒涵蓋的欄位,讓稽核資料更完整。
- 18:03 示範影片(有加速、客戶資料已遮蔽):Cowork 除了能從不同資料來源蒐集資訊,還能即時產生 widgets↳ 示範影片(有加速、客戶資料有遮蔽)裡,Cowork 從好幾個資料來源抓資料,還能當場產生 widgets(小型的互動圖表或面板)。
- 18:35 inline widgets 比以前的 artifacts 快很多、也更好(artifacts 要花更久才產生得出來),而且可以互動↳ 這種直接出現在對話裡的 inline widgets,比以前的 artifacts(Claude 另外產生的獨立成品)快很多、效果也更好,而且可以直接點、直接操作。
- 18:35 widget 底部有 actions 可讓調查員觸發動作,也有下拉選單可以調整圖表的呈現方式↳ widget 底部有按鈕,調查員可以直接觸發下一步動作。也有下拉選單能切換圖表的呈現方式,不用再開別的工具。
- 18:35 以前調查員要在很多工具之間切換、蒐集資料、找資訊再自己推理;現在在同一個介面就能產生 dashboard,並借助 AI 對調查發現提出建議和推理↳ 以前調查員要在好幾個系統之間切換、自己拼湊資料再推理。現在同一個畫面就能生出 dashboard(把資訊整合在一起的儀表板),AI 也會提出建議和推理給人參考。
- 19:07 後端用正式環境的 Grafana dashboard,資料庫是 Clickhouse,講者說它非常適合拿來做稽核軌跡↳ 後端用的是正式環境的 Grafana(常用的監控圖表工具),資料存在 Clickhouse(一種資料庫)。講者說 Clickhouse 很適合拿來存稽核軌跡。
- 19:37 Dashboard 可以看到當天所有工具和授權流程、誰存取了什麼,包括使用者、tool 名稱、呼叫次數、耗時;全部都有追蹤和 instrumentation↳ 打開 dashboard 就能看到當天誰用了哪個工具、呼叫了幾次、花了多久、授權流程怎麼走,每一步都追得到。
- 20:07 Plug-in 設計第一點是良好的 prompting 習慣:不寫一個 1,000 行的大 prompt,而是拆成多個 sub-skills↳ 設計 plug-in(裝進 Cowork 的擴充功能包)的第一個原則:不要把所有指示塞進一個上千行的 prompt,而是拆成好幾個 sub-skills,每個只管一件事。
- 20:07 主 skill 當作 orchestrator,依照調查員在各個步驟要做的操作去引用對應的 sub-skill↳ 主 skill 當 orchestrator(總指揮),看調查員現在做到哪一步,就叫出對應的 sub-skill 來用。
- 20:07 另外有一個 meta-skill,每次調查員執行 plug-in 時都會在最後跑,負責驗證結果↳ 另外還有一個 meta-skill(管其他 skill 的 skill),固定在每次執行的最後跑,負責檢查結果對不對,等於內建一道最後把關。
- 20:39 每個 skill 的 prompt 都用 XML 結構撰寫,講者認為比傳統 prompting 有效率得多↳ 每個 skill 的指示都用 XML 寫,也就是用 <標籤> 把內容分段標記起來。講者認為這比一般寫法有效率得多。
- 20:39 在 skill 裡直接指定要用哪些 MCP servers 和 tools,省下大型語言模型自己找工具的時間↳ 直接在 skill 裡寫明要用哪個 server、哪個工具,AI 就不用自己慢慢找,省時間,也比較不會用錯工具。
- 21:09 利害關係人會問「這真的有用嗎?可以信任嗎?」回答這個問題的好方法是 evals,也就是拿出能證明 plug-in 表現符合預期的量化數據↳ 主管會問:「這東西可信嗎?」最好的回答是 evals(評估測試):拿一批測試案例跑 plug-in,用數字證明它的表現符合預期,而不是只憑感覺說好用。
- 21:40 講者認為這個案例最重要的評估項目:一是有沒有呼叫正確的 tools,而且順序正確↳ 講者最看重的第一項:AI 有沒有叫對工具,而且照正確的順序叫。
- 21:40 二是不能捏造事實、不能產生 hallucinations;dashboard 上的所有資料都必須有參考文件做依據↳ 第二項:不能有 hallucinations(AI 一本正經地捏造事實)。dashboard 上每一筆資料都要能對回原始文件、找得到出處。
- 22:11 三是除了評估輸出,也要評估推理過程。例如模型判定某案是犯罪行為,就算判定正確,推導過程也要正確;這部分用 LLM as a judge 來評估↳ 第三項:不只看結論,也要看推理。就算「這是犯罪」判對了,推導過程也得正確。這部分用 LLM as a judge 來評,也就是讓另一個 AI 當評審。
- 22:41 evals 對工程團隊的影響:可以迭代 plug-in、更換模型,並檢查變更帶來的影響(字幕原文:see if you introduce regulations)↳ 對工程團隊來說,有了 evals 就能放心改 plug-in 或換模型。每次改完跑一遍,就知道這次改動帶來什麼影響,有沒有把原本好的地方弄壞。
- 23:13 evals 對合規團隊的影響:可以向他們證明資料正確、準確度符合要求,讓他們安心↳ 對合規團隊來說,可以拿數據證明資料正確、準確度有達標,讓他們放心。
- 23:13 evals 對終端使用者的影響:導入新工具時,要讓他們能信任它,不必每次使用都懷疑結果↳ 對實際使用的調查員來說,新工具要先讓人信得過。不然每次用都要懷疑結果、自己再查一遍。
- 23:45 這些關於安全、合規、安全存取資料的做法不只適用於金融犯罪,也能用在很多其他情境↳ 這套兼顧安全、合規、控管資料存取的做法不只適用金融犯罪,很多其他情境也能套用。
- 23:45 Conto 有了 MCP gateway 和第一批 plug-ins 之後,愈來愈多團隊自己做 plug-in。成本很低,只要具備正確的 prompting 技巧,就能重用現有的 MCP servers 和 MCP gateway↳ Conto 有了 gateway 和第一批 plug-in 之後,其他團隊也開始自己做。因為現有的 server 和 gateway 都能直接拿來用,只要會寫好 prompt,成本就很低。
- 24:15 如果需要新的 MCP server,大概幾天內就能部署完成↳ 如果真的需要新的 MCP server,大概幾天就能部署好。
- 24:15 這形成一個 flywheel,在兼顧安全與合規的前提下推動公司內部導入 AI,大型企業尤其適用↳ 這形成一個 flywheel(愈轉愈快的良性循環):做的人愈多,AI 在公司裡推得愈快,同時還守得住安全和合規。大企業特別適合這樣做。
- 24:15 有了 MCP gateway,稽核軌跡、role-based access control、強驗證和身分管理都是現成就有的↳ 有了 gateway,稽核紀錄、依角色給權限、嚴格驗證和身分管理都是現成的,新專案不用每次重做一遍。
- 24:46 這個專案一開始花了幾週建置,之後新的使用情境只要幾天就能導入↳ 第一次建置花了幾週,之後每個新的用途只要幾天就能上線。
- 24:46 目前仍是 human in the loop;靠著 evals 和持續改進、量測準確度,目標是逐步走向 human on the loop,也就是由人審查 AI 自主做出的決策↳ 現在是 human in the loop,也就是 AI 做事的過程都有人參與。目標是走向 human on the loop:AI 自己做決定,人在旁邊審查。做法是靠 evals 持續量測準確度,一步步往前推。
- 25:20 理想情境是 humans completely out of the loop,由 AI 做所有決策;這可能要更長期才做得到,而且前提是能透過 evals 證明準確度↳ 最理想是 humans completely out of the loop,完全交給 AI 決策。但這要更長的時間,而且前提是 evals 能證明它夠準。
- 25:51 重點一:從 evals 開始。講者把 evals 比作 TDD(test-driven development);只要是關鍵工作流程,遲早都需要 evals,所以不如及早投入,之後才能更快↳ 心得一:先做 evals。講者把它比作 TDD(先寫測試、再寫程式的開發方法)。重要的流程遲早都要測,不如早點開始,之後改東西才會快。
- 25:51 重點二:Access to data is king。要讓模型拿到它需要的資料和能力,但必須從一開始就以安全、合規的方式進行,敏感資料和關鍵操作更是如此↳ 心得二:Access to data is king,能拿到資料才是關鍵。模型要拿到需要的資料和能力才派得上用場,但安全和合規要從第一天就設計進去,敏感資料和關鍵操作更是如此。
- 26:23 每年被洗錢的金額有 2 到 5 兆美元,但目前只有很小比例被偵測到並被主管機關查扣↳ 講者提到,全球每年被洗錢的金額有 2 到 5 兆美元,但被偵測到、被主管機關查扣的只占很小一部分。
- 26:53 講者認為這是很好的 AI 應用,不只是做出很酷的東西,也能對社會帶來很大影響↳ 所以他認為這是很好的 AI 用途:不只是做出很酷的東西,還能對社會帶來很大的影響。
- 27:23 即使不是在金融業或醫療這類敏感產業,也希望大家把這些心得用在日常工作上,一起打造更值得信任的 AI↳ 就算你不在金融、醫療這類敏感產業,這些心得也能用在日常工作上,一起讓 AI 更值得信任。
📘 術語
MCP Gateway(MCP 閘道):負責驗證 OAuth token、解析身分、授權請求,再轉送給下游 MCP servers
single sign-on(單一登入):還沒登入時會進入的登入頁,連接 identity provider
identity provider(身分提供者):把登入使用者的身分提供給 MCP Gateway
role-based access control(角色型存取控制):依身分定義哪些團隊能存取哪些 MCP servers,寫在 Terraform 檔案裡
Terraform(Terraform):用來定義存取權限的檔案,放在 GitHub 做版本控管,可以稽核和查看歷史
Authorization Gateway(授權閘道):從 MCP Gateway 拆出來的部分,負責身分管理和 mint bearer token
ContextForge(ContextForge):MCP Gateway 所使用的開源套件
bearer token(持有者權杖):驗證權限後產生的短效 token,傳給下游 MCP servers
Paseto token(Paseto 權杖):payload 以 base64 編碼、沒有加密,但有簽章,可驗證內容沒被竄改
stateless streamable HTTP(無狀態 streamable HTTP):預設使用的傳輸方式,比較容易擴展規模
Kubernetes cluster(Kubernetes 叢集):部署下游 MCP servers 的地方,只有 MCP Gateway 連得到
audit trail(稽核軌跡):記錄誰存取了什麼、用了哪些 tool、呼叫次數和耗時
inline widgets(內嵌小工具):Cowork 即時產生的互動元件,比以前的 artifacts 快很多
sub-skills(子技能):把大型 prompt 拆成的多個小 skill,由主 skill 依操作引用
orchestrator(協調者):主 skill,依調查員各步驟要做的操作去引用對應的 sub-skill
meta-skill(後設技能):每次執行 plug-in 時都在最後跑、負責驗證結果的 skill
evals(評估):用量化數據證明 plug-in 的表現符合預期
hallucinations(幻覺):捏造隨機的事實;dashboard 上的資料必須以參考文件為依據
LLM as a judge(以大型語言模型當評審):用來評估模型得出結論的推理過程是否正確
human in the loop / on the loop / out of the loop(人在迴圈中/迴圈上/迴圈外):現在是人參與其中;目標是由人審查 AI 自主做的決策;理想是完全由 AI 決策
TDD (test-driven development)(測試驅動開發):講者用來比喻 evals,建議從一開始就投入
single sign-on(單一登入):還沒登入時會進入的登入頁,連接 identity provider
identity provider(身分提供者):把登入使用者的身分提供給 MCP Gateway
role-based access control(角色型存取控制):依身分定義哪些團隊能存取哪些 MCP servers,寫在 Terraform 檔案裡
Terraform(Terraform):用來定義存取權限的檔案,放在 GitHub 做版本控管,可以稽核和查看歷史
Authorization Gateway(授權閘道):從 MCP Gateway 拆出來的部分,負責身分管理和 mint bearer token
ContextForge(ContextForge):MCP Gateway 所使用的開源套件
bearer token(持有者權杖):驗證權限後產生的短效 token,傳給下游 MCP servers
Paseto token(Paseto 權杖):payload 以 base64 編碼、沒有加密,但有簽章,可驗證內容沒被竄改
stateless streamable HTTP(無狀態 streamable HTTP):預設使用的傳輸方式,比較容易擴展規模
Kubernetes cluster(Kubernetes 叢集):部署下游 MCP servers 的地方,只有 MCP Gateway 連得到
audit trail(稽核軌跡):記錄誰存取了什麼、用了哪些 tool、呼叫次數和耗時
inline widgets(內嵌小工具):Cowork 即時產生的互動元件,比以前的 artifacts 快很多
sub-skills(子技能):把大型 prompt 拆成的多個小 skill,由主 skill 依操作引用
orchestrator(協調者):主 skill,依調查員各步驟要做的操作去引用對應的 sub-skill
meta-skill(後設技能):每次執行 plug-in 時都在最後跑、負責驗證結果的 skill
evals(評估):用量化數據證明 plug-in 的表現符合預期
hallucinations(幻覺):捏造隨機的事實;dashboard 上的資料必須以參考文件為依據
LLM as a judge(以大型語言模型當評審):用來評估模型得出結論的推理過程是否正確
human in the loop / on the loop / out of the loop(人在迴圈中/迴圈上/迴圈外):現在是人參與其中;目標是由人審查 AI 自主做的決策;理想是完全由 AI 決策
TDD (test-driven development)(測試驅動開發):講者用來比喻 evals,建議從一開始就投入
✏️ 小考一題
根據影片,為什麼 Authorization Gateway 要另外 mint 一個 Paseto bearer token 給下游 MCP servers?
A. 因為 Paseto token 的 payload 有完整加密,外洩也看不到內容B. 為了讓使用者能繞過 MCP Gateway,直接連到下游 MCP serversC. 因為下游 MCP servers 不支援 OAuth,只能讀 YAML 格式的 tokenD. 希望給下游一個短效 token,不要直接傳遞 single sign-on 的 token看答案
答案:D。[16:31] 講者說要把短效 token 分享給下游 MCP servers,不想傳遞 single sign-on 的 token。[17:02] 也提到 payload 沒有加密、只有簽章,而下游 servers 只有 MCP Gateway 連得到、外部無法直接存取
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰