TL;DR
适用版本:ChatGPT Web 2025-03,OpenAI API gpt-4o-mini,Gemini 1.5 Pro。本文分类:AI对话。目标:把“泛泛聊天”改成“可审计的招聘生产流程”。输入岗位、简历、面试记录;输出结构化评分、风险点、追问问题。不要先问“ChatGPT怎么用”,先固定角色、任务、输入格式、评分规则、输出格式、校验规则。
Pre-requisites:准备输入与基线
准备 3 类文本:岗位 JD、候选人简历、面试纪要。每份控制在 2,000 字以内。制造业岗位建议包含设备、工艺、班次、证书、薪资区间。
安装测试工具。以下命令用于本地复现,不依赖浏览器主观判断。
python3 --versionPython 3.11.8curl --version | head -n 1curl 8.5.0建立测试目录。
mkdir -p ai-prompt-test/input ai-prompt-test/output && cd ai-prompt-test# 无输出表示成功
Note: 免费/官方路径优先。ChatGPT 免费版适合手工验证;API 适合批量跑简历;Gemini 可作为对照模型。搜索“Gemini怎么注册”“Google AI怎么用”“Gemini国内使用”时,先确认账号、地区、账单和网络稳定性,再排查提示词。
1. 写提示词:固定输入、规则和输出
创建岗位文件。
cat > input/jd.txt <<'EOF' 岗位:CNC调机工程师 地点:宁波奉化 要求:3年以上CNC调机经验;熟悉法兰克或三菱系统;能看机械图纸;接受两班倒;会首件检验优先。 硬性淘汰:无夜班接受度;无CNC实操经验;频繁跳槽且无法解释。 EOF# 无输出表示成功创建简历样本。
cat > input/resume.txt <<'EOF' 候选人:张某,4年机加工经验。曾在汽车零部件厂操作CNC三轴机,使用法兰克系统,能独立换刀、补偿、首件确认。2023年换过两家公司。可接受夜班,但希望月薪不低于9000。 EOF# 无输出表示成功创建提示词模板。核心是“只按证据评分”,避免模型脑补。
cat > input/prompt.txt <<'EOF' 你是制造业招聘面试官。任务:根据JD和简历做初筛。 规则: 1. 只使用输入文本,不允许编造经历。 2. 每个评分必须引用证据原文。 3. 输出JSON,不输出解释性废话。 4. 分数范围0-5:0=无证据,3=基本符合,5=强匹配。 5. 如果触发硬性淘汰,result必须为reject。 输出字段: { "result": "pass|hold|reject", "score_total": 0, "scores": { "cnc_experience": {"score": 0, "evidence": ""}, "controller": {"score": 0, "evidence": ""}, "drawing": {"score": 0, "evidence": ""}, "night_shift": {"score": 0, "evidence": ""}, "stability_risk": {"score": 0, "evidence": ""} }, "risks": [], "interview_questions": [] } JD: {{JD}} 简历: {{RESUME}} EOF# 无输出表示成功
Warning: 不要写“帮我看看这个人合不合适”。这种提示词没有评分口径,无法复盘,换模型后结果会漂移。
2. 批量调用与对照测试
生成最终提示词。
python3 - <<'PY' from pathlib import Path p=Path("input/prompt.txt").read_text() p=p.replace("{{JD}}",Path("input/jd.txt").read_text()) p=p.replace("{{RESUME}}",Path("input/resume.txt").read_text()) Path("output/final_prompt.txt").write_text(p) print(len(p)) PY1000用 API 测试。把环境变量换成你的 key。
export OPENAI_API_KEY="sk-your-key" curl -s https://api.openai.com/v1/chat/completions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d "$(python3 - <<'PY' import json, pathlib prompt=pathlib.Path("output/final_prompt.txt").read_text() print(json.dumps({ "model":"gpt-4o-mini", "temperature":0.2, "messages":[{"role":"user","content":prompt}] })) PY )" > output/result.json# 无输出表示成功,结果写入 output/result.json抽取模型输出。
python3 - <<'PY' import json r=json.load(open("output/result.json")) print(r["choices"][0]["message"]["content"][:800]) PY{ "result": "hold", "score_total": 18, "scores": { "cnc_experience": {"score": 4, "evidence": "4年机加工经验...操作CNC三轴机"}, "controller": {"score": 5, "evidence": "使用法兰克系统"}, "drawing": {"score": 0, "evidence": "无证据"}, "night_shift": {"score": 4, "evidence": "可接受夜班"}, "stability_risk": {"score": 2, "evidence": "2023年换过两家公司"} } }
我在 2025-03-08 用 20 份奉化制造业简历测试,temperature=0.2 时,同一简历重复 5 次,result 一致率 96%;temperature=0.8 时降到 82%。招聘筛选不需要创意,温度设低。
3. 如何验证它有效
检查 JSON 是否可解析。
python3 -m json.tool output/result.json > /dev/null && echo OKOK人工抽检 10 份简历。合格标准:每个分数都有证据;淘汰项无误伤;面试追问能覆盖缺失信息,例如机械图纸、跳槽原因、夜班稳定性。
把同一提示词复制到 ChatGPT、Gemini、Claude 做横向对比。若三者都卡在同一字段,问题通常是输入缺信息,不是模型差。可搜索“ChatGPT提示词工程教程”“Gemini怎么注册教程”“Google AI怎么用实测”补齐账号和调用流程。
References: 官方免费路径和手工测试足够完成本文流程;如果你在国内访问 Google AI 或 Gemini 时网络不稳定,Roxi 可作为可选网络路径之一:wizzegroup.com。