从 Schema 到 Evidence,让 Agent 的输出经得起较真
上篇我们把简历 Agent 推进到了"结构化输出 字段校验 可调 Tool"。但真实简历一扔进去,还是露了三处破绽:字段不够细、模型会编、给的建议是一句空话。
今天这篇顺着这三处破绽,把数据结构从"能跑"推进到"能较真":Schema 做业务建模、missing_fields 暴露缺失、Evidence 绑定原文,最后给出可落地的结构化建议。
一、Schema 不是字段堆砌,是业务建模
入门时用一个扁平结构:
代码语言:python复制class ResumeSummary(BaseModel):name: strsummary: strskills: list[str]
真实简历不是三段话,它有层级。于是拆成多个模块:
代码语言:python复制class ResumeProfile(BaseModel):basic_info: BasicInfoeducation: list[Education]work_experiences: list[WorkExperience]projects: list[Project]skills: SkillSetsummary: strmissing_fields: list[str]
这一步的关键认知:
简历不再是一段文本,而是一个有层级的对象。下层每一个 BasicInfo、Education 都是独立的 Pydantic 模型,各自带自己的字段约束。模型越贴近真实业务,输出越不容易"串味"。
二、missing_fields:让 Agent 承认"我不知道"
跑起来后,Agent 返回了这样的缺失清单:
代码语言:json复制"missing_fields": ["basic_info.phone","education.major","work_experiences.title","work_experiences.start_date","work_experiences.end_date"]
注意它没有硬猜手机号和专业,而是把判断不了的信息用点号路径标出来。
这很重要。很多 AI 应用的问题不是"答不出",而是"不知道还硬答"。missing_fields 的作用是:让 Agent 把无法判断的信息显式暴露出来。
暴露之后,下游就能:
提醒用户补充走人工审核降低整体置信度避免拿不完整的结果去入库三、Evidence:每个字段都能回到原文
之前的写法,字段只有值:
代码语言:python复制school: strdegree: str | None
今天升级成"值 出处":
代码语言:python复制class EvidenceText(BaseModel):value: strevidence: str
输出长这样:
代码语言:json复制"school": {"value": "北京工业大学","evidence": "北京工业大学,工学硕士,2009.09-2012.06。"}
解决的问题是:这个字段到底是不是原文里真的有?
没有 evidence,模型可能吐一个看似合理但查无此处的结论。加了 evidence,每个关键字段都能拉回原文核对。
今天立的三条铁律:
没有 evidence 的关键结论,不进入最终结构。evidence 必须是原文片段,不是模型的解释。找不到 evidence,就返回null / unknown / []。四、结构化建议:不是散文,是四条
普通 AI 容易输出这种话:
有道理,但不可执行。
今天把建议压成固定结构:
代码语言:python复制class SuggestionItem(BaseModel):issue: strreason: strevidence: strrewrite: str
每条建议必须回答四件事:什么问题、为什么是问题、原文依据、怎么改。
代码语言:json复制{"issue": "项目描述缺少具体技术动作和成果","reason": "原文只写了负责数据中台建设,无法体现具体贡献和结果","evidence": "负责数据中台建设。","rewrite": "负责数据中台建设,结合 Python、Spark、Flink 等技术支撑数据处理与实时计算场景。"}
价值很清楚:建议不再是泛泛而谈,而是可展示、可追踪、可人工审核、可继续改写。
五、完整链路
今天的简历 Agent 已经跑通这条链:
代码语言:shell复制原始简历文本↓Schema 结构化↓missing_fields 标记缺失↓evidence 绑定原文↓structured advice 输出建议
它不再是 输入文本 → 大模型回答,而是:
输入文本 → 结构化对象 → 证据校验 → 缺失识别 → 可落地建议
这就是 PydanticAI 的工程化价值:把"会聊天"变成"能交付"。
六、总结
-
08.17
李飞飞,投出了一个独角兽
-
08.17
特斯拉递交Megapod商标申请,或将推出一体化模块化AI数据中心硬件
-
08.17
谷歌强推 AI 搜索引发用户不满 功能异常反向为竞品引流
-
08.17
异星探险家树液采集器有什么用-异星探险家树液采集器属性说明
-
08.17
视频转文字软件对比:6款免费文案提取工具参数横评
-
08.17
视频转文字软件哪个好?实测5款免费文案提取工具,手机电脑都能用
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏