首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
AI 不得写下你从未说过的话:freehire 经验银行与证据门设计(Provenance 决定可写入 CV)
📅 2026/10/22 13:11:39
✍️ 爱科研究院
👁 阅读 3,247
【免费下载链接】freehirefreehire — the open-source search engine for job seekers项目地址https://gitcode.com/GitHub_Trending/fr/freehire点击查看免费下载在 freehire 这个开源求职搜索引擎里AI 助手可以帮你改写简历CV但它有一个铁律AI 不得写下你从未说过的话。实现这个铁律的是两套机制——经验银行experience bank与证据门evidence gate前者把你说过的每一段真实经历沉淀为带来源标签Provenance的证据后者在写入 CV 前逐条核验“这句话是谁说的”。本文带你完整看懂这套 Provenance 决定可写入 CV 的设计。问题AI 改简历为什么容易“编造经历”让大模型直接改写简历最常见的事故不是文笔不好而是它自信地补全你没有的经历——“主导过 Kubernetes 迁移”“管理 5 人团队”。模型不是在撒谎它只是在统计意义上猜了一个高频答案。而招聘方会核验学位也会背调项目一句凭空出现的经历足以毁掉整份 CV。一种常见做法是在 system prompt 里写“不要编造”。但 prompt 纪律是会衰减的对话越长模型越容易忘记规则。freehire 的答案是——把规则从提示词搬进数据给每条经历打上“谁说的”标签把校验放进服务层代码模型绕过它的可能性降为零。经验银行把经历变成可累积的证据经验银行的代码位于 internal/candidate/experience/由两张表构成见迁移 0047_experience_bank.sql实体粒度说明Employment一段经历发生的“地方”一份工作job或一个项目project含公司、角色、时间、技术栈Atom一条 CV 级别的证据claim这句话本身 context怎么做的 metrics数字 skills规范技能词provenance来源关键点是累积上传的简历解析只是缓存重新上传就会覆盖定制后的 CV 又随职位被丢弃。而银行只增不删——导入永不删除只有本人可以删除。你在第 3 次改简历时对 AI 说“我确实做过这次迁移”第 4 次改简历时它不用再问你一遍。Provenance 四标签每条证据必须交代“谁在说话”每条 Atom 的 provenance 字段只有四种合法值数据库约束直接拒绝其他值0047_experience_bank.sqlProvenance谁在说话能否写入 CVcv_import候选人自己的简历✅stated_in_chat候选人自己的话AI 核对过原句✅manual候选人自己手动录入✅agent_inferred模型自己的推断❌ 直到本人确认并被重新打标对应的判定函数只有一个谓词Publishable()experience.go——前三者放行agent_inferred拒绝未知值一律拒绝。这是“失败安全fail closed”宁可少写不可写假。更妙的是标签不由调用方自报。存储层从“入口点声明的作者Author”推导标签请求体里带的 provenance 字段一律被忽略author.go。这堵死了“洗白”路线把推断先存成agent_inferred再编辑、再读出manual、最后引用进 CV——改词不等于重新声明改写型编辑AuthorRewrite只能继承原标签标签缺失或无法识别时一律落回agent_inferred。证据门写入 CV 前的最后一道检查CV 的写入路径只有一个包 internal/candidate/cvedit/其中 policy.go 定义了证据门规则默认即声明文档中除“呈现型”字段模板、边距、页头联系方式等见presentationShapes豁免清单外一切字段都默认是“关于候选人的声明”——工作经历、技能、教育、认证、项目甚至将来新增的字段。方向刻意反着来新字段必须被显式豁免而不是默认放行。旧版清单曾只列“哪些字段算声明”结果没人核验过的学历和证书就悄悄上了 CV。AI 必须引用证据 ID模型发起的写入操作set/insert必须携带evidence_id——它引用的银行条目 ID。一个操作没引用整批操作全部拒绝防止假声明混在真声明里搭车policy.go。只约束 AI不约束本人规则是“模型的推断不得上页”候选人写自己的经历是银行的记录来源向他本人要引用只会让编辑器不可用。引用必须真实可查门去经验银行里验证这个 ID 存在、属于本人、且Publishable()为真。银行里没有的证据引用无效。被拒绝时模型收到的错误信息本身就是一条提示“这句话关于候选人需要你提供 evidence_id……如果银行里没有先问候选人并用 experience_add 记录答案”——错误信息是模型自我纠正的唯一通道。从对话到落笔一次 experience_add 的完整旅程AI 助手在所有预设下都注册了经验工具assistant_experience_tools.go因为“候选人说出自己经历”的时刻无法预约。以experience_add为例模型调用experience_add把成就写成一粒 Atom并附上said参数——候选人原句的逐字拷贝入口点把said与本次会话的真实记录transcript比对authorFor→assistant.UserSaid见 assistant_experience_tools.go 和 message.go原句确实在你说的话里→ 标签为stated_in_chat这条证据升级为“你说的话”可写入 CV。这是唯一能让标签升格的路径因为它依赖模型之外的东西你的聊天记录做了确认原句对不上——改写、概括、甚至捏造 → 记为agent_inferred。记录但不拒绝模型需要把自己的假设记在案上才能回头问你。返回结果里会明确写着can_write_cv: false“请让候选人确认后再写入 CV”。注意比对时连否定句都会被识别“我没有主导过这次迁移”不能为“主导过这次迁移”作证而查不到记录时宁严勿松无法验证即视为模型所言。其他值得细看的失败安全设计数字不参与归一化ClaimKey去标点、去多余空格、小写化但保留数字——“20s to 1s”和“30s to 1s”是两件事绝不能合并成一条experience.go。去重交给唯一索引重复上传同一份 CV 不可能产生重复证据。检索不调用模型技能用与职位侧同一本词典规范 slug做集合交集再加文本重叠兜底“带了 5 个人”不携带任何技能标签但仍是证据。零分数的弱匹配直接不返回——对模型来说弱匹配读起来就像证据。近义重复不自动合并改写出相似措辞的两条只会标记为“软重复”由你决定合并系统永不静默改写证据。总结Provenance 是搬进数据的诚实之墙设计问题freehire 的答案规则放哪里放数据与服务层不靠 system prompt标签谁定入口点声明 Author存储层推导请求体自报无效未知情况怎么办一律落为agent_inferred拒绝发布失败安全模型推断要不要保留保留agent_inferred等待本人确认升格本人写自己的经历无需引用不受证据门约束最终效果正是文章标题那句话AI 不得写下你从未说过的话。它写下的每一句 CV 内容都必须能追溯到一粒银行里的证据而一粒证据能否发布取决于 provenance——你的简历只说你说过的话。延伸阅读经验银行设计说明internal/candidate/experience/AGENTS.md证据门与编辑策略internal/candidate/cvedit/AGENTS.md、policy.go原始提案openspec/changes/experience-bank/proposal.md数据库表结构migrations/0047_experience_bank.sqlAI 助手工具实现internal/api/handler/assistant_experience_tools.go赞分享【免费下载链接】freehirefreehire — the open-source search engine for job seekers项目地址https://gitcode.com/GitHub_Trending/fr/freehire点击查看免费下载相关推荐不会编造的 AI 简历定制freehire 经验银行 逐条岗位要求改写零虚构完整指南不会编造的 AI 简历定制freehire 经验银行 逐条岗位要求改写零虚构完整指南 freehire 是一个开源的职位搜索引擎除了能帮你找到岗位它GitNexus Evidence Provenance Schema v2计划文件的可验证证据溯源与安全写入契约GitNexus Evidence Provenance Schema v2计划文件的可验证证据溯源与安全写入契约 本指南围绕 GitNexus 技能体系中的开发工具MCP 服务静态分析知识图谱AI 应用GitNexus evidence-provenance Schema 2 深度解析为 AI 生成计划建立可验证的证据指纹与安全写入契约GitNexus evidence provenance Schema 2 深度解析为 AI 生成计划建立可验证的证据指纹与安全写入契约 导读本文讲解 Gi开发工具MCP 服务静态分析知识图谱AI 应用上一篇AI 短剧卷到配音层这个新出的开源声优模型凭什么让全网盯着看下一篇图谱里的社区Graphify 如何发现代码的隐秘组织创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/22 13:11:39
从价格战转向能力战,今年双十一平台们各打各的牌
2026/10/22 13:11:39
基因合成报价参考:一条基因的成本构成与价格影响因素详解
2026/10/22 13:06:38
无图纸、无注释、原厂失联:存量立库PLC逆向工程实战经验分享
2026/10/22 15:12:41
SLR(1)语法分析器Java实现:从LR(0)项目集到ACTION/GOTO表
2026/10/22 15:12:41
K8s Ingress完全指南:从原理到灰度发布与排错实战
2026/10/22 15:12:41
K8s实战:Service与Ingress原理、配置及流量排查全解
2026/10/22 15:12:41
球形哈希(Spherical Hashing):用超球体做局部敏感二值编码的向量检索方案
2026/10/22 15:12:41
PWM死区引发电机启动抖动?实测诊断与补偿方案
2026/10/22 15:07:39
Agent系统生产环境可靠性:从三起上线事故到v2工程改造
2026/10/22 0:01:24
电商智能运营体系从0到1:架构设计、落地步骤与避坑指南
2026/10/22 0:01:24
压缩空气储能与热网热惯性联合优化调度:热电联产系统建模与求解
2026/10/22 0:01:24
若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定
2026/10/21 19:05:16
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/21 14:47:26
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/21 19:05:04
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/22 5:06:15
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/22 2:07:18
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/21 19:01:08
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)