AI招聘系统重构实践:从工具辅助到智能自主的eRoad落地总结
我去年把团队手里那套AI招聘系统整个推倒重来了一遍。这件事在内部引发了不少争议系统明明跑得好好的简历解析、人岗匹配、面试排期都是AI在做为什么要推翻等到新系统上线三个月所有人都不再提这个疑问了。重构后的eRoad易薪路让我认识到“工具辅助”和“智能自主”之间的差距不是效率高低的差别而是完全不同的两套逻辑。传统招聘工具再智能本质还是在“给人喂信息”筛完简历、打完分后续动作还得靠招聘经理手动去点、去发、去催。而eRoad重构后系统不再停留于“推荐候选人”而是能自己规划任务、调用工具、推进流程人在关键节点做审批和兜底。这篇文章想把这次重构的完整思路讲清楚技术选型怎么定自主执行链路怎么搭哪些地方翻过车最后用什么指标验收。如果你也在做AI应用、招聘系统或者只是想搞明白“智能体怎么落地到真实业务”这篇内容应该对你有用。1. 为什么“工具辅助”阶段已经到顶了——招聘系统重构的起点1.1 传统招聘工具的真正短板先说痛点。市面上很多AI招聘产品简历解析、候选人搜索、人岗匹配打分功能清单拉出来很长但真正用起来你会发现招聘经理的工作量并没有减少多少。简历解析说白了是把PDF、Word里的人类可读内容变成字段这套东西十年前就在做技术成熟度很高但它的价值天花板很低——解析完了你还是得让人去读。匹配打分稍微进阶一点给候选人打个82分、73分可招聘经理拿到分数之后第一反应通常不是“就按这个分招”而是“为什么是82分这个分数靠谱吗”分数不可解释信任就建立不起来。最要命的是后续动作。匹配出10个候选人接下来要筛选、发邮件、协调面试时间、准备面试评估表每一个动作都是人肉操作。工具辅助类系统把这些动作列成了待办清单但不会替你去执行。一个招聘经理每天有大量时间耗在“复制邮件、改名字、发出去”这种毫无技术含量的环节上所谓的智能化只是把问题从“不知道选谁”变成了“知道了但还是忙得要死”。1.2 智能自主从“告诉人”到“替人执行”eRoad重构的核心逻辑其实就一句话系统不再只输出建议而是自行把招聘任务执行到目标达成。给它一个招聘需求它会自己拆解需求、搜索候选人库、评估候选人、起草沟通邮件、按流程发起后续动作整个过程不再需要人一步一步地喂指令。这背后的范式差别我打了很久的比方才让团队理解。工具辅助类系统像是一个特别勤快的助理把所有资料整整齐齐摆在桌上但你不发话他不动智能自主系统则像一个能独当一面的同事你说“这个岗位需要招三个人”他自己定计划、调用资源、推进事情遇到拿不准的节点才会停下来问你。当然“自主”不等于“无人”。真正的自主系统必须清楚自己的权限边界哪些动作可以自动做哪些动作必须等审批。eRoad内部设计了明确的人工审批点比如对外发送邮件、发出面试邀请、生成正式评估报告这些都是高风险的对外动作系统不会自作主张。这种“自主执行关键节点人类兜底”的模式既解放了人力又避免了AI自作主张带来的风险。2. eRoad系统架构自主招聘系统的关键模块与设计取舍2.1 一个能自主行动的招聘系统应该长什么样整个eRoad的架构我按数据流拆成了四层每一层都在解决上一层的输出问题数据接入层负责多格式简历解析、外部招聘渠道数据接入、历史招聘数据沉淀。意图理解层负责把招聘JD拆成机器能计算的结构化需求包括硬性要求、软性要求、加分项。匹配计算层负责候选人检索、语义向量召回、规则加权排序生成可解释的匹配结果。代理执行层负责任务规划、工具调用、记忆存储、状态流转这是整个系统“从工具到自主”的关键。前两层的技术相对成熟真正决定范式革命成败的是代理执行层。传统系统做完全三层就停了最多加个推荐列表eRoad在匹配完成之后还会继续往下走构建候选列表、生成沟通邮件、准备面试安排草案、汇总评估报告。整个过程由一个自主代理循环驱动。为了讲清楚差别我整理了一张内部对比表能力维度工具辅助阶段eRoad智能自主阶段需求理解关键词抽取结构化意图权重分配隐性要求补全候选人通过范围纯规则筛选语义召回规则校验置信度校准执行方式等人操作自主规划工具调用风险控制人工全程把控系统预置审批点人工尾差兜底结果形态推荐列表执行闭环和评估报告2.2 各模块的技术选型逻辑有不少人问过我为什么不全用大模型一把梭非要做成模块化我的回答是招聘场景容错率太低不解释清逻辑的纯净模型方案基本没法落地。JD意图理解我用了LLM做结构化解构。最早试过硬编码规则经不住业务方一句“我们需要一个有微服务经验、能带团队、最好搞过金融业务的工程师”——这句话三种意思规则维护一次就得往死里加词表后来老实改成LLM加JSON Schema输出校验稳定很多。简历解析和匹配我保留了不少传统方案。具体说简历字段抽取用布局解析模型加规则双确认匹配先用向量模型做召回再用规则做加权排序。为什么不自上而下全用深度学习因为招聘场景有强确定性要求学历、年限、证书这些字段用规则校验比模型更可控正当性也讲得清楚。向量召回负责“宽进”规则加权负责“严出”两段式配合起来定位很清晰。代理执行层是eRoad最花心思的地方。我最终选定了“规划循环工具集记忆”的架构而不是让大模型直接输出动作。原因很简单招聘流程是有确定步骤的面试邀请邮件发出前要有审批候选人状态变更必须记录这些都需要流程状态机来控制不能让模型自由发挥得没边。3. 实战重构之一招聘需求解析与简历解析的底层细节3.1 职位JD拆解难点从来不在表面字段第一个让我头疼的环节就是JD拆解。“本科以上学历五年Java开发经验熟悉分布式系统”——这种描述好办规则就能搞定。现实里的JD常常长这样“有高并发项目实战经验者优先”“具备较强的跨团队沟通能力”“计算机相关专业优先”。这些“隐性要求”怎么处理我最后用LLM把JD统一解构成三层结构硬性要求、软性要求、加分项。硬性要求是缺失一票否决的软性要求是影响排序权重的加分项是锦上添花的。解构之后还要给每个要求配一个权重和判断依据生成结果大概是下面这个样子{ role: 高级后端工程师, hard_requirements: [ {field: experience_years, operator: gte, value: 5, unit: year}, {field: skills, skill: Java, level: advanced}, {field: skills, skill: Spring Cloud, level: proficient} ], soft_requirements: [ {desc: 高并发项目经验, weight: 0.8}, {desc: 跨团队协作能力, weight: 0.4} ], bonus_points: [ {desc: 金融业务背景, weight: 0.2} ] }这个结构的好处是每个字段都能回溯到原始JD文本里的那句话招聘经理点开就能看到“系统为什么把这个要求列为高权重”。解释性一强信任问题就解决了一大半。3.2 简历解析结构归一化与字段置信度简历解析比大部分人想得更难。看似只是“把PDF转成文本”实际要处理的情况多到让人暴躁有的简历把工作经历写成一段长文本中间没有任何分隔有的用图片展示技能点必须走OCR还有的同一份简历能出现两个手机号、三个工作单位。eRoad的做法是把解析结果拆成两个层次基础实体抽取和经历事件拆解。基础实体包括姓名、手机、邮箱、学历、工作年限经历事件包括每一段工作经历、项目经历里的角色、技术栈、职责描述。基础实体用规则加模型双重校验经历事件则交给LLM做结构化切分。解析模块还需要做一件事置信度。每一份简历解析出来后系统会对关键字段给出一个置信度评分。比如手机号格式完全匹配、五段工作经历切分无误这种就是高置信有一段经历模糊无法确定置信度就会降下来低置信度的岗位会被系统标记出来推荐前需要人工抽检。这个设计虽然朴素但帮我们避开了很多“简历信息错一版后面全错报废”的连锁事故。3.3 标注集合与验收基线的建立设计完解析模块我马上要求团队做一件事构建验收基线。没有基线的模型改造就是无底洞改一个月你说不清是变好了还是变坏了。我们随机抽取了100份真实业务中产生的脱敏JD和500份脱敏简历请两位资深招聘专家背靠背标注遇到分歧就拉会对齐。最后形成了一份gold set。后续每次调解析模型都拿这份数据集跑一遍看字段级准确率、段落级召回率、以及关键字段置信度分布。这个动作很枯燥但直接决定了后面重构会不会失控。可以说独立于人员和岗位的稳定基线是eRoad整套重构能顺利走完的定海神针。4. 实战重构之二从推荐列表到自主执行的完整链路4.1 规划循环与工具调用让系统不是一次性调用架构里我提到eRoad的核心是一个“规划循环”。简单说就是系统拿到招聘需求后不急着一次性输出全部结果而是把招聘当成一个多步任务先分解步骤再逐步执行每一步都根据前一步的结果动态调整。这个过程可以抽象成一段示意代码class RecruitmentAgent: def run(self, task): plan self.planner.create_plan(task) for step in plan: if step.requires_approval: self.wait_for_approval(step.id) result self.tools[step.tool].execute(**step.params) self.memory.record(step.id, result) if self.memory.check_state(task.id) blocked: self.request_human_feedback(task.id) return self.memory.summarize(task.id)这套循环的本质是“执行-记录-复盘”。每一步动作都会记录到系统记忆里如果某个环节卡住了系统知道该找谁介入而不是默认流程中断。很多传统流程引擎也能做多步操作但缺少“根据中间结果调整后续动作”的能力eRoad的自主性正是靠这个反馈循环撑起来的。4.2 工具集与权限边界设计自主代理不能只靠一张嘴它必须能调用工具。eRoad内置了一套最小化的工具集只做了招聘链路真正需要的四件事检索候选人库、获取候选人详细信息、生成并发送邮件、创建面试日程。每个工具都有独立的输入输出Schema代理在执行时不能跳出这些工具的边界。权限边界我前面提到过对外动作一律要审批。具体设计是三层风险分级低风险动作候选人列表排序、内部评估草稿生成这些代理可以自动完成不需要审批。中风险动作向候选人发送面试邀请邮件、发起联系申请系统生成内容后需要一名招聘负责人点击“确认发送”。高风险动作发出正式录用意向、修改候选人状态为通过这些不仅需要审批还要附上完整的决策依据和评估报告。这套分级设计一开始被团队吐槽“太保守不像智能自主”但我坚持住了。理由很实际招聘错的成本太高一个系统如果三天两头发出错误邮件用人部门就会把它关了。自主性必须建立在对风险的专业敬畏上。4.3 一个具体任务的完整执行流程举一个我们内部跑通的完整例子。某业务负责人提了一个需求“两个月内招到两名高级后端工程师熟悉微服务。”eRoad拿到这个目标之后做了这些事系统先把“高级后端工程师”这个模糊头衔拆成结构化要求并补充了隐性要求有主导过大型重构经验优先。代理调用候选人检索工具在历史库里和外部导入的人才池里找出378份初步匹配的简历。匹配计算层用向量召回加规则加权打了一套组合排序前15名进入候选区。代理对候选区里每份简历做意图核实确认工作年限、技术栈、离职状态自动生成一份候选报告。系统生成两封不同风格的沟通邮件草稿提交给招聘负责人选择负责人确认后代理自动发送。有一名候选人回复了邮件同意参加面试代理自动从日历工具中查找空闲时段生成面试邀请链接并发送。整个过程里招聘负责人只干预了两次一次是选邮件模板一次是最终确认面试邀请。其余的动作系统都自主完成了。这就是从“工具辅助”到“智能自主”最直观的差别。5. 实测中的翻车现场与修复记录5.1 简历字段漏解析导致“完美候选人”没有进入推荐列表第一次上真实场景eRoad就翻车了。当时要找一名有大型电商大促保障经验的架构师系统从候选人库里筛出了876份简历但一个简历工作经历写得特别精彩正好在某个头部电商平台做了五年稳定性保障工作——这个候选人最后被排到了第103名根本没进候选区。排查过程很有意思。我一开始怀疑匹配模型有问题把候选人原始简历翻出来一看才发现问题出在简历解析他这段工作经历在原始文档里是合并成一段长文字写的解析模块只提取了“项目经理”这个头衔没有把他负责的“大促全链路压测”拆成独立事件也没有提取“稳定性保障”这个技能点。修复方案做了两层第一层经历拆解从“一次性LLM抽取”改成“LLM抽取规则兜底”像“压测”“重保”“应急预案”这些高频业务词预置到规则库里做二次识别第二层引入前的解析要打印候选人力字段覆盖率低覆盖率的人不能直接进入匹配阶段要先人工确认。跑完修复后的回归这位候选人在同等配置下被排到了第6名。5.2 自动邮件生成中的幻觉问题第二个翻车发生在自动邮件生成环节。系统要给候选人B发面试邀请生成的邮件里写着“很高兴通知你进入某某部门高级前端工程师岗位的面试”——问题是候选人B应聘的是后端工程师岗位部门和岗位全写错了。这件事对我们的冲击很大毕竟前面审批的人是自己发出去了才发现内容不对。复盘时发现原因不在模型本身而在于给模型的上下文太随意。之前为了省事我们直接把整份简历加整份JD塞给模型让它自行找到需要的内容结果模型抓到一段相关文本就开始发挥。修复方式很直接结构化所有上下文。系统不再把一整份简历丢给模型而是传一个结构化的“候选人档案”JSON包含候选人姓名、应聘岗位ID、部门名称、面试形式等关键字段并要求模型只能基于这些字段生成邮件不允许自行补充岗位信息。邮件生成后还加了一道字段校验岗位名称和简历里的应聘记录必须一致不匹配就拦截。自从加上这两道闸类似幻觉问题基本绝迹了。5.3 匹配引擎被历史录用数据带偏eRoad的匹配模型上线初期有个有趣的现象甲候选人和乙候选人各方面条件相仿但甲的历史评分总是比乙高一点而且系统说不出明确的理由。反复排查后确认模型被训练数据里的历史录用记录带偏了。内部人才库里过去两年录用过的候选人简历里“某头部平台”“某两家大厂”出现的频次特别高模型就把这些词汇的语义权重拉得异常高一旦候选人的简历里带类似关键词分数就被抬上去。这不是候选人的能力问题是数据里的幸存者偏差。修复有三步。第一步限制训练集中历史录用数据的权重不让录用结果直接变成评分信号第二步在排序阶段加入“多样性调节器”当匹配分数接近时优先保证不同行业背景的候选人都能进候选区第三步匹配结果页永远展示“命中原因分解”把每一项匹配分数来自哪些字段一一列出来。改完这轮匹配分布合理了很多不再出现清一色同背景候选人的推荐。6. 重新定义验收标准自主程度决定评估方式6.1 从“解析准确率”到“端到端完成率”传统AI招聘系统评估大家习惯看“简历解析准确率”“匹配命中率”这类指标。eRoad重构之后我明确把验收指标换成了三类端到端任务完成率一个招聘需求从发起到系统自主推进至“候选人已进入面试阶段”的占比达到79%以上才算及格。平均人工介入次数每完成一个招聘任务招聘负责人需要手动确认的次数目标控制在3次以内。决策依据可解释率系统生成的决策中能给出明确依据和对应材料证明的比例目标是100%。这里最核心的认知变化在于必须看“任务是否完成”而不是看“某一步做得漂不漂亮”。哪怕简历解析准确率做到了98%如果候选人没进入面试流程对业务来说就都是零。6.2 人工介入次数与决策置信度自主系统最怕的不是慢而是乱。为了保证不乱我设计了一个“决策置信度”概念。每一步自动决策比如“发邮件”“排面试”“标记匹配”都会带一个置信度分数。置信度高的动作直接执行置信度中的动作先出草案等审批置信度低的动作直接留给人工去处理。这样能在减少人工参与和保护业务安全之间取得平衡。上线第一个月平均人工介入次数是7次到了第三个月降到了2.5次。下降的主要原因是系统积累了更多“常见场景”的记忆哪种表达风格更受候选人欢迎哪些匹配信号更可靠系统会在记忆层持续更新。这个变化说明自主系统不是一个静态程序它会越用越贴合具体业务。6.3 范式切换的几点个人体会这次重构跑下来我自己最大的体会是做“智能自主”系统技术难度不在大模型本身而在于对人机边界的拿捏。系统太保守跟工具辅助没区别系统太激进出了事故没人敢用。真正稳定的是让AI自主地做“确定性强”的动作同时让人做“判断性强”的动作再用状态机和审批点把这个分工固化下来。另一个体会是自主智能体落地一定要从最小闭环开始。eRoad刚上线时只做了一个岗位类型的完整链路跑顺了再扩展。很多人一上来就铺全流程翻车后根本分不清问题出在哪一环。我宁可一开始用得窄一点只要完整后面加宽只是时间问题。最后想说范式革命这四个字听上去很大落到今天就是三个开关能不能自主执行、能不能事后解释、能不能兜底回退。如果未来有人再做AI招聘系统我建议先把这三个开关想清楚再动手。

相关新闻

Synopsys 2024安装全攻略:License配置与环境变量避坑指南

Synopsys 2024安装全攻略:License配置与环境变量避坑指南

简介:这套Synopsys2024安装教程项目源码包,面向集成电路设计初学者、系统管理员与技术运维人员,用于解决EDA工具在Linux类环境中安装配置复杂、步骤易错、授权环节繁琐等问题。包内共3个文件,包含1个网页版说明文档、1个inscode项…

2026/10/18 18:04:50 阅读更多 →
系统清理工具开发实战:缓存清理、日志轮转与启动项管理

系统清理工具开发实战:缓存清理、日志轮转与启动项管理

1. 项目概述:系统卡顿背后的真实原因手头这款系统清理工具,最初的动机特别朴素:我自己的电脑用了不到一年,开机越来越慢,打开个文档都要转半天圈。翻来覆去找原因,发现主要就是三个“空间黑洞”在作怪——缓…

2026/10/18 18:04:50 阅读更多 →
Coze Studio实战:零代码可视化搭建AI Agent完整指南

Coze Studio实战:零代码可视化搭建AI Agent完整指南

很多朋友问过我同一个问题:我有一个挺不错的AI应用想法,但自己不会写代码,找外援开发又贵又慢,是不是就只能停留在“想法”阶段了?过去我一般会回答“是”,但现在答案变了。自从我系统性地把Coze Studio这套…

2026/10/18 18:04:50 阅读更多 →

最新新闻

C语言实现基-2时间抽选FFT:嵌入式与教学场景下的原位算法落地

C语言实现基-2时间抽选FFT:嵌入式与教学场景下的原位算法落地

简介:本资源是一份面向嵌入式开发初学者与数字信号处理教学场景的C语言FFT算法实践代码包,聚焦基-2时间抽选法实现快速傅里叶变换(FFT)与逆变换(IFFT),解决小资源平台下无第三方库依赖的频谱分析…

2026/10/18 18:38:00 阅读更多 →
WebPlotDigitizer实战:将论文图表像素坐标精准转换为数据坐标

WebPlotDigitizer实战:将论文图表像素坐标精准转换为数据坐标

简介:WebPlotDigitizer 是一款基于 HTML5 的开源在线工具,用于从曲线图、散点图等绘图图像中反向提取数值数据,支持 XY 图、极坐标图、三元图及地图坐标,适用于科研图表复现、数据挖掘、逆向工程等场景。压缩包内共 247 个文件&am…

2026/10/18 18:38:00 阅读更多 →
BrowserSkill:为AI agents打造浏览器操作能力的CLI工具

BrowserSkill:为AI agents打造浏览器操作能力的CLI工具

1. 从命令行到浏览器:BrowserSkill 到底解决了什么问题第一次看到 BrowserSkill 这个名字,很多人会以为它又是一个浏览器自动化脚本的封装。但真正用过之后你会发现,它想做的事情比“自动点击按钮”要大得多——它是在给 AI agents 装上一双能…

2026/10/18 18:38:00 阅读更多 →
Claude Code知识工作插件实战:命令、技能与配置三层结构解析

Claude Code知识工作插件实战:命令、技能与配置三层结构解析

1. 从"knowledge-work-plugins"这个名字说起:它到底在解决什么问题第一次看到knowledge-work-plugins这个仓库名,很多人会下意识地把它当成又一个"插件合集"。但如果你真的在 Claude Code 或 Claude Cowork 里干过几天活&#xff0c…

2026/10/18 18:38:00 阅读更多 →
NAT穿透详解:从原理到UDP打洞的工程实践

NAT穿透详解:从原理到UDP打洞的工程实践

今天聊一个几乎每个做网络、搞联机应用、或者在家搭过服务器的人都绕不开的话题:NAT 穿透。先说个真实场景。某个周末我在外面临时要连家里 NAS 拿一份资料,手机 APP 死活连不上,浏览器开管理页面也超时,家里一切正常,…

2026/10/18 18:38:00 阅读更多 →
Python爬虫与Flask可视化实战:以番茄小说为例的毕业设计全解析

Python爬虫与Flask可视化实战:以番茄小说为例的毕业设计全解析

1. 项目整体拆解与选题思路先说结论:这是一个特别适合用来做毕业设计的经典组合题目——Python爬虫数据采集 Flask/Web可视化展示,数据源选的是番茄小说。为什么说它经典?因为这类题目几乎覆盖了一名计算机专业学生在大三大四应该掌握的全部…

2026/10/18 18:37:00 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →