如何將 Claude 用作軟體架構師:Viktor Skill 指南

更新於 閱讀時間 13 分鐘 KissMySkills
這個頁面
  1. 同一個原因造成的兩種失敗
  2. 方框才是簡單的部分
  3. 它真正擅長的事
  4. 失敗的地方
  5. 如何安裝 Viktor Skill?
  6. 這適合哪些人?
  7. 相關 Skill 指南
Skill · .md

本指南背後的 Skill:Viktor - Software Architect AI Skill。它掌握你目前已在執行的內容、你無法變更的內容,以及你已經做出的決策,因此提供的選項會根據你的實際系統篩選,而不是建立在一片空白場地上 - $19,一次付款,永久擁有。

查看 Viktor Skill →

架構是一份清單,列出你已經決定將無法做到的事情。模型只能告訴你某個設計能做什麼。它並不是在欺騙:它學習的資料,是由描述可運作系統的人撰寫的,而且那些系統的規模大到值得寫下來;沒有人會發表文章介紹那個依然運作良好的無聊單體。因此,產出的內容總是綠地開發,總是追求最大化 - 是你想像中處於尖峰狀態的系統,位於一片空白場地上,卻省略了那些遭排除在外的限制。

同一個原因造成的兩種失敗

幾乎每個沒有幫助的架構答案,都可以追溯到同一件事:語料庫是由曾經遇到那個有趣問題的人,撰寫有關那個問題的內容。

它是在一片空白的場地上設計的。真正的架構幾乎從來不是綠地開發,而是對既有系統進行變更;系統由現有的人員維護,並且連接著一些你不被允許碰觸的事物。你要求一份設計,得到的卻是一份假設這些限制全都不存在的設計,而這個領域最昂貴的錯誤,不是選錯資料庫 - 而是設計時把某項限制當成不存在。

它是為尖峰而設計的。事件驅動、每個網域一個服務、每對元件之間都有一個佇列,底層使用 Kubernetes。這些做法並沒有錯。它們只是那些確實需要這些架構的組織所留下的記錄,而那些不需要這些架構也運作良好的公司,不會留下相關記錄。因此,文獻的平均值會變成一套為比你更大的公司打造的架構。

兩者都能修正,但都不是靠針對設計提出更好的問題來修正。你必須改變模型被允許假設的事情。

方框才是簡單的部分

你要求一份架構,得到的就是方框和箭頭。方框幾乎不費力:一個只做一件明確事情的服務,是已經解決的問題,每個人都能想像得到。

所有難度都在箭頭上。 兩個方框之間的箭頭,代表這兩件事可以互相通訊,但圖表從未為這個主張提供依據。這次呼叫是同步的嗎?如果是,呼叫端在等待那兩百毫秒時要做什麼?失敗時會發生什麼事 - 重試?如果重試,這項操作具備冪等性嗎?還是重試會讓信用卡被扣款兩次?逾時設定是多少?逾時後會發生什麼事?順序重要嗎?有任何機制能保證順序嗎?如果這支箭頭中斷一小時,哪些功能仍在運作,哪些不會?

圖表對上述問題一個也回答不了,而模型無論如何都會產生一張漂亮的圖,因為圖表是一種體裁,而且它讀過成千上萬張。仔細追問箭頭,設計通常就會改變。它通常會重新合併成更少的方塊,而這才是正確結果。

它真正擅長的事

建立故障空間。「這可能出錯的所有方式是什麼」是一個召回率問題,必須涵蓋大量的事後檢討、事故報告和以慘痛經驗換來的討論串,而這正是這些工具的用途。它會找出那個你原本要到八個月後在正式環境中才會發現的故障模式。

它做不到的是替你排列優先順序,因為排序需要考慮你的流量、團隊、容忍度和資金。如此一來,分工就很清楚:它產生清單,你負責排序。任何告訴你它能替你排序的人,都是在推銷某種東西。

提示 1 - 這片領域並非空白

在模型知道目前已存在的內容之前,這個頁面上的其他內容都無法運作。請誠實回答,包括那些令人尷尬的部分。

現在不要提出架構方案。 我要描述目前已存在的內容。讀完後,告訴 在設計任何東西之前,告訴我你還需要知道什麼。 目前運行的內容: - 語言、框架、資料儲存、託管方式,實際上 目前的正式環境 - 什麼多久部署一次,以及如何部署 - 目前的故障模式是什麼。實際上哪些問題會觸發告警。 我無法改變的事項: - 我不擁有的系統、不能破壞的整合、合約 會規定行為的 - 合規或資料駐留限制 - 業務已對外承諾的任何事項 負責建置的人員: - 有多少工程師、資歷如何,以及他們在正式環境中運行過什麼 正式環境中運維過 - 他們當中沒有人曾在 - 是否有人值班,以及是否有薪 實際數字: - 目前負載,而不是預測值。使用者數、請求數、資料量。 - 我們去年實際看到的成長,而不是 計畫 然後,在提出任何方案之前:告訴我以下哪些 哪些限制最能壓縮設計空間,並明確說明 我的回答中,有些聽起來像是願景,而不是衡量結果。

提示 2 - 功能封鎖清單

模型從不會主動提及的部分,也是實際需要做決策的部分。

對於你提出的每個選項,不要先說明它 能啟用什麼。先說明它會封鎖什麼。 對每個選項: 付出重大代價才能做到? - 哪些事情會變得不可逆,或只能 - 什麼會變得不可逆,以及逆轉的成本是什麼? 12 個月後承擔得起嗎? - 我們放棄了什麼保證 - 一致性、排序、 原子性、獨立部署的能力、能夠 用一個人的思維理解整個系統? - 這會讓哪些事情變得不可能? - 這會帶來哪一類目前不可能發生的新錯誤? - 這會對之後的每項功能造成什麼強制要求,無論 該功能需要它? 接著,每個選項用一句話說明:我們寧願面對的問題 擁有。 只有在完成上述所有事項後,才告訴我每個選項能啟用什麼。如果 選項沒有實質性的功能封鎖,請明說,並將其視為 將其視為可疑事項,而不是建議。
Skill 聚焦
Viktor - 軟體架構師 AI Skill
Viktor - 軟體架構師 AI Skill
$19 · 一次付款

這裡包含真正能帶來差異的內容:你已經在執行的項目、不允許變更的內容,以及你已經做出的決策。每次在空白聊天中重新輸入真實限制,正是大多數人放棄並接受綠地方案的原因,而新的工作階段也會欣然否定你上個月同意的架構。

檢視 Viktor - Software Architect AI Skill →

提示 3 - 盤問箭頭

忽略方塊。對這個設計中的每支箭頭,回答: 1. 同步還是非同步?如果是同步,則 呼叫方在等待時做什麼,而使用者會看到什麼? 2. 它失敗時會發生什麼?重試、失敗、排入佇列、降級? 3. 如果重試:操作是否具備冪等性?如果不具備, 重複操作在現實世界中究竟會做什麼 - 收費兩次、傳送兩次、重複計數? 4. 逾時時間是多少,逾時後會發生什麼事? 5. 順序在這裡重要嗎?如果重要,什麼機制能保證它? 如果沒有任何保證,請直說。 6. 如果這支箭頭停擺一小時,哪些功能仍可運作,以及 哪些事情不會發生?誰會先注意到:我們,還是客戶? 7. 資料契約是什麼,以及其中一方 它會改變什麼? 接著:哪支箭頭會讓某人驚醒,以及 哪些箭頭的存在只是因為我們畫出了其實不需要的方塊 分開?請說出它們。合併兩個方塊也是合理答案 而如果適用,我希望聽到它。 設計: [PASTE OR DESCRIBE]

提示 4 - 為十分之一的規模設計

你將投入的最有用的一小時。它會區分承載負荷的複雜性與理想化的複雜性,而答案往往令人不舒服。

採用我們剛才討論的設計。現在為 在我告訴你的負載十分之一上,使用相同的團隊。 然後回答: - 你移除了什麼? - 在你移除的項目中,哪些是在解決一個問題 我今天實際擁有的,以及哪些是在解決我 預期會遇到? - 對於每一項被移除的複雜性:在什麼具體、 需要在什麼可衡量的節點加回來?給我一個 數字,而不是「等我們擴大規模時」。 - 與日後再加回來相比,現在移除它的複雜度成本是多少 建造它嗎?如果延後確實更糟,請誠實說明。 最後:如果我打造了較小的版本,日後會後悔現在沒有 兩年後,我會對哪些事情感到慶幸?正反兩面都要論證 正確地說明,而不是安慰我接受我似乎 偏好。

提示 5 - 故障空間,接著你會對其排序

列出這個系統可能失效的所有方式。務必詳盡,而不要只 而不是選擇性地 - 我會負責排定優先順序,那不是你的 工作,而你沒有我的數據。 至少涵蓋: - 每個元件單獨故障時,以及其影響 - 部分故障:變慢而非完全停擺 - 資料儲存區:無法使用、速度緩慢、已滿、損毀、已還原 來自舊備份 - 任兩個部分之間發生網路分區 - 依賴項在未告知我們的情況下改變行為 - 負載比預期高十倍,並在一分鐘內到達 - 負載分布不均地到達:一位客戶、一個金鑰、一個租戶 - 時鐘偏移、重複訊息、順序錯亂的訊息 - 部署只完成一半 - 有效但荒謬的資料 對每一項:什麼會故障、使用者會看到什麼、我們如何得知,以及 它是否能自我修復。 接著標示出那些無聲失敗 - 系統持續運作的情況 回答,而答案卻是錯的。這些才是我想要的 在最上方,而這些正是設計審查通常會 遺漏。

提示 6 - 我們實際上要如何到達那裡

綠地設計會跳過這一點,而真正的成本就在這裡。沒有遷移路徑的目標架構只是一個願望。

我們不是從零開始建造。以下是現有內容: [DESCRIBE]. 給我從這裡到目標設計的路徑,分成幾個步驟,而且 能否各自獨立交付,同時讓系統全程保持運作。 對每一步: - 會交付什麼,以及交付後系統的狀態 - 我們能否永久停在這裡,而且仍比 現在是什麼狀態?如果任何一步的答案是否定的,那一步就太 太大 - 把它拆開。 - 哪些內容會與舊路徑並行運行,以及持續多久 - 上線後要如何回滾,而不是上線前 - 必須遷移哪些資料,以及是否必須 遷移了兩次 - 這個步驟期間哪些事情會變糟,以及誰會受到影響 接著:以工程師週計算的總成本,以及無法 回報 - 之後便難以逆轉的那個步驟。 如果誠實的答案是遷移成本高於 目標設計值得多少,就直說。

它會斷言但其實無法知道的兩件事

效能數據。當被問到一個設計能處理每秒多少請求,或延遲會是多少時,它會給出一個數字。它根本不知道。這些數字取決於你的硬體、資料形狀、查詢模式和存取分布,而取得它們的唯一方法就是測量。把它提供的任何吞吐量、延遲或容量數字都視為佔位符,並在該數字應該出現的地方安排負載測試。

目前版本、限制與定價。服務配額、託管資料庫限制、執行個體大小、雲端供應商收費方式、哪些版本淘汰了哪些功能。這些全都會變動,而模型是根據它上次看到的內容回答。請在做決定的當天,從供應商自己的最新文件中取得每一項資訊,因為建立在過時配額上的架構,是一個在一年後、最糟糕的時刻失敗的設計。

失敗的地方

失敗 會發生什麼事 該怎麼處理
預設為綠地開發 假設一片空白、沒有舊系統,也沒有任何禁止你碰觸的事物的設計 在提出任何要求之前,先描述目前實際運行的內容,包括令人尷尬的部分
針對峰值設計 一家曾遇到這個有趣問題並撰文說明的公司的架構 以十分之一的負載請求相同的系統,然後比較
只有能力,沒有排除項目 設計能實現什麼,卻對你所放棄的內容隻字不提 先要求列出排除清單,沒有排除項目的選項應視為可疑
漂亮的圖表 方塊與箭頭圖中,每個棘手問題都藏在箭頭裡,卻沒有任何解答 逐一盤問每條箭頭。合併兩個方塊也是有效結果
捏造的效能 一個每秒請求數或延遲數字,背後卻沒有任何依據 把每個數字都視為負載測試的佔位符
過時的平台資訊 配額、限制、執行個體類型與價格,都是它上次看到時的資訊 當天查閱供應商文件,而且每一項都要查
沒有遷移路徑 只有目標設計,卻沒有考慮系統仍在運作時要如何抵達那裡 要求步驟各自都能獨立交付,而且你可以在任何一步停止
被要求時才會排序 當被問到哪個失敗最重要時,它會回答,但沒有任何你的數據作為依據 讓它產生空間。由你負責排序

如何安裝 Viktor Skill?

下載內容是一個 ZIP,SKILL.md 位於壓縮檔根目錄,而不是巢狀資料夾內 - 上傳失敗通常就是因為資料夾結構不正確。在 Claude 桌面應用程式中,開啟自訂 → Skills,上傳 ZIP 並將其切換為啟用。

Skills 需要啟用程式碼執行功能,位置在 設定 → 功能。Anthropic 的說明中心目前將 Skills 列於 Free、Pro、Max、Team 和 Enterprise 方案,而其 Academy 教學則列出 Pro、Max、Team 和 Enterprise - 因此如果你使用免費方案,請查看自己帳戶中的「設定 → 功能」,不要全盤採信任一頁面的說法。完整操作流程請參閱Skills 安裝指南。

在 ChatGPT 或 Gemini 中不需要上傳步驟:開啟 SKILL.md,複製內容,然後貼到自訂指示中。你會失去自動觸發功能,但保留這套方法。

這適合哪些人?

想要一位會提出反駁的思考夥伴的架構師與資深工程師、做出超出自身職級薪資範圍設計決策的技術主管,以及在承諾採用某種做法前決定如何建構產品的創辦人。它可在 Claude、ChatGPT 或任何 AI 聊天工具中運作。

工程職能各自拆分為獨立的 Skills,每個售價 $19,下載一次即可:

更完整的集合是軟體開發人員技能以及軟體與 IT 技能。

總結:

架構是一份你選擇不再具備哪些能力的清單,而模型只會描述能力,因為語料庫是由那些值得發表其有趣問題的人所撰寫。在它提出任何建議前,告訴它目前已經在運行什麼、哪些部分無法變更,以及由誰負責建置。要求它先說明排除的可能性,再說明啟用的可能性;如果某個選項完全沒有缺點,就應將其視為警訊,而不是建議。忽略方框,檢視每一條箭頭,因為失敗、排序、冪等性和影響範圍都發生在那裡 - 並且要願意將兩個方框重新合併為一個。以十分之一的負載設計相同系統,以找出哪些複雜性是不可或缺的。讓它產生完整的失敗空間,再自行進行排序。並要求它展示遷移路徑,以你可以隨時停止的步驟呈現,因為沒有通往目標設計的路徑,就只是一種願望。針對你的實際限制和過往決策,並在不同工作階段之間保留脈絡,請參考 Viktor - 軟體架構師 AI Skill(19 美元)。可在 Claude、ChatGPT 和任何 AI 聊天工具中使用,並提供 30 天退款保證。

Skill · .md · 適用於 Claude 和 ChatGPT

Viktor - 軟體架構師 AI Skill

在提出任何建議前,先詢問目前已經在運行什麼;討論設計時,先說明它排除了哪些可能性,而不是它能啟用什麼;檢視箭頭所代表的關係,而不是畫方框;並以你可以隨時停止的步驟展示遷移路徑。無需訂閱。永久屬於你。

$19
取得 Viktor skill →

KissMySkills 是一個提供 2,000 多個 AI 技能、80 多個 prompt 套件、75 多個 代理,以及適用於 Claude、ChatGPT 和任何 AI 聊天工具的免費工具的市集。

相關 Skill 指南

常見問題

Can Claude design a software architecture?+

It can produce a design, and the design will be greenfield and maximal, because the material it learned from was written by people describing systems that worked at a scale worth writing about. Nobody publishes a post about the boring monolith that is still fine. So you get the architecture of a company larger than yours, on an empty field, with the foreclosures left out. That is correctable, but not by asking better questions about the design - only by changing what the model is allowed to assume.

Why does AI always suggest microservices and Kubernetes?+

Because those are the write-ups of organisations that genuinely needed them, and there are no write-ups of the companies that did fine without. The average of the literature is therefore an architecture for a larger company. The cheapest correction is to ask for the same system at one tenth of the load you stated, with the same team, then ask what was removed and at what specific measurable point each removed piece would need to come back.

What is an architecture, really?+

A list of things you have decided you will not be able to do. Choosing eventual consistency forecloses certain guarantees, choosing a monolith forecloses independent deployment, choosing a particular store forecloses certain shapes of growth. The foreclosures are the decision. A model leads with capabilities every time and will not volunteer what you gave up, so ask for the foreclosure list before the enablement list - and treat an option that appears to have no downsides as suspicious rather than as a recommendation.

Why are AI architecture diagrams misleading?+

Because the boxes are the easy part. A service that does one clear thing is a solved problem. All of the difficulty is in the arrows, and an arrow is a claim that two things can talk which the diagram never justifies. Synchronous or asynchronous, what happens on failure, whether a retry is safe, what the timeout is, whether order matters and what guarantees it, what still works if this arrow is down for an hour. Interrogate the arrows and the design usually changes, often collapsing back into fewer boxes.

What is AI genuinely good at in architecture work?+

Generating the failure space. Asking what are all the ways this can go wrong is a recall problem across an enormous body of postmortems and incident write-ups, which is exactly what these tools are for, and it will surface the failure mode you would otherwise have found in production in eight months. What it cannot do is rank them, because ranking needs your traffic, your team, your tolerance and your money. It generates the list, you order it.

Can it estimate how much load my design will handle?+

It will give you a number and it has no idea. Throughput, latency and capacity depend on your hardware, your data shape, your query patterns and your access distribution, and the only way to get them is to measure. Treat any performance figure it offers as a placeholder where a load test should go. The same applies to service quotas, managed-database limits, instance sizes and cloud pricing, all of which change and all of which it answers from whatever it last saw.

Why do AI designs never include a migration path?+

Because greenfield designs do not need one, and greenfield is what the corpus describes. In reality a target architecture with no route to it is a wish, and the migration is where most of the cost lives. Ask for the path in steps that each ship independently with the system live, and apply one test to every step: could we stop here permanently and still be better off than we are now? If the answer is no, the step is too big. Also ask where the point of no return is.

How do I install the Viktor skill?+

The download is a ZIP with SKILL.md at the root of the archive rather than inside a nested folder, which is the usual reason an upload fails. In the Claude desktop app open Customize, then Skills, upload the ZIP and toggle it on. Skills need code execution enabled, under Settings then Capabilities. Anthropic's help centre currently lists Skills on Free, Pro, Max, Team and Enterprise, while its Academy tutorial lists Pro, Max, Team and Enterprise, so if you are on the free plan check Settings then Capabilities for your own account rather than trusting either page. In ChatGPT or Gemini there is no upload step, so open SKILL.md, copy the contents and paste them into custom instructions.

~/get-started

實用的 Skills。不說空話。

瀏覽商店中的每個技能、prompt 套件和 agent。

瀏覽所有技能 →或試試免費工具