> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 我做了个自动投简历的智能体
- URL: https://www.hubwiz.com/blog/i-built-an-ai-agent-that-automates-job-application/
- Published: 2026-05-08T11:36:00.000Z
- Updated: 2026-05-08T11:36:00.000Z
- Description: 是什么、为什么、怎么做——从零开始到完整可用系统的分步指南。
- Author: admin
- Tags: AGENT, #Import 2026-10-14 14:41

我尝试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](https://medium.com/becoming-for-better/automating-repetitive-tasks-with-ai-setting-up-an-agentic-workflow-with-the-claude-api-f25cdd44a2ea?ref=hubwiz.com)

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