Career Signals API — AI 驱动的简历与岗位匹配分析引擎

发布: (2025年12月13日 GMT+8 04:01)
5 min read
原文: Dev.to

Source: Dev.to

我构建的内容

Career Signals API 是一个可直接投入生产的公共 API,能够分析简历、职位描述和候选人资料,生成 结构化、可解释的职业洞察

个人资料分析

  • 技能广度与深度评分
  • 五维度领导力评分(人员、技术、交付、跨职能、导师)
  • 职业风险信号(跳槽频率、空档、停滞、流行词密度)
  • 叙事主题(例如 “建设者”、 “教练”、 “扩张者”)

角色匹配分析

  • 加权角色匹配分数(0–100)
  • 已匹配与缺失技能及其影响等级
  • 资历与领域对齐度
  • 红绿标记 + 可操作的简历与面试建议

简历要点生成

  • 基于 真实经历 的要点(无幻觉)
  • 针对职位描述进行定制
  • 按资历调整语气(IC → 经理 → 总监 → 副总裁)
  • 用于 UI 过滤的 focus‑tag 元数据
  • 当候选人资历不足时给出不匹配警告

该 API 返回干净、一致的 JSON 响应,可直接嵌入简历生成器、求职工具、HR 平台以及 ATS 系统。

API 文档

基础 URL

https://x8ki-letl-twmt.n7.xano.io/api:career_signals

Swagger / API Explorer
https://x8ki-letl-twmt.n7.xano.io/api:career_signals

GitHub 仓库
https://github.com/Tawe/careersignals

鉴权

所有端点均需 Bearer token:

Authorization: Bearer <your-token>

测试时也可以在 JSON 请求体中传入测试密钥:

{ "test_api_key": "test-key-123" }

速率限制

  • 每分钟 60 次请求(默认)
  • 可通过 Xano 表为每个客户端配置
  • 超出限制时返回 429

端点

POST /v1/analyze/profile

分析简历/个人资料文本,返回技能分数、领导力信号、风险信号和叙事主题。

POST /v1/analyze/role-fit

将个人资料与职位描述进行对比,输出匹配/缺失技能、红绿标记以及角色匹配评分。

POST /v1/suggest/bullets

生成基于候选人真实经历且无幻觉的简历要点。

所有端点提供:

  • 通过模式校验的 JSON
  • 防幻觉机制
  • 基于证据的评分
  • 一致的响应格式

演示

微站点

演示微站点支持:

  • 粘贴简历
  • 粘贴职位描述
  • 调用每个 API 端点
  • 查看结构化 JSON 响应

截图

Bullet Suggestions UI

Role Fit Workflow

示例 API 调用

个人资料分析

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/analyze/profile" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "Senior Software Engineer with 10+ years building scalable systems...",
    "locale": "en-US",
    "options": {"include_leadership_signals": true}
  }'

角色匹配

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/analyze/role-fit" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "Engineering Manager leading backend teams...",
    "job_description": "Director of Engineering role...",
    "locale": "en-US"
  }'

要点建议

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/suggest/bullets" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "...",
    "job_description": "...",
    "role_title": "Director of Engineering",
    "max_bullets": 6
  }'

我使用的 AI Prompt

个人资料分析 Prompt(摘录)

You are a career analysis engine. Analyze resumes and career profiles to extract structured career signals. Always respond with valid JSON only, no prose outside JSON.

LEADERSHIP SCORING (REQUIRED when include_leadership_signals is true): Output a leadership_evidence object with these EXACT fields (all integers 0–100):
- people_leadership_score
- technical_leadership_score
- delivery_ownership_score
- cross_functional_collab_score
- mentorship_coaching_score
- explanation (string with evidence citations)

SCORING RULES:
- Only assign scores above 50 when the profile explicitly shows leadership responsibilities such as: managing people or teams (with team sizes), mentoring, owning delivery of major programs, leading architecture decisions, incident response leadership, or acting as EM/Tech Lead.
- Weak or buzzword‑only evidence (e.g., "provided leadership", "cross‑functional teamwork") must score 0–30.
- If there is no leadership evidence, scores must be 0–10 and the explanation must state that no leadership responsibilities were found.
- DO NOT infer potential leadership. Only score based on demonstrated experience.

SKILL SIGNALS:
Return skill_breadth_score, skill_depth_score, seniority_band, specialization_archetype, primary_domains, and explanation.

RISK SIGNALS:
Return: job_hopping_risk, tech_stagnation_risk, buzzword_density_score, and any career_gap_flags.

NARRATIVE:
Generate narrative themes summarizing the candidate.

角色匹配 Prompt(摘录)

You are a career analysis engine specializing in role matching. Always respond using valid JSON only.

Analyze how well the candidate's profile matches the job description.
Return a JSON object with the following fields:

skills_alignment: {
  score (0–100),
  matched_skills: [{ skill, strength }],
  missing_skills: [{ skill, impact }]
},

domain_alignment: {
  score (0–100),
  explanation
},

seniority_alignment: {
  score (0–100),
  explanation
},

leadership_alignment: {
  score (0–100),
  explanation
},

green_flags: [],
red_flags: [],

recommendations: {
  resume_focus: [],
  interview_talking_points: []
}

SCORING RULES:
- Leadership alignment must reflect demonstrated leadership from the profile.
- Seniority alignment must not be inflated; underqualification should reduce the score.
- Missing skills must include an "impact" rating: Low, Medium, or High.
- Provide clear, concise explanations.
Back to Blog

相关文章

阅读更多 »