返回前期准备

本机材料处理方法

材料是怎么造的

五份简历和岗位说明全部由脚本合成(生成脚本随制作档案归档materials-原件与生成脚本/ 里),人名、公司、电话、证件号均为虚构,照片是灰色占位图。形态对着真实招聘场景做:平台导出的单栏和双栏 PDF、整页扫描件、手机斜拍、Word 各一份,文件名沿用「【岗位】姓名_手机号」的下载原名。两份额外的字段测试简历(含字段标签、独立段落等边界写法)随制作档案归档fields-test/ 里,用来验证脚本的新旧字段规则。

脚本的字段规则与待确认

脱敏.py 只删两类:单独成格的字段标签及右邻值格(如 Word 信息表里的「电话 138…」),和独立成段的「标签:值」。字段词出现在句子中间时不删,进待确认清单由人决定——比如「通过电话与客户确认」不能因为含「电话」就被删。本例的待确认清单:

【数据分析专员】苏明远_13822074519.pdf 第1页 页眉区整行删除:聘达通·简历导出  苏明远-简历
【数据分析专员】苏明远_13822074519.pdf 第2页 页眉区整行删除:聘达通·简历导出  苏明远-简历

敏感词表里每位候选人写:姓名、姓名拼音和邮箱前缀、手机号后四位。手机号、邮箱、18 位证件号脚本自动找。本例的敏感词表:

苏明远
林蔚然
郜子涵
何佳琪
赵一鸣
suminyuan
weiran
gzh
hejiaqi
zhaoyiming
4519
0827
3372
6658
5573

依赖与平台

四个脚本只要 Python 3。脱敏.py 需要 pymupdf(pip install pymupdf,装一次);查漏.py 和逐段对比.py 读 PDF 文字用 poppler(brew install poppler,Mac 未实测)。年限.py 只用标准库。脚本只在制作时的 Linux 环境测过,覆盖本例五种简历版式;遇到新版式先在复印件上试跑,逐段对比确认没有多删再用于原件。

那次让智能体脱敏的会话记录里看到什么

它交回的文件没问题,过程记录里有三件事:原件里的姓名、手机号、身份证号在它读简历时各出现了十几次,随请求发给了背后的模型服务;它在工作文件夹外安装了一个 PDF 处理库;往系统临时目录写过图片。所以本课把脱敏固定为本机脚本,智能体只接触脱敏后的文件。那次完整会话记录随制作档案归档r1-智能体脱敏-已放弃/。

制作时的实际执行方式

三轮智能体会话(找证据、核对、修订)用命令行智能体 zcode 完成,每轮以 --cwd 指向只含岗位说明和「脱敏后」的工作文件夹,--json 留下机器可读记录;原始会话、每轮前后的文件清单和 SHA 随制作档案归档prerun2/。v3 改脚本后,五份演示输出与 v2 会话的输入逐字节一致(依据见 evidence/demo-desensitize/与agent-v2的r2输入对比.txt),因此三轮会话复用 v2 记录、未重跑。年限输出随制作档案归档prerun2 同级的 years/ 目录(已随 evidence 保存)。换成带界面的智能体时,只把工作文件夹选给它,是同样的思路。

本轮作者核对稿与跟练文件

历史输入、Agent原始输出与当时过程保留;后续练习按教程正文指定版本接续。