用 AI 写简历完整教程(中文)
用 AI 写简历这件事,很多人做错了第一步:直接甩一句”帮我写一份软件工程师简历”,然后把 AI 生成的内容原样复制粘贴。结果往往是一份读起来很”AI”、内容空洞、和目标岗位毫不匹配的简历——HR 一眼就能看出来。
AI 在写简历这件事上真正擅长的,不是”编造经历”,而是把你零散的真实经历,重新组织成招聘方想看到的语言。这篇文章给出一套可以直接照抄的分步流程,把 AI 当成一个能不断追问细节、帮你打磨措辞的编辑,而不是一台自动生成器。
一、开始之前:先做好素材整理
AI 写不出你没告诉它的信息。如果你直接让 AI”编”一段工作经历描述,大概率会得到千篇一律的套话(“负责xx模块的设计与开发,具备良好的团队协作能力”),因为它没有任何具体细节可用。
在打开对话框之前,先花 15-20 分钟整理一份”原始素材清单”,哪怕是流水账也没关系:
- 每段经历做了什么具体的事(越细越好,比如”把接口响应时间从 800ms 优化到 200ms”,而不是”优化了性能”)
- 用了什么技术/工具
- 遇到了什么问题,怎么解决的
- 有没有可以量化的结果(用户量、性能提升百分比、节省的成本、团队规模)
这份清单不需要写得漂亮,AI 的工作正是把它变漂亮。素材越具体,AI 产出的质量差距越大。
二、分步 Prompt 模板:不要一次性让 AI 写完整份简历
一次性丢给 AI “帮我写份简历”,得到的往往是结构合理但内容空洞的通用模板。更好的做法是把简历拆成几个部分,逐段打磨。
2.1 第一步:把经历改写成 STAR 结构
把你的原始素材逐条丢给 AI,用这个 Prompt:
我要把下面这段工作经历改写成简历里的一条 bullet point,
用 STAR 法则(Situation-Task-Action-Result)组织,
但只需要写出 Action 和 Result 部分,控制在一行以内,
动词开头,避免"负责""参与"这类弱动词,量化结果如果我没提供就留空不要编造:
原始经历:[粘贴你的流水账描述]
关键在最后一句”如果我没提供就留空不要编造”——这是防止 AI 幻觉出虚假数据的关键指令。很多人吃过亏就是因为 AI 会”善意地”帮你编一个看起来合理的数字,面试时被追问细节直接露馅。
2.2 第二步:针对目标岗位做关键词匹配
如果你已经锁定了具体的招聘 JD(Job Description),把 JD 原文和你的经历一起丢给 AI:
这是目标岗位的 JD:
[粘贴 JD 全文]
这是我的一条工作经历(已经过 STAR 改写):
[粘贴上一步的结果]
请指出:
1. 这条经历里哪些技能词和 JD 要求重合,帮我在措辞上更贴近 JD 的原词
2. JD 里提到但我这条经历没体现的关键能力,是否有其他经历可以补充体现
不要改变经历的事实,只调整措辞和强调重点。
这一步的价值是让简历里的词汇尽量和 JD 原文对齐——不是为了”骗过”筛选系统,而是因为招聘方筛简历时确实会用 JD 里的关键词做心理或系统层面的匹配,用词一致能显著提高被注意到的概率。
2.3 第三步:整体润色和精简
单条经历改好后,把整份简历草稿一起丢给 AI 做最后一轮通读:
请通读这份简历草稿,检查:
1. 各条经历之间的动词是否重复(如果多条都用"提升""优化"开头,帮我换成更多样的表达)
2. 是否有信息冗余或可以合并的条目
3. 整体篇幅是否超过一页 A4(软件工程师简历建议控制在一页,5 年以上经验可以到一页半)
不要新增没有依据的内容。
三、常见误区:这几件事 AI 帮不了你,也不该让它帮
3.1 让 AI 编造经历或夸大数据
这是最常见也最危险的误区。AI 生成内容时有天然的”填空”倾向——如果你的原始素材里没有具体数字,它很可能自己编一个看起来合理的百分比。任何数字类描述,都要回头核实是不是你自己提供的原始信息,面试环节被追问细节答不上来,比简历平淡更致命。
3.2 千篇一律的”AI 味”措辞
如果你发现简历里反复出现”赋能""抓手""闭环""高质量完成”这类空洞词汇,大概率是 AI 默认风格的产物。解决办法很简单:在 Prompt 里明确要求”避免使用抽象的管理黑话,用具体的技术动作描述”,效果立竿见影。
3.3 完全照搬 AI 生成的自我评价段落
“自我评价”这一段是重灾区,AI 写出来的往往是任何人都能套用的正确废话(“具备较强的学习能力和团队协作精神”)。这段建议要么删掉(对技术岗位来说价值不大),要么让 AI 基于你简历里已有的具体经历,反推出 2-3 句真正有区分度的总结,而不是泛泛而谈。
四、ATS 关键词优化:机器筛选这一关怎么过
不少公司的招聘流程里有 ATS(Applicant Tracking System,申请人跟踪系统)做第一轮自动筛选,用关键词匹配决定简历是否进入人工阅读。优化要点:
| 检查项 | 说明 |
|---|---|
| 关键词覆盖 | JD 里反复出现的技术名词(如具体的编程语言、框架、方法论)尽量在简历里原词出现,而不是用同义词替代 |
| 格式简洁 | 避免用表格、文本框、图标承载关键信息,部分 ATS 解析不了这些元素,会导致信息丢失 |
| 文件格式 | 优先投递 PDF(保证排版不错乱),除非 JD 明确要求 Word 格式 |
| 标准化标题 | 用”工作经历""教育背景""技能”这类标准标题,不要用有创意但 ATS 识别不了的自定义标题 |
可以让 AI 帮你做最后的 ATS 检查:把 JD 和简历一起丢给它,让它列出 JD 中出现但简历里缺失的高频关键词,你再判断这些词是否真实适用于你的经历。
五、如果你想批量投递不同岗位:用 API 自动化这套流程
如果你在同时投递多个方向的岗位(比如既投后端也投算法岗),针对每个 JD 手动走一遍上面的流程会很耗时。这种场景其实可以用 API 脚本化:把”STAR 改写""关键词匹配""ATS 检查”这三步分别做成三个 Prompt 模板,写一个小脚本批量调用模型 API,针对不同 JD 自动生成对应版本的简历草稿,你只需要人工做最后的事实核对和微调。
import openai
def tailor_resume_bullet(raw_experience, jd_text):
prompt = f"""
这是目标岗位 JD:{jd_text}
这是我的工作经历:{raw_experience}
请按 STAR 法则改写,贴近 JD 用词,不要编造数据。
"""
response = openai.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
)
return response.choices[0].message.content
这类小工具国内直接调用 OpenAI/Claude 官方 API 经常遇到网络不通或者 Key 无法直接支付的问题,用 YoTradeApi 这样的 API 中转可以省去这部分折腾,专注在 Prompt 逻辑本身。关于国内开发者接入这类 AI 工具的付款和网络问题,也可以参考 国内开发者 AI 工具付款全攻略。
六、最后一步:人工通读,找回”你的声音”
AI 改写完的简历,投递前一定要自己完整读一遍,确认:
- 每一句描述你都能在面试时脱口而出具体细节,没有任何”AI 编的部分”
- 整体语气和你本人的表达习惯不会差异过大(面试时反差太大会显得简历不真实)
- 没有遗漏你认为最重要但 AI 判断”不够亮眼”而删掉的经历
AI 是很好的编辑和润色工具,但简历最终代表的是你自己,最后的把关必须由你来做。
七、相关阅读
- 国内开发者 AI 工具付款全攻略
- 用 AI 写营销文案的实战工作流(中文场景)
- Claude System Prompt 工程实战
- LLM 结构化输出完全指南(JSON Schema / Function Call)
如果你想把这套简历改写流程自动化成批量处理脚本,用 YoTradeApi 中转调用 OpenAI/Claude API 可以免去国内网络和支付的折腾,专注打磨 Prompt。