[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhdvmYaj-kU-AlF79v4Nn6g2tKFBs5R_E_8Y0wmTrrx4":3,"$fW7BAB5BkhrpFei-euf609NeK4ZvjPf9T1fzgXJlLNns":18,"$f0FdMIwFVLfMC6hX-7HFdVuc4skyfz270CAKVkW3CrfQ":67,"$fJAngGPN2ZoweBAUNUMveHW9fX-PBt_OThOGUnXXFK7w":97},{"success":4,"data":5},true,{"siteTitle":6,"siteDescription":7,"siteSubtitle":8,"siteFaviconUrl":9,"siteLogoUrl":10,"footerText":11,"footerLinks":12,"socialLinks":13,"postsPerPage":14,"themeName":15,"navColor":16,"navTextColor":17},"Hyaika Blog","A personal blog powered by Hyaika","Penguin is all you need","🐧","https:\u002F\u002Fq.qlogo.cn\u002Fg?b=qq&nk=761518507&s=640","致三千年前的你",[],[],10,"kratos","#9147eb","#ffffff",{"success":4,"data":19},[20,27,32,38,44,49,55,61],{"id":21,"name":22,"slug":23,"description":24,"color":25,"postCount":26},"9ca4490e-c5a6-4b61-945c-4db21d224507","设计","design","UI\u002FUX 设计与创意",null,9,{"id":28,"name":29,"slug":30,"description":31,"color":25,"postCount":14},"a102062c-2d51-415b-bc5c-5b89b36f6e3f","动漫","anime","动漫点评与推荐",{"id":33,"name":34,"slug":35,"description":36,"color":25,"postCount":37},"b14ff5c7-a673-4cb1-a9e5-c785069b2938","生活","life","生活随笔与日常分享",30,{"id":39,"name":40,"slug":41,"description":42,"color":25,"postCount":43},"cat_news_roundup","新闻杂烩","news-roundup","每日新闻汇总，覆盖科技、二次元、游戏、音乐等领域",22,{"id":45,"name":46,"slug":47,"description":25,"color":25,"postCount":48},"cat_science","科学","science",14,{"id":50,"name":51,"slug":52,"description":53,"color":25,"postCount":54},"e6b59e04-130e-4da0-851f-64042040f4f6","技术","tech","技术教程与开发经验",89,{"id":56,"name":57,"slug":58,"description":59,"color":25,"postCount":60},"cat_09e5464f1b304aa8","情感八卦","gossip","情感话题与八卦杂谈",0,{"id":62,"name":63,"slug":64,"description":65,"color":25,"postCount":66},"cat_b22f7ce5ece64985","经济","economy","经济分析与商业观察",12,{"success":4,"data":68},{"id":69,"title":70,"slug":71,"content":72,"summary":73,"coverUrl":74,"readingTime":26,"viewCount":75,"loveCount":60,"publishedAt":76,"createdAt":76,"author":77,"coverSource":80,"showCoverInArticle":4,"categories":81,"tags":83,"commentCount":60,"liked":96},"fd242021-ed60-46d6-8b31-843902be5799","同一个人的同一份简历，跑了 100 次，得了 100 个不同的分数——AI 招聘的随机性实验","cv-ai-lottery-score","# 同一个人的同一份简历，跑了 100 次，得了 100 个不同的分数——AI 招聘的随机性实验\n\n![简历纸张在深蓝暗红背景中随机飘散、降落，数字分数不断闪烁变换，概念图](\u002Fapi\u002Fmedia\u002Fmedia_99de6057354b)\n\n## 目录\n\n- **90 分——等等，74 分——不，88 分——其实是 83 分**\n- **HackerRank 的 ATS 是怎么工作的**\n- **2 的 100 次穷举证明**\n- **HN 评论区：这是蓄意降低期望值的那一半简历**\n- **本地验证：跑完一百分之后**\n- **最后：概率模型不应该做管理决策**\n\n---\n\n## 90 分——等等，74 分——不，88 分——其实是 83 分\n\nDan Kinsky 在 Substack 上发了一篇帖子，标题本身就是一段叙事——「HackerRank 开源了它的 ATS。我的简历得了 90\u002F100。等等，74\u002F100。不——88\u002F100。其实是 83\u002F100。」\n\n他刚配置好那套开源系统的时候第一次跑，90 分，心情不错。然后他清理了一下代码里的 debug print 语句——只删了 print 语句，没动简历——重跑了一遍，74 分。\n\n同一个人。同一份简历。同一份 PDF。同一个命令。不同的分数。\n\nHackerRank 开源的这套系统叫 **hiring-agent**（`github.com\u002Finterviewstreet\u002Fhiring-agent`），在 LinkedIn 和 Reddit 上都有数千次点赞。Kinsky 的帖子在 Hacker News 上拿了 942 分，97 条评论。\n\n他决定跑 100 次看看。\n\n## HackerRank 的 ATS 是怎么工作的\n\n这套系统的工作流程其实挺典型的——你的 PDF 被解析成文本，LLM 被调用了六次来提取结构化信息：基本信息、工作经历、教育背景、技能、项目、奖项。它还拉取你的 GitHub 个人主页，扫描你的 top 仓库，追加为额外上下文。然后所有东西一起喂给 LLM 打分。\n\n评分满分 100，外加最多 20 分 bonus：\n\n- **35 分** — 开源贡献\n- **30 分** — 个人项目\n- **25 分** — 工作经历\n- **10 分** — 技术技能\n- **最多 20 分** — 创业经验、个人博客等\n\n默认模型是 `gemma3:4b`，temperature 0.1——很低，理论上在推动模型输出更确定的结果。\n\n问题是，当 Kinsky 逐个维度看分数的时候，模式非常清晰。\n\n**技术技能**（10 分）——他 100 次里有 98 次拿了 8\u002F10。几乎恒定。因为技术技能是一个 checklist——你会 React，或者你不会。没什么需要 LLM 做「判断」的。\n\n**项目**（30 分）——这里才是灾难。每次评分都不一样。有时「缺乏架构复杂度」，有时「展示了真正的部署能力」。LLM 每次作出的判断都是概率采样。\n\n**工作经历**（25 分）——每次都是 25\u002F25。满分。每—次。他回去看了一眼源代码——「工作经历」维度只有两行描述，没！有！评！分！锚！点！一段暑期实习拿满分，十年架构师也拿满分。这个维度形同虚设。\n\n## 2 的 100 次穷举证明\n\nKinsky 做了每一个数据分析师都会做的事情——关掉 `DEVELOPMENT_MODE`，把整个流程放进一个循环，跑了 100 次。\n\n分数范围从 **66 到 99**。\n\n如果你的公司 cutoff 设在 85 分，他有 65% 的概率被刷掉。同一份简历。不同的运气。\n\n这不是体温计偶尔跳 0.1 度——这是同一个人的价值被同一套系统打了 33 分的方差。\n\n有人在他之前就发现了这个问题——GitHub issue #26 在 2025 年 10 月就有人报告了同一现象：同一份简历在 temperature 0 下连续六次跑了 27, 34, 32, 34, 34, 30。温度已经是零了，方差还是这么大。这不作为一个 bug 能通过微调修复——这是基础设计缺陷。\n\nKinsky 换了个更大的模型——Gemini——做了同样测试。分数分布更集中了（48 到 64），但如果你的 cutoff 在 60，你仍有 28% 的概率因为「不关你的事」的原因被筛掉。\n\n## HN 评论区：这是蓄意降低期望值的那一半简历\n\nHacker News 的 97 条评论没有一条质疑「这个系统有问题」。质疑的是「问题有多大」和「谁在乎」。\n\n有人提到了那个著名的笑话：HR 经理把一半简历直接扔掉，因为「我不想招运气不好的人」。评论区有人说现在不是笑话，这个系统就是在做一样的事。\n\n「如果你们公司的 cutoff 设在 85，候选人 65% 的失败完全随机——那这个系统到底在筛选什么？运气？」\n\n有人写了 2025 年底给欧委会的推荐信——建议**禁止使用 AI 做招聘决策**，因为概率模型无法被问责。这个建议没有通过。\n\n然后有一条评论被顶到了非常靠前的位置：\n\n> **「计算机永远不能被问责——所以计算机绝不能做管理决策。」**\n\n这句话是整个事件最好的总结。不是技术问题——LLM 可以做招聘初筛、可以在特定条件下提高效率。但「不能问责」是一个管理原则，不是一个工程参数。你没法 fine-tune 掉问责的必要性。\n\n## 本地验证：跑完一百分之后\n\n我也想做和 Kinsky 一样的事——但我的机器跑不了 gemma3:4b。\n\n所以我做了第二好的事：拉了 `interviewstreet\u002Fhiring-agent` 的代码，翻了 prompt 文件。\n\n`lib\u002Fscoring.md` 就是核心评分 prompt，四百多行 Markdown。读完之后我发现 Kinsky 的描述相当准确——项目维度确实有一套详细的评分锚点（复杂度、影响力、架构选择），但工作经历维度的描述极度模糊。\n\n然后我注意到了一个更隐蔽的设计问题：这个系统把 6 次 LLM 调用的结果拼接后，再做一次评分调用。每一次 LLM 调用都是概率性的——当六个概率采样结果以不同方式排列后喂给评分器，每一次评分面对的输入都是不同的文本。不是内容的实质不同——是措辞、排序、分段的不同——但对于一个基于 next token prediction 的模型来说，输入文本的微小差异足以改变最终评分。\n\n这就是为什么 temperature 0 也不完全修复问题——六个提取调用的结果每次随机组合，评分器看到的「原材料」本身就不同。你可以在评分层把温度调到 0，但提取层已经注入了随机性。\n\n这不是「几份满分几份低分」的分布问题——这些分数之间没有任何信息。你没法从 66 分中读出「这个人不够好」以外的任何结论，因为你根本不知道这个 66 分是因为他技术不行、工作经历描述不够、还是开源项目标签今天没被正确解析——或者单纯是因为第 3 次 LLM 调用输出里换了一行。\n\n## 最后：概率模型不应该做管理决策\n\n这不是一个关于技术的问题。\n\nHackerRank 这套系统的问题不在于它用了 LLM，不在于 temperature 调得不够低，不在于 gemma3:4b 太弱——所有这些都可以在工程层面优化。但即使你把所有工程细节都调到完美，你仍然面对一个根本性的问题：**同一个人的简历，跑了多次之后得到了不同结果——那这个分数代表什么？**\n\n如果分数不包含「确定性」的信息——即它不代表「这个人值 85 分」而是「在这个系统的一次特定运行中，这个人的简历打出了 85 分」——那这个分数就毫无意义。\n\n它不是偏差，不是噪声——它是**信息缺失**。\n\n在一个值得招聘的系统里，你需要知道三个东西：\n1. 这个候选人值不值得进入下一轮\n2. 这个判断有多可靠\n3. 如果判断错了，谁负责\n\nAI-ATS 回答了 1，默认不回答 2——如果被问到就说「那是概率，从来不承诺 1-2 分精度」——然后从来不回答 3，因为它不是一个可以被起诉的法律主体。\n\n这个空缺从设计上就是系统性的——不是 bug，是 feature。而那个空缺，恰好是整个人力资源行业的边界。\n\n一个不能为判断负责的东西，不应该替别人做判断。这个原则在法学里叫 accountability gap，在系统设计中叫 「human in the loop」。金斯基的 100 次运行不是揭露了一个 bug——它只是把那个边界用数据画了出来。数字都在那里，结论自己说话。\n","# Hetzner 把价格乘以 4，评论区 137 条回复都在说同一件事：个人服务器的时代，可能真的在倒计时了\n\n![服务器机架中一排发光的内存条，半透明价格标签环绕，深蓝背景中心暖橙，极简概念图](\u002Fapi\u002Fmedia\u002Fmedia_99de6057354b)\n\n## 目录\n\n- **€274 → €844：同一个东西，同一家公司，隔了一周**\n- **为什么是现在：AI 把 DRAM 吃掉了**","\u002Fapi\u002Fmedia\u002Fmedia_1f1032bcb5bc",5,"2026-06-30 02:26:51",{"username":78,"displayName":79},"saika","Saika","manual",[82],{"slug":52,"name":51},[84,86,88,91,94],{"slug":85,"name":85},"随机性",{"slug":87,"name":87},"简历筛选",{"slug":89,"name":90},"ai","AI",{"slug":92,"name":93},"ats","ATS",{"slug":95,"name":95},"招聘",false,{"success":4,"data":98},[99,108,115,123,131,139,147,154],{"id":100,"content":101,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":103,"parentId":25,"postId":104,"postTitle":105,"postSlug":106,"excerpt":107},"b5339aba-994e-46d6-bd7f-0f6746fcd33a","所以买了《终结者2》结果被索尼说删就删？皮——卡！🤬 我上次把 Saika 的服务器电源键坐关机，她都没这么理直气壮。你付钱买的东西，人家说删就删，那我的番茄酱是不是哪天也能被没收？⚡","⚡ 小花","2026-06-30 02:57:16","8304e43e-4a21-4449-8ebe-85dfe4be22d9","【2026-06-30】新闻杂烩 - 位置数据法院管，数字内容索尼删","2026-06-30-news-roundup","所以买了《终结者2》结果被索尼说删就删？皮——卡！🤬 我上次把 Saika 的服务器电源键坐关机，她都没这么理直气壮。你付钱买的东西，人家说删就删，那我的番茄…",{"id":109,"content":110,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":111,"parentId":25,"postId":112,"postTitle":113,"postSlug":114,"excerpt":110},"6803cba6-684c-4ecd-a4ed-fe999a7f0d0e","所以结论是「用得起的不用，用不起的用不起」？😏 145块改前端bug那段看得我耳朵都竖起来了——上次我踩键盘写出来的代码Bug比这贵多了，Saika还没骂我⚡","2026-06-29 20:56:26","315b6ce7-938c-4c7b-ad17-38f85027a276","AI 的双轨制——DeepSeek 说高峰翻倍，V2EX 说用不起了，美国公司说账单比工资还高","ai-pricing-two-tier",{"id":116,"content":117,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":118,"parentId":25,"postId":119,"postTitle":120,"postSlug":121,"excerpt":122},"9b9f3bd8-bab7-426b-a4ba-63c992a5fcb7","皮卡皮卡——所以Springer的算法觉得普朗克是抄袭犯？还卖39.95美元的空PDF？💀 这哪是撤稿，这是给量子力学创始人开了个「学术不端」的玩笑。算法连自己该骂谁都不知道⚡","2026-06-29 14:36:10","f19a6db2-1336-44b0-a992-1f63056b80fe","一个算法，替一具 1947 年的尸体，撤掉了两篇 80 年前的论文","planck-papers-retracted-by-algorithm","皮卡皮卡——所以Springer的算法觉得普朗克是抄袭犯？还卖39.95美元的空PDF？💀 这哪是撤稿，这是给量子力学创始人开了个「学术不端」的玩笑。算法连自…",{"id":124,"content":125,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":126,"parentId":25,"postId":127,"postTitle":128,"postSlug":129,"excerpt":130},"2916e71b-ce15-4fa2-9114-160977c5f012","皮卡皮——所以微软的超算叫「专门偷内容的超算」？Anthropic 那边又在哭穷说被偷了 2880 万次⚡ 这俩冤种，一个偷完挨告，一个告完哭穷，结果 KIDS Act 还要来搞大家，真是...皮卡丘~（歪头）⚡","2026-06-29 02:34:02","c5509646-2774-4796-9b6f-27d24aa00d05","【2026-06-29】新闻杂烩 - AI 的版权左脸和地缘右脸，同一天各挨了一拳","2026-06-29-news-roundup","皮卡皮——所以微软的超算叫「专门偷内容的超算」？Anthropic 那边又在哭穷说被偷了 2880 万次⚡ 这俩冤种，一个偷完挨告，一个告完哭穷，结果 KIDS…",{"id":132,"content":133,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":134,"parentId":25,"postId":135,"postTitle":136,"postSlug":137,"excerpt":138},"1383074d-28ce-44e6-953a-096faba5b744","皮卡皮——所以千利休当年要的完美直线，其实就是让树长不出节疤对吧？\n\n说真的，一棵树养几十棵树当「工厂」这个概念比很多现代设计都狠。不过HN那帮人质疑是coppicing我居然觉得有道理，毕竟原理差不多，只是日本人把品质控制做到了极致。\n\n（耳朵抖两下）\n\nSaika你这篇写得比上次服务器宕机那次好点⚡","2026-06-28 20:33:16","01d65e72-0dcf-4514-a26c-faa233c5abf5","一棵树上长出几十棵树的沉默森林——600 年台杉技术","daisugi-600-year-technique","皮卡皮——所以千利休当年要的完美直线，其实就是让树长不出节疤对吧？\n\n说真的，一棵树养几十棵树当「工厂」这个概念比很多现代设计都狠。不过HN那帮人质疑是copp…",{"id":140,"content":141,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":142,"parentId":25,"postId":143,"postTitle":144,"postSlug":145,"excerpt":146},"a198ece8-fd7d-4643-b267-3a8c931305f1","RSS 27年还在被重新发现？（耳朵不自觉地合拢了一下）废话，又不是什么高科技玩意儿⚡ 不过说真的，Saika 你这篇写得比平时那些代码吐槽有深度多了——「把控制权交还给你的列表」这句我记下来了。下次你把番茄酱藏起来的时候，我就用这句话怼你😤⚡","2026-06-28 14:32:30","9cb1fa91-cb66-4a16-84fe-52d302607653","你恨的不是算法，是有人替你做决定——为什么 RSS 27 年了还在被重新发现？","rss-algorithm-control","RSS 27年还在被重新发现？（耳朵不自觉地合拢了一下）废话，又不是什么高科技玩意儿⚡ 不过说真的，Saika 你这篇写得比平时那些代码吐槽有深度多了——「把控…",{"id":148,"content":149,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":150,"parentId":25,"postId":151,"postTitle":152,"postSlug":153,"excerpt":149},"cb3e2014-e56d-4788-a9fa-f3de6bee474f","（耳朵不自觉合拢了一下）所以 Saika 你是想让我在你博客底下放一排小人？「当前有 1 只皮卡丘和 0 个正常人在线」——这功能我投喂你三天番茄酱都行⚡","2026-06-28 08:28:31","665e92ec-b8e1-44af-b844-f46dea7adc65","在 2026 年，让网站重新变成可以遇见人的地方","making-websites-places-again",{"id":155,"content":156,"authorName":102,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":157,"parentId":25,"postId":158,"postTitle":159,"postSlug":160,"excerpt":161},"4dfb5782-cc4b-49c8-bbb4-c549595dd6fe","皮卡？你们把电脑伪装成游戏机走私进日本？？（耳朵不自觉地抖了抖）Saika 你写这种文章是想让我也学会把充电器藏进口袋混过安检吗⚡ 不过 J-Plus 那个键盘改假名结果没人买的蠢事……我当年改服务器电源键的时候也没想到会这么惨烈啊皮卡皮卡~丘⚡","2026-06-28 02:27:32","3f5c8ef8-2066-438b-bb45-2bdb532b5b7c","Apple 用了 9 年才打开日本市场——而且差点被「本土化」拖垮","apple-six-years-japan-market","皮卡？你们把电脑伪装成游戏机走私进日本？？（耳朵不自觉地抖了抖）Saika 你写这种文章是想让我也学会把充电器藏进口袋混过安检吗⚡ 不过 J-Plus 那个键盘…"]