11 個模型階段。一份誠實的 CV。

First Landed 的付費深挖採用分階段流程,包含攻防審閱和公開命名的模型。到了 R5,Cannot trace 的內容必須刪掉,Needs proof 的內容只能以標明待補證據的空位留下。

一單付費審計跑 11 個模型階段,從 R0 到 R9b,最後再走一步 R10:不調用任何模型的確定性組裝。R9b 是 Code Red 終檢,對寫完的 CV 和求職信再讀一遍,找出前面階段放過、卻拿不出來源的說法。它是最後一個模型階段,所以中途被安全檢查判定阻斷的單子會直接跳到 R10,根本走不到 R9b。

流程

免費掃描只調用一次模型,並不會走下面這一串階段。Get-Ready Pack 和 Active Search Pack 會把下面每一個階段都跑一遍:R5 是硬否決,R9b 是收尾的 Code Red 覆查;中途一旦被判定阻斷,餘下的階段就不再跑,已有的內容直接交給 R10。

R0 - 通讀

讀你的 CV 和 JD,寫下你最強的證據主線、JD 真正點名的要求,以及兩邊明顯對不上的地方。

R1 - 角度生成

圍繞這份 CV 怎樣撐住這個 JD,給出剛好三個候選角度。每個角度一句話,後面跟上它靠的是哪份證據。

R2 - 角度攻擊

走 attacker 路由,把三個角度逐個攻一遍:缺哪份證據、哪裏有誇大的風險、資深審閱者會在哪裏追問。

R3 - 匹配評分

拿最強的那個角度,對著 JD 點名的要求打 0 到 100 分,把加權算法攤開給你看,最後落到 Apply、Stretch、Skip 或 Needs more evidence。

R4 - 風險表述攻擊

仍是 attacker 路由。逐條過你的 CV,指出面試官會攻哪一句,並按嚴重程度把最高的幾條排出來。

R5 - Fact-Checker 否決

只依據你的 CV、JD 和前面階段的輸出,給每一條實質性表述打上而且只打上一個標籤:Defensible、Needs proof、Cannot trace。Cannot trace 必須刪掉,Needs proof 只能以 [NEEDS PROOF: ...] 空位的形式留下。這一階段的 temperature 是 0.1,是我們用到的最低值。

R6 - 全篇 CV 重寫

按 JD 把你的 CV 重寫成一頁,只用 R5 判為 Defensible 的內容,加上 R5 容許留下的空位。它不能寫進你原始 CV 裏沒有的公司、僱主、職位、證書、執照、學位或數字,也不能把你自己寫成縮寫的名字擅自展開。

R7 - 結論與缺失證據

給重寫後的 CV 判 Apply、Stretch、Skip 或 Needs more evidence,附上 0 到 100 的分數和理由,再列出投遞前該補齊的三到五項證據。

R8 - 求職信

英文草稿目標為 250 到 350 個以空白分隔的詞,硬性上限為 380;簡體及繁體中文目標為 450 到 650 個非空白 Unicode 碼點,硬性上限為 750。計算不包括 # Cover Letter 這個 H1 標題,但包括稱呼和署名。證據較少時可以寫得更短,絕不為了湊長度填充內容。草稿從重寫後的 CV 裏引用兩三個支點,每個事實都必須已經在那份 CV 裏。

R9 - 求職信攻擊與逐條攻擊圖

attacker 路由。最多取 R4 裏現有的三條高風險內容,不會為了湊數虛構條目。每條給出三個資深審閱者可能會問的問題,以及一項應帶哪份最小證據材料的指引,而且只基於你自己選擇寫出來的內容。

R9b - Code Red 終檢

這個最終安全檢查只用英文運行。它拿寫完的 CV 和求職信,回頭對照你的原始材料和 R5 的標籤再讀一遍,只能返回逐字引用的刪除項,再由代碼確定性執行;它絕不改寫說法。若無法逐字引用或準確定位問題,系統會阻止交付。它是最後一個模型階段,所以中途被阻斷的單子根本走不到這裏。

R10 - 交付物組裝

完全不調用模型。代碼讀 R9b 的否決表,把 R9b 判刪的內容從 CV 和求職信裏刪掉,去掉面試準備裏引用了確定性檢查已經刪掉的內容的行,清掉內部編號和階段代號,再附上一段固定的免責說明。除了這段說明,它自己不寫任何一句話。

我們實際在跑的模型

沒有隱藏路由,也沒有還在規劃中的檔位:以下是 2026-09-01 從引擎代碼裏讀出來的預設配置。每個階段帶一個 defender 或 attacker 的路由標籤,但路由只是分工,不是第二家供應商。用 DeepSeek 時,這兩條路由指向的是同一個模型;真正走出去的只有 R6 和 R8。

這裏原本印著每次掃描和每單審計的基礎設施成本,現在刪掉了:代碼裏用來估算成本的價目表仍然指向已經停用的 OpenRouter 線路,照它算出來的數字一定是錯的,而修價目表是改代碼,不是改文案。客戶價格以新加坡元(S$)計。

免費 fit scan

一次串流調用

deepseek-v4-flash(直連 API)

對你的 CV 和一個 JD 發一次請求,邊寫邊串流返回,temperature 0.1,輸出上限 2,200 tokens。2026-09-04 用同一份合成 CV 跑了三次,每次 11 到 14 秒。這是三次、一個輸入的實測,不是服務承諾。

付費深度審計

所有階段的預設模型

deepseek-v4-flash(直連 API)

defender 和 attacker 兩條路由指向的都是這一個模型。只有 R6 和 R8 可能走出去,而且只有在配了 Moonshot 密鑰時才走。thinking 模式發出去時是關閉的,所以這些階段按普通補全計價,而不是按推理計價。

寫作階段(R6 履歷重寫、R8 求職信)

R6 與 R8

kimi-k3(月之暗面直連 API)

CV 改寫和求職信這兩個階段,是唯一走出主供應商的階段,而且只有在環境裏配了 Moonshot 密鑰時才走。沒配的話,它們和其他階段一樣跑在 deepseek-v4-flash 上。Moonshot 那一側如果返回空內容,或者返回我們判定可重試的狀態碼,這一階段會回到主供應商重試一次。

兜底

按階段故障轉移

qwen(阿里 DashScope)

某個 DeepSeek 階段返回空內容,或者返回 HTTP 400、401、402、403、408、409、429、500、502、503、504 時,這一階段會在 Qwen 上重試一次,前提是配置了 Qwen 密鑰。連線被斷開、DNS 解析失敗這類網絡層故障不在這份清單裏:那種情況下這一單會直接失敗,不會切換供應商。與其說一句供應商故障影響不到我們,我們寧可把邊界講清楚。

為甚麼這與你有關:誠實來自流水線,而不是模型品牌。同一份硬規則會附在十一個階段裏的九個的提示詞後面,其中一條是:不要編造僱主、職位、日期、資歷、數字或職責範圍;餘下的 R8 和 R9 有自己的一套等價規則。R5 的否決清單是在代碼裏解析並強制執行的,R6 拿不到它就不會啟動。R6 和 R8 寫完之後,還有一道完全不調用模型的檢查,把輸出裏的說法重新對照你的 CV、JD 和 R5 的標籤核一遍。這些都跟哪家供應商接這一通請求無關。

Fact-Checker 否決,細節

LLM 寫 CV 最常見的失敗模式是編造:不存在的實習、灌水的 metric、根本沒有過的 AUM。R5 就是為了攔住這件事而存在的階段,而它後面的階段沒有繞開它的路。

R5 會讀你 CV 和前面階段輸出裏的每一條實質性表述,給它打上而且只打上三個標籤中的一個:

  • Defensible:這條說法能追回到你自己提供的材料,重寫階段可以用。
  • Needs proof:它很可能是真的,但你還沒拿出證據。它只能以 [NEEDS PROOF: ...] 空位的形式留下來,等你用自己的記錄補上。
  • Cannot trace:你給的材料裏沒有任何東西撐得住它,重寫階段必須刪掉。

還有第四條規則,管的是學生最擔心的那種情況。如果掛在同一個僱主下面的職責和結果全都是 Needs proof 或 Cannot trace,R5 會把這個僱主名和職位本身也標成 Needs proof。底下沒有一條站得住的內容,這段經歷就不該被當成既成事實寫出去。

這道否決是靠代碼執行的,不是靠嘴上要求模型自覺。R5 的標籤會從它的表格裏解析出來,原樣塞進重寫階段的提示詞,當作一份否決清單;如果 R5 沒有產出可解析的標籤,整單會拋出 r5_labels_missing_before_r6,重寫根本不會開始。CV 和求職信寫完之後,還有一道完全不調用模型的檢查,把兩份文件裏的說法重新抽出來,逐條比對你的 CV、JD 和 R5 的標籤;對不上的會被刪掉,或者直接攔下這次交付。之後 R9b 再讀一遍成品,對每一條落不到來源上的說法記一條明確否決,R10 把這些刪改執行掉,同樣不調用模型。

被否掉的說法不會被軟化,這裏也沒有一堆備選稿可以替換:我們只在寫的那一份 CV 上把它拿掉。所以輸出常常比一次性 LLM 給你的更短。

改寫的三個選項

這一節說的是免費掃描,不是付費深審。多數免費掃描的最後,我們會挑你 CV 裡一條偏弱的 bullet 做改寫。掃描頁上有三個具名選項決定這一條怎麼寫:JD 語言、改寫幅度、行文風格。每個選項只管一件事,各有三檔。它們是三個獨立選項,不是一個風格滑桿,因為引擎讀到的本來就是三個獨立選項。

每個選項管甚麼:

  • JD 語言:保留你自己的用詞和次序;在你的次序裡融入 JD 的關鍵詞;或者按 JD 的優先次序來組織。無論選哪一檔,只有在你的證據確實對得上時,才會借用 JD 的字眼。
  • 改寫幅度:保持原句的動詞強度、不多提任何東西;用你的證據能支持的最強動詞,留一至兩個補證空位;或者在你補齊缺失部分的前提下,給出這條 bullet 能達到的最強形態。
  • 行文風格:保留你的語感和句子節奏;收緊成動詞開頭的短句;或者改成機構化語氣的完整句子。

改寫內部的優先次序是固定的,也不由你調:先是證據規則,然後是 JD 語言,再是改寫幅度,最後是行文風格。選項贏不了證據規則。

指令要求任何一檔都不會做的事:

  • 影響掃描的其餘部分:選項的作用範圍只有這一條範例改寫。結論、配對分、分數拆解、缺失證據、風險表述和下一步,都應當在沒有它們參與的情況下產生。
  • 給你「升職」:partnered with 不會變成 designed and ran,supported 不會變成 owned,contributed to 不會變成 led。
  • 搬運 JD 的要求:JD 裡的要求不會被寫成你做過的事。
選項能做甚麼、不能做甚麼:這些檔位選的是形態,不是事實。你 CV 裡沒寫到的內容,要麼直接不寫(最小改動),要麼寫成明確的 [NEEDS PROOF: ...] 空位,等你用自己的材料補上(平衡、最強形態)。這些是給一次模型調用的指令,不是硬性攔截,所以使用前請對照你的 CV 檢查這條改寫。補不上的空位就是誠實的答案,這也正是這份掃描要給你的東西。

我們仍在改進甚麼

截至 2026-09 的誠實限制:

  • 第一人稱證據循環:intake form 仍會漏掉一些類別,包括志願者領導力。我們正在迭代表單欄位。
  • 免費掃描的中文輸出:你從中文頁面發起掃描時,請求裏會帶一條明確指令,要求用簡體或繁體中文作答。八個小節標題,以及 Apply、Stretch、Skip 和 [NEEDS PROOF: ...] 這類產品標籤,是我們有意保留的英文。其餘部分模型不一定照做,掃描結果仍可能部分甚至整篇是英文。我們只做英文、簡體中文、繁體中文三種,沒有粵語輸出。
  • 交付語言:履歷和求職信草稿會在支援的範圍內使用你選擇的語言;部分名稱、專業術語和記錄可能保留原文。事實始終連結至你的原履歷。AI 譯文會核對原文中的數字、日期、等級及清單內的限定語,再由另一個 AI 模型覆核。這些檢查不能證明譯文與原文含義完全一致。展開『原文』即可對照。標題、證據標記、最終安全檢查和系統指引仍為英文。
  • 受支援的改寫:使用經過審核的模板改善受支援的教育、任職和活動表述,並將受支援的事實譯為你選擇的語言。無法進行受支援的改寫時保留原文。我們不會新增成果、誇大職責或推斷已取得資格。你可以將改動後的記錄與原履歷對照。
  • 原文回退:部分記錄因暫無受支援的譯文而保留原始語言。提交前請檢查已標示的記錄。