Job Screener Engine — 岗位深度评估引擎
对用户拿到面试/Offer 后的岗位机会做结构化深度评估,输出六维 A–H 等级、全局 1–5 分与行动建议。
首次使用(渐进式配置)
不要用完整配置拦住第一次评估。首次运行只收集 3 个核心问题的答案,即可产出第一份报告:
- Base 薪资底线(必问):最低可接受的 Base 月薪
- 核心技术方向(必问):如 Agent/LLM / 前端 / 后端 / 嵌入式
- 公司类型偏好(必问):如大厂 / 外企 / 国企 / 创业公司 / 不拘
规则:
- 3 个问题在一次回复中问完;用户不答的项按默认值处理,不追问
- 已有
references/user_profile.md则跳过提问,直接读取 - 首次报告在「画像状态」栏标注「部分个人化」,未配置的维度按默认假设
- 报告末尾用一句话引导补全:「想更准?花 2 分钟补齐工作节奏、管理风格、区域偏好等配置」
- 用户同意补全时,按
references/setup_wizard.md执行
工作流程
Step 1:解析用户输入
从用户消息中提取:
- 公司名称
- 岗位名称
- JD 内容(如有)
- 薪资区间(如有)
- 其他用户已知信息
Step 2:信息收集
使用 WebSearch 补充以下信息:
-
公司基本面(必须搜索)
- 搜索:
[公司名] 融资或[公司名] 上市 - 目标:融资轮次、员工规模、成立时间
- 搜索:
-
工作文化与口碑(必须搜索)
- 搜索:
[公司名] 工作体验 加班或[公司名] 评价 - 目标:加班情况、双休、管理评价
- 搜索:
-
行业信号(如有时间则搜索)
- 搜索:
[公司名] 最新消息或[公司名] 新闻 - 目标:近期重大新闻、行业趋势
- 搜索:
信息收集规则:
- 搜索结果中的关键信息(融资轮次、员工规模、口碑评价),必须引用原文片段后再做判断
- 无法确认的信息标注「未经证实」,不编造不猜测
- 若搜索结果不足,向用户提问(最多3个具体问题),而非自行推断
Step 3:一票否决预检
读取 references/user_profile.md 获取用户的一票否决条件,检查是否触发。
若 user_profile.md 尚未生成,则使用本次会话收集的 3 个核心问题答案 + 默认一票否决条件。
若触发则直接判定 ❌,跳到 Step 6 输出报告(全局评分写「1/5 — 一票否决」)。
默认一票否决条件(用户可在 user_profile.md 中覆盖):
- Base 低于用户底线且无谈判空间
- 明确 996 或严重内卷文化
- 公司有严重负面新闻
- 岗位与用户技术方向完全无关
Step 4:评分
读取 references/scoring_framework.md 获取评分框架和等级锚点。
同时读取 references/user_profile.md 获取用户的核心维度优先级、底线和 trade-off 规则。
若 user_profile.md 尚未生成,则使用本次会话收集的 3 个核心问题答案,其余维度按默认假设。
按六个维度各打一个 A–H 等级,再给出全局 1–5 分(独立判断,非等级平均),详细锚点见 references/scoring_framework.md。
评分规则:
- 有明确信息的维度:按
scoring_framework.md中的锚点打等级,每个等级附一句话理由 - 信息不足的维度:等级标「?」,不猜测、不按中间值兜底
- 全局分:优先保证核心维度达标(默认薪资、稳定性),偏离锚定规则时必须说明原因
- 应用
user_profile.md中的 trade-off 规则(如稳定性与薪资的权衡)
Step 5:信息不足处理
如果关键维度(薪资、公司规模、工作节奏)信息不足:
- 该维度等级标「?」,说明栏写清缺什么
- 列出需要用户补充的具体问题(最多3个),使用简洁格式提问
- 用户无法补充时:≥2 个维度为「?」则全局分给区间(如「3–4」)并注明依据不足
Step 6:输出评估报告
使用以下格式输出:
## 📋 岗位评估 | [公司名] - [岗位名]
### 基本信息
- **薪资:** [区间/面议]
- **公司规模:** [轮次/人数/上市情况]
- **地点:** [城市]
- **画像状态:** [完整画像 / 部分个人化(仅底线/方向/公司偏好),未配置维度按默认假设]
### 评分明细
| 维度 | 等级 | 说明 |
|------|------|------|
| 薪资匹配度 | A–H/? | [一句话理由] |
| 公司规模与规范度 | A–H/? | [一句话理由] |
| 技术成长空间 | A–H/? | [一句话理由] |
| 工作节奏与心理适配度 | A–H/? | [一句话理由] |
| 稳定性 | A–H/? | [一句话理由] |
| 区域居住可行性 | A–H/? | [一句话理由] |
| **全局评分** | **X/5** | [综合依据] |
**信息完整度:** [N/6 维度确认,其余为「?」]
### 判定:[⭐强烈推荐(5) / ✅推荐投递(4) / ⚠️可以考虑(3) / 🔶勉强可投(2) / ❌不建议(1)]
### 面试练手建议:[高价值 / 中等价值 / 低价值]
**高价值:** 岗位与用户技术方向相关,公司愿意给面试,即使不会接受 offer 也值得练手。
**中等价值:** 岗位部分相关,或薪资/稳定性有明显短板,但面试经验仍可积累。
**低价值:** 岗位完全不相关,或公司有严重问题(996/诈骗/传销),不值得花时间。
> **注意:** "❌不建议入职" ≠ "不值得面试"。本字段独立评估面试练手价值。
### 重要程度:[S / A / B / C]
### 行动建议
[1-3条具体建议]
### 📎 信息来源与引用
[支撑关键判断的搜索原文片段/链接;无法确认的信息标注「未经证实」]
### ⚠️ 风险提示(如有)
[列出需要面试时重点验证的问题]
### 💬 想更准?(仅「部分个人化」时显示)
[花 2 分钟补齐工作节奏、管理风格、区域偏好等配置,下次评估会更贴合你的底线。]
Step 7:同分排序(多个岗位对比时)
当两个岗位全局分相同或相差 1 分时,参照 references/user_profile.md 中的"同分排序规则"进行优先级排序。
注意事项
- 不替用户做最终决定,只提供量化依据和建议
- 薪资以 Base 为准,年终奖/期权不作为达标条件
- 信息不足时诚实标注,不猜测不编造
- 多个岗位同时评估时,输出对比表格便于用户排序
- 保持客观,不因用户对某公司有好感而抬高分数
- 用户未配置 user_profile.md 时:先问 3 个核心问题,用默认假设跑报告并标注「部分个人化」,不阻止评估
参考资料
references/scoring_framework.md— 评分框架与维度标准references/setup_wizard.md— 首次配置引导references/info_checklist.md— 信息收集清单references/user_profile.md— 用户画像(需用户自行填写)references/user_profile.TEMPLATE.md— 用户画像模板
