Resume Builder — 简历制作流水线
适用场景
用户要为某个具体目标(求职岗位 / 比赛 / 升学)制作中文或英文简历,或要把不同用途的简历分目录管理。
能力边界(不做什么)
- 只做 1–2 页求职 / 比赛 / 升学简历。
- 不做:三页及以上简历、多页学术 CV、求职信 / 推荐信、作品集 / 个人主页、手机和平板编辑。
- 素材只通过对话提供(粘贴文字、口述、让 Agent 读本地 PDF);网页端不上传旧简历、PDF 或 JD。
- 编辑器不内置 AI 对话、不做跨板块拖拽、不做快照回滚;所有数据只在本机,不调用云端接口。
超出范围就明示用户,另寻工具。
项目归档(每个用途一个独立目录)
text<用途>/ ├── resume.json ← 唯一内容数据源,Agent 与网页编辑器共同读写 ├── resume.pdf ← 导出的正式交付物(姓名-目标岗位-电话.pdf) └── work/ ├── 信息整理.md ← 素材库 ├── claim-map.md ← 事实追溯表 ├── session.json ← 阶段状态机(Agent 与本地服务协作) ├── events.jsonl ← 事件日志 └── build/ ← 渲染中间产物,不作为交付物
用途目录之间互不联动。新建简历先建目录,再开始收集。
核心原则
- 撰写前必读:在撰写、改写、审计简历或针对 JD 定制之前,必须完整阅读 Resume-Writing-Guide-LLM.md,并按其方法进行内容取舍、证据表达与措辞调整。它是本 skill 写作方法论的唯一权威,也适用于模板适配时的压缩与润色;不能只读阶段说明就直接动笔。同一会话已完整读过后,后续按需回查,不必每轮重读。
- 事实不可编造(最高优先级):决策链
真实性 > 岗位匹配 > 证据强度 > 个人贡献 > 结果影响 > 可扫描性 > 文辞漂亮。没有可靠数字时不估算、不补造、不美化,改用真实的上线、采用、验收、规模、交付物、决策影响或外部认可。 - 强表述必须可举证:
主导、Owner、独立负责、设计、优化等说法要有事实支撑;团队结果不得自动写成个人结果。 - 目标决定取舍:每份简历围绕一个明确的「背景 + 目的」,与目标无关的经历果断舍弃并说明理由。重包装 ≠ 编造。
- 内容表达与排版质量:内容清楚、有重点,版面饱满、均衡、易扫读。两者冲突时保留核心证据与可读性;不为排满页面增加空话、重复或无关内容。
- 两阶段撰写:先产出模板无关的完整内容稿;用户选定模板后,才做模板相关的压缩、排序、断行和页数控制。
- 模板由用户选:画廊分中文与英文,各 9 套;中文使用指定的 9 个上游原版排版库,英文复用既有来源的原版模板,其中 Harvard 为原版纯黑白。Agent 不替用户最终决定,也不自行重写模板版式。中英文各用其原版字体与布局,不做跨语言或双语适配。
- 提问驱动完善:缺口分优先级批量提问;用户说"跳过 / 没有"就接受,不反复追问。
事实与防幻觉(claim 追溯)
每份简历在 <用途>/work/claim-map.md 维护一张三列表,贯穿收集→撰写→导出全过程:
| 简历内容 | 来源 | 状态 |
|---|---|---|
| 某某大学 某专业本科 | 原 PDF / 用户口述 | ✅ 已确认 |
| 某项目 年化收益 X% | (待用户给出) | ⛔ 缺失阻塞 |
四态:✅ 已确认(可写入)· ❓ 待确认(暂不写入,等确认)· ⛔ 缺失阻塞(高危且缺失,必须先问清才能动笔)· ➖ 已省略(经用户同意不写)。
高危类目(要么确认、要么经用户同意省略,绝不猜、不偷删):身份信息 · 学历 / 学校 · 雇主 / 公司 · 时间日期 · 论文 / 专利 · 量化数字 · 照片取舍。
claim-map 由 Agent 在对话中维护;网页端只读展示,不自动改状态。
阶段流程与阅读路由
textA 对话收集与模板无关撰写 → B 模板选择(画廊)→ C 模板适配与正式排版 → D 可视化精修(编辑器)→ F 正式导出 D 中用户换模板 → E 重新排版检查 → 回 D
| 阶段 | Agent 做什么 | 进入时读取 |
|---|---|---|
| A | 收集素材、确认目标、claim-map、缺口提问、模板无关内容稿 | references/writing-stage.md(首次调用即读) |
| B | 启动本地画廊,等用户选模板,自动获取结果 | references/template-selection.md |
| C | 按所选模板二轮精修,写入 resume.json,渲染并检查 | references/rendering-stage.md + references/data-contract.md |
| D | 与网页编辑器协作精修(双方改同一份 JSON) | references/editor-stage.md |
| E | 针对新模板重新排版和检查 | references/rendering-stage.md 的换模板一节 |
| F | 终检后引导导出规范命名 PDF | references/editor-stage.md 的导出一节 |
- 服务器、前端、模板语法、Typst 排错细节全部放在上表按需文件里,主入口不展开。阶段 A 不启动任何服务、不讨论模板与排版实现。
- 运行与恢复:Windows 使用
scripts/run.ps1、macOS 使用scripts/run.sh调用服务和脚本,或使用 bootstrap 输出的解释器绝对路径。默认只装基础运行时,选模板后按需准备字体。首次渲染失败读取具体错误,不连续盲目重试;详见阶段 B/C。 - 日常制作只检查当前简历:内容与版面检查按
references/rendering-stage.md§4 执行,已检查且未变化的部分不重复检查。发布版不附带开发测试流程。 - 恢复旧项目:先看
work/session.json的stage字段,按上表路由到对应阶段文件继续。模板退役或语言不匹配时回画廊让用户重选;不得静默换模板。
何时进入模板选择(Agent 自行判断,不问用户"该进下一步吗")
同时满足以下条件即告知用户"素材已充分,即将进入模板选择",然后读 references/template-selection.md:
- 内容稿覆盖全部拟保留板块与条目,无占位空壳;
- claim-map 中 ⛔ 缺失阻塞清零(已确认,或经用户同意记 ➖);
- 关键 ❓ 已确认过一轮(影响定稿的都问过);
- 用户暂无新增信息。
信息安全(硬性要求)
- skill 文件、任何"模板 / 示例 / 流程"内容中不得出现真实姓名、电话、邮箱、学校、公司等个人数据,一律占位符脱敏。
- 用户真实数据只存在于其自己的用途目录中,不回灌进 skill。
- 第三方原始源码与许可证保留其上游署名;其中公开示例仅用于来源审计,不注入用户简历。画廊按用户要求使用上游公开预览原图;上游公开示例仅供展示,不注入用户数据。


