R0 - 通读
读你的 CV 和 JD,写下你最强的证据主线、JD 真正点名的要求,以及两边明显对不上的地方。
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。
读你的 CV 和 JD,写下你最强的证据主线、JD 真正点名的要求,以及两边明显对不上的地方。
围绕这份 CV 怎么撑住这个 JD,给出正好三个候选角度。每个角度一句话,后面跟上它靠的是哪份证据。
走 attacker 路由,把三个角度逐个攻一遍:缺哪份证据、哪里有夸大的风险、资深审阅者会在哪里追问。
拿最强的那个角度,对着 JD 点名的要求打 0 到 100 分,把加权算法摊开给你看,最后落到 Apply、Stretch、Skip 或 Needs more evidence。
仍是 attacker 路由。逐条过你的 CV,指出面试官会攻哪一句,并按严重程度把最高的几条排出来。
只依据你的 CV、JD 和前面阶段的输出,给每一条实质性表述打上且只打上一个标签:Defensible、Needs proof、Cannot trace。Cannot trace 必须删掉,Needs proof 只能以 [NEEDS PROOF: ...] 空位的形式留下。这一阶段的 temperature 是 0.1,是我们用到的最低值。
按 JD 把你的 CV 重写成一页,只用 R5 判为 Defensible 的内容,加上 R5 允许留下的空位。它不能写进你原始 CV 里没有的公司、雇主、职位、证书、执照、学位或数字,也不能把你自己写成缩写的名字擅自展开。
给重写后的 CV 判 Apply、Stretch、Skip 或 Needs more evidence,附上 0 到 100 的分数和理由,再列出投递前该补齐的三到五项证据。
英文草稿目标为 250 到 350 个按空白分隔的词,硬性上限为 380;简体和繁体中文目标为 450 到 650 个非空白 Unicode 码点,硬性上限为 750。计数不含 # Cover Letter 这个 H1 标题,但包含称呼和落款。证据较少时可以写得更短,绝不为了凑长度填充内容。草稿从重写后的 CV 里引用两三个支点,每个事实都必须已经在那份 CV 里。
attacker 路由。最多取 R4 里现有的三条高风险内容,不会为了凑数虚构条目。每条给出三个资深审阅者可能会问的问题,以及一项应带哪份最小证据材料的指引,且只基于你自己选择写出来的内容。
这个最终安全检查只用英文运行。它拿写完的 CV 和求职信,回头对照你的原始材料和 R5 的标签再读一遍,只能返回逐字引用的删除项,再由代码确定性执行;它绝不改写说法。若无法逐字引用或准确定位问题,系统会阻止交付。它是最后一个模型阶段,所以中途被阻断的单子根本走不到这里。
完全不调用模型。代码读 R9b 的否决表,把 R9b 判删的内容从 CV 和求职信里删掉,去掉面试准备里引用了确定性检查已经删掉的内容的行,清掉内部编号和阶段代号,再附上一段固定的免责说明。除了这段说明,它自己不写任何一句话。
没有隐藏路由,也没有还在规划中的档位:以下是 2026-09-01 从引擎代码里读出来的默认配置。每个阶段带一个 defender 或 attacker 的路由标签,但路由只是分工,不是第二家供应商。用 DeepSeek 时,这两条路由指向的是同一个模型;真正走出去的只有 R6 和 R8。
这里原本印着每次扫描和每单审计的基础设施成本,现在删掉了:代码里用来估算成本的价目表仍然指向已经停用的 OpenRouter 线路,照它算出来的数字一定是错的,而修价目表是改代码,不是改文案。客户价格以新加坡元(S$)计。
对你的 CV 和一个 JD 发一次请求,边写边流式返回,temperature 0.1,输出上限 2,200 tokens。2026-09-04 用同一份合成 CV 跑了三次,每次 11 到 14 秒。这是三次、一个输入的实测,不是服务承诺。
defender 和 attacker 两条路由指向的都是这一个模型。只有 R6 和 R8 可能走出去,而且只有在配了 Moonshot 密钥时才走。thinking 模式发出去时是关闭的,所以这些阶段按普通补全计价,而不是按推理计价。
CV 改写和求职信这两个阶段,是唯一走出主供应商的阶段,而且只有在环境里配了 Moonshot 密钥时才走。没配的话,它们和其他阶段一样跑在 deepseek-v4-flash 上。Moonshot 那一侧如果返回空内容,或者返回我们判定可重试的状态码,这一阶段会回到主供应商重试一次。
某个 DeepSeek 阶段返回空内容,或者返回 HTTP 400、401、402、403、408、409、429、500、502、503、504 时,这一阶段会在 Qwen 上重试一次,前提是配置了 Qwen 密钥。连接被断开、DNS 解析失败这类网络层故障不在这份清单里:那种情况下这一单会直接失败,不会切换供应商。与其说一句供应商故障影响不到我们,我们宁可把边界讲清楚。
LLM 写 CV 最常见的失败模式是编造:不存在的实习、灌水的 metric、根本没有过的 AUM。R5 就是为了拦住这件事而存在的阶段,而它后面的阶段没有绕开它的路。
R5 会读你 CV 和前面阶段输出里的每一条实质性表述,给它打上而且只打上三个标签中的一个:
[NEEDS PROOF: ...] 空位的形式留下来,等你用自己的记录补上。还有第四条规则,管的是学生最担心的那种情况。如果挂在同一个雇主下面的职责和结果全都是 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 语言,再是改写幅度,最后是行文风格。选项赢不了证据规则。
指令要求任何一档都不会做的事:
[NEEDS PROOF: ...] 空位,等你用自己的材料补上(平衡、最强形态)。这些是给一次模型调用的指令,不是硬性拦截,所以使用前请对照你的 CV 检查这条改写。补不上的空位就是诚实的答案,这也正是这份扫描要给你的东西。
截至 2026-09 的诚实限制:
[NEEDS PROOF: ...] 这类产品标签,是我们有意保留的英文。其余部分模型不一定照做,扫描结果仍可能部分甚至整篇是英文。我们只做英文、简体中文、繁体中文三种,没有粤语输出。