我做了个自动投简历的智能体

是什么、为什么、怎么做——从零开始到完整可用系统的分步指南。

我做了个自动投简历的智能体
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI模型价格对比 | AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

我尝试AI已经有一段时间了。我用Ollama在本地搭建了LLM,在自己的机器上运行模型。我构建了RAG架构,将自己的文档向量化并查询。我创建了一个基于Markdown的知识库,并在这里分享我的经验。

在每一步,我都问自己同一个问题:我能更进一步吗?

本地LLM很强大但是孤立的。RAG获取信息但不采取行动。还有一步:智能体AI——系统不仅思考,还实际完成工作。

"基于智能体"到底是什么意思?拿一个任务,将其分解为步骤,调用工具,生成输出,保存并跟踪进度。人类不在循环中。

这一次,我尝试用Claude API构建一些东西。一个重复的、耗时的、每次都循环相同流程的任务:简历分析和求职信生成。但我认为这个想法可以应用于任何重复性任务。

我在午夜开始。到早晨完成了工作。我非常享受这个过程——我向每个读到这篇文章的人推荐它。

1、我构建了什么?

Read the resume
    ↓
View the job posting
    ↓
Send to Claude
    ↓
Get cover letter + analysis
    ↓
Create Word document
    ↓
Save as CSV

JH AI——一个Python脚本。给它一个职位发布,它会读取你的简历,写一封针对该职位定制的求职信,突出你的优势,指出你的不足。它将所有内容保存为Word文档。它将每次申请记录到CSV文件中。

它从终端运行。没有界面。没有月度订阅。没有魔法。

只有Python、Claude API和两个小时的学习。

成本?我从Anthropic获得了20美元的API额度。每次运行大约花费2-3美分。足以应对数千次申请。

在URL支持部分建议: LinkedIn由于机器人屏蔽而无法使用——它需要登录。但Bayt.com和GulfTalent.com是开放平台。所以可以将这些网站上的职位发布URL直接输入系统;它会自动获取页面内容,你甚至不需要复制粘贴。

2、为什么用Claude API而不是Claude.ai?

我认为这个问题的答案对像我这样的学习者可能很重要。

Claude.ai是你在浏览器中使用的工具。你输入,得到答案。它有用,但是手动的。

Claude API不同。它是同样的AI,但这次是你的代码调用它。

循环中没有人类。代码发送请求,接收分析,创建Word文档,写入CSV——全部自动完成。

这就是我们所说的智能体AI。AI在你的工作流中工作,而不仅仅是回答你的问题。

3、我是怎么做的——一步步来

第1步:设置环境

mkdir C:\Users\Ali\jobhunter
cd C:\Users\Ali\jobhunter
python -m venv .venv
.venv\Scripts\activate
pip install anthropic python-dotenv python-docx

为什么用虚拟环境?它是专门针对这个项目的包仓库。它不会污染系统级环境。

第2步:安全存储API密钥

永远不要将API密钥硬编码到代码中。创建一个.env文件:

ANTHROPIC_API_KEY=enter-your-key-here

软件开发的黄金法则:密钥不属于代码。

第3步:自动读取简历

from docx import Document

def cv_oku():
    doc = Document('cv.docx')
    return '\n'.join([p.text for p in doc.paragraphs if p.text.strip()])

每次运行时读取最新的简历。无需手动复制。

第4步:将简历和职位发布发送给Claude

from anthropic import Anthropic
from dotenv import load_dotenv

load_dotenv()
client = Anthropic()

def jobhunter(ilan):
    cv = cv_oku()
    prompt = f"""
You are an expert career consultant for  senior tech roles.

JOB POSTING: {ilan}
CANDIDATE CV: {cv}

Generate in English:
## COVER LETTER
200-word cover letter tailored to this specific role.

## CV HIGHLIGHTS
5 strongest matching points from the CV.

## GAP ANALYSIS
2-3 areas to strengthen the application.
"""
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1500,
        messages=[{"role": "user", "content": prompt}]
    )
    return response.content[0].text

第5步:创建Word文件并自动命名

系统自动识别公司和职位。文件名生成如下:

20260507_Ooredoo_Qatar_VP_Cloud_Infrastructure.docx

第6步:记录每次申请

import csv
from datetime import datetime
def add_application(company, position, file):
with open('applications.csv', 'a', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow([
datetime.now().strftime('%Y-%m-%d'),
company, position, 'Created', file
])

随时可以更新状态:

from takip import status_update
status_update('Ooredoo Qatar', 'Sent')

终端中的结果会像这样:

=================================================
JOB APPLICATION TRACKER
=================================================
Date       Company          Position    Status
-------------------------------------------------
2026-05-07 Ooredoo Qatar    Cloud       Submitted
2026-05-07 e& UAE           VP Cloud    Prepared
2026-05-07 du Telecom       Head Cloud  Prepared
=================================================
Total: 3 | Submitted: 1 | Prepared: 2
=================================================

4、最终,系统运行成功

我对三个真实的职位发布进行了测试:Ooredoo Qatar、e& UAE和du Telecom。对于每一个,我创建了单独的Word文档,从我的真实简历生成的求职信、五个匹配优势和差距分析。

我认为差距分析是最让我惊讶的部分。它对三个职位都指出了同样的三件事:

  • 没有海湾地区经验——直接应对这一点
  • "Group Manager"头衔不能表明相关级别——重新表述范围
  • 公有云专业知识不明显——突出它

在我看来,这不是聊天机器人的回答。这是一个系统,它拿到一个样本档案,针对相关市场要求进行分析,每次都自动生成可操作的反馈。

5、我学到了什么

你不必是开发者才能构建有用的AI工具。你需要的是一个问题、一个明确的目标和开始的决心。这就是让AI有意义的原因。

最难的部分不是代码。而是决定开始。

为自己构建东西很有趣。在两个小时内完成。

这对你的职业有帮助,特别是在科技领域——不要只是申请工作。构建工具。API很便宜。Python是免费的。你赚到的都是你自己的。


原文链接: Automating Repetitive Tasks with AI: Setting Up an Agentic Workflow with the Claude API

汇智网翻译整理,转载请标明出处