Agent Resume — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Agent Resume (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
面向「一岗一简历」与高频海投要求简历快速复用的现实矛盾,独立构思并设计实现的 AI Agent 工程项目。
已在 Claude + DeepSeek + VSCode(Cline)集成环境下完整测试通过。
求职时存在一个核心矛盾:每个岗位的 JD 侧重不同,高度定制化的简历才能提高命中率,但海投场景下手动逐条调整耗时且难以复用。
本项目通过 MCP 协议将简历改写流程工具化,构建可跨 JD 场景稳定复用的 AI Agent 系统,并配套工业级自动化评测脚手架(Promptfoo + LangSmith),确保大模型输出质量可控、可审计、可回归。
用户输入 JD
│
▼
┌─────────────────────────────────────────┐
│ 网页前端(UI 入口) │
└──────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ MCP Server(server.py) │
│ │
│ Resources │
│ ├── resume://full 完整经历库 │
│ └── resume://current_jd 当前目标JD │
│ │
│ Tools │
│ ├── load_jd 加载并持久化JD │
│ ├── analyze_jd_match 匹配度分析 │
│ ├── rewrite_section 分段改写 │
│ ├── assemble_resume 组装完整简历 │
│ └── save_resume_draft 保存草稿 │
└──────────────────┬──────────────────────┘
│
┌──────────┴──────────┐
▼ ▼
Claude API DeepSeek API
(工具调用决策) (内容生成)
│ │
└──────────┬──────────┘
▼
┌─────────────────────────────────────────┐
│ LLM Eval Harness │
│ Promptfoo 5×3 矩阵评测 │
│ LangSmith 全链路 Trace │
└─────────────────────────────────────────┘通过 resume://full 和 resume://current_jd 两个 Resource,将简历素材库与目标 JD 自动挂载到模型上下文,无需每次手动粘贴,实现跨会话的上下文稳定注入。
将非结构化的简历改写经验蒸馏为四步标准流程:
load_jd → analyze_jd_match → rewrite_section → assemble_resume每段经历按核心匹配 / 次要匹配 / 补充匹配三类分级改写,遵循「JD 需求点 → 我做了什么 → 结果/价值」结构公式,严格不虚构内容。
| 模型 | 职责 |
|---|---|
| Claude | MCP 工具调用决策、质量把控 |
| DeepSeek | 中文内容生成(降低成本) |
通过 Prompt Engineering 强约束格式输出,拦截模型幻觉,消除模型在改写结果中夹带前言与客套话的问题;将非结构化改写经验蒸馏为可调用 Skill,具备从需求抽象到工程交付的完整 AI Native 研发视野。
#### Promptfoo 5×3 正交矩阵评测数据集
针对大模型面对不同行业和不同简历背景梯度下的适配问题,构建覆盖:
共 15 个正交测试场景。
#### 断言从简单到复合的演进
初版使用 icontains 简单关键词断言,在 promptfoo view 评测看板中发现假阴性问题——模型输出整体质量合格,但因某个特定词缺失即判 FAIL。
根因分析:硬字符串匹配思维在面对生成式 AI 时容易失效——生成式模型的输出本身就存在合理的语义多样性,用固定词强卡必然误杀。
因此将断言重构为基于多同义词模糊正则匹配与 JavaScript 的函数式断言,通过逻辑组合(|| / &&)和关键语义多路覆盖降低误判率:
// 重构后:兼顾格式约束与语义容错的复合断言
function({ output }) {
const lines = output.split('\n').filter(l => l.trim());
// 多路语义覆盖:出现任意同义词均视为通过
const hasContent = /育种|选育|品种/.test(output) ||
/实验|试验|测试/.test(output);
// 格式约束:行数不超过上限
return lines.length <= 6 && hasContent;
}#### LangSmith 全链路白盒 Trace
通过 wrap_openai 为 DeepSeek SDK 挂载自动追踪探针,在云端看板实现:
agent-resume/
├── server.py # MCP Server 核心(Resources + Tools)
├── requirements.txt # Python 依赖
├── .gitignore
├── agent-sessions.code-workspace # VSCode 工作区配置
├── .claude/
│ └── agents/
│ └── resume_editor.agent.md # Agent 系统级行为规范与四步流程
├── data/
│ ├── resume.md # 完整经历素材库(自行填写)
│ └── current_jd.txt # 当前目标 JD(load_jd 工具自动写入)
├── output/
│ └── *.md # 各岗位定制化简历草稿
└── tests/
├── promptfoo/ # 5×3 矩阵评测配置 + JS 函数式断言
└── langsmith/ # LangSmith 白盒追踪驱动脚本# 克隆项目
git clone https://github.com/your-username/resume-adjuster.git
cd resume-adjuster
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装 Python 依赖
pip install mcp openai langsmith
# 安装 Promptfoo
npm install -g promptfoo请在工程中填入自己对应的Keys。
DeepSeek官方API接口链接:https://api-docs.deepseek.com/zh-cn/
# .env
ANTHROPIC_API_KEY=your_anthropic_key # Claude
DEEPSEEK_API_KEY=your_deepseek_key # DeepSeek
LANGSMITH_API_KEY=your_langsmith_key # LangSmith
LANGSMITH_PROJECT=resume_adjuster
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com在 data/resume.md 中填入你的完整经历,素材越结构化,改写质量越高。 resume.md文件中已给出示例。
### 在 VSCode + Cline 中启动
1. 启动 MCP Server:
python server.py
2. 在 Cline 的 MCP 配置中注册(`.vscode/cline_mcp_config.json`):
{ "mcpServers": { "resume-adjuster": { "command": "python", "args": ["/你的绝对路径/server.py"] } } }
3. 重载 Cline,在对话中粘贴 JD,Agent 自动走完四步流程。
### 运行评测
npx promptfoo eval -c tests/promptfooconfig.yaml --no-cache
npx promptfoo view
python tests/langsmith/run_langsmith_eval.py
---
## 技术栈
| 类别 | 技术 |
|------|------|
| AI 协议 | MCP(Model Context Protocol) |
| 模型 | Claude(Anthropic)/ DeepSeek |
| 客户端 | Cline + VSCode |
| 评测框架 | Promptfoo |
| 链路追踪 | LangSmith |
| 后端 | Python / asyncio |
| 文档生成 | docx.js |
---
## 📄 License
MIT~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.