找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

662

积分

0

好友

80

主题
发表于 4 天前 | 查看: 12| 回复: 0

办公桌与求职规划场景

作为一名正在求职的中年开发者,地域和年龄的限制让我的选择范围相对固定。我需要频繁地查看心仪公司的招聘页面,这个过程既耗时又乏味,尤其是在需要同时跟踪多家公司职位动态的时候。虽然许多招聘平台都提供邮件订阅提醒,但这些提醒要么依赖于对已投简历的、不透明的 AI 匹配,要么只是简单的关键词筛选,让我对实际的匹配规则几乎没有掌控感。

为了解决这个痛点,我决定利用 AI Agent 来自动监控特定的招聘页面,并在出现符合我个人定义条件的新职位时通知我。本文将分享一个用于验证此想法的概念验证(PoC)。

在这个 PoC 中,我将展示如何使用 AI Agent 自动监控一家公司的招聘门户,专注于收集软件开发相关职位。这个 Agent 能够自动浏览网站、识别职位、提取结构化的职位信息,并将结果存储到 SQLite 数据库中,便于后续的查询与长期追踪。

PoC

职位数据来源

本次实验,我选择了一家其招聘页面基于 Eightfold AI 平台构建的公司。如果你的目标公司同样使用 Eightfold AI,那么这个 PoC 只需少量修改即可复用。

Eightfold AI 是一个人才智能平台,利用人工智能技术赋能招聘、员工留存及劳动力发展。它基于技能和经验将候选人与开放职位进行匹配,目前已被包括 Vodafone、Morgan Stanley 和 Chevron 在内的超过 100 家公司使用,业务覆盖 155 个以上国家和地区。

尽管 Eightfold AI 平台本身已提供基于 AI 的职位订阅功能,但我希望拥有对匹配逻辑和采集数据的更细粒度控制权,因此才着手构建这套自定义的解决方案。

Agent 设计

我选择在 VS Code Copilot Chat 环境中实现这个 PoC,并使用了以下工具和精心设计的提示词。

MCP 工具

  • 浏览器工具browsermcp:用于导航和操作招聘网站的页面。
  • SQLite 数据库工具genai-toolbox:用于持久化存储提取到的职位数据。

./vscode/mcp.json 配置文件如下:

{
  "servers": {
    "browsermcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@browsermcp/mcp@latest"
      ]
    },
    "sqlite": {
      "command": "~/genai-toolbox/toolbox",
      "args": [
        "--prebuilt",
        "sqlite",
        "--stdio"
      ],
      "env": {
        "SQLITE_DATABASE": "~/jobs/jobs.db"
      }
    }
  }
}

数据库 Schema

预先设计好的数据库表结构,用于规范存储数据,这也是实现 后端数据处理 流程的关键一步:

CREATE TABLE IF NOT EXISTS xyz_company_jobs (
    job_id TEXT PRIMARY KEY, -- 职位的唯一标识
    req_id TEXT,             -- 招聘需求 ID
    job_title TEXT,          -- 职位名称
    location TEXT,
    date_posted TEXT,        -- 格式:'YYYY-MM-DD'
    business_department TEXT,
    job_description_url TEXT,
    job_description TEXT     -- 职位描述的主要内容
);

Agent 提示词

以下是驱动 Agent 工作的核心提示词:

你是一个可以访问浏览器工具和 SQLite 数据库工具的 AI Agent。你的任务是从 XYZ_Company 的招聘网站中收集与软件开发相关的职位信息,并将提取到的数据存储到 SQLite 数据库中。当前浏览器中打开的页面是 XYZ_Company 的职位搜索门户。

数据库:
```sql
CREATE TABLE IF NOT EXISTS xyz_company_jobs (
    job_id TEXT PRIMARY KEY, -- 职位的唯一标识
    req_id TEXT,             -- 招聘需求 ID
    job_title TEXT,          -- 职位名称
    location TEXT,
    date_posted TEXT,        -- 格式:'YYYY-MM-DD'
    business_department TEXT,
    job_description_url TEXT,
    job_description TEXT     -- 职位描述的主要内容
)

规则:

  • 在调用一次 click() 操作后,必须等待 10 秒,确保页面完全加载,然后再调用 snapshot 捕获当前页面状态。
  • 在向 xyz_company_jobs 表插入新记录之前,需要检查 job_id 是否已经存在,以避免重复数据。
  • 在生成 INSERT SQL 语句时,确保对值中的单引号进行正确转义。
  • 不要收集或点击位于 document > main > group Similar Position 区域下的职位。

用户已经准备的环境:

  • 浏览器中已经打开了 XYZ_Company 的职位搜索门户。

你的安装过程:

  1. 如果 xyz_company_jobs 表不存在,则创建该表。在执行 SQL 时,需保留 SQL 代码块中的注释行。

执行过程:

  1. 每一个文本匹配 “$Job_Title$$time_since_publication$ 前发布” 模式的按钮都代表一个职位。通过 今天 - time_since_publication 计算 Date Posted
  2. 点击职位按钮以打开职位详情页面,该页面的 URL 即为 Job Description URL
  3. 从职位详情页面中提取:职位名称、工作地点、Job ID、业务部门(可选)、Req ID 以及职位描述的主要内容。
  4. 仅收集与软件开发相关的职位。
  5. 将每个收集到的职位插入 xyz_company_jobs 表,并基于 job_id 确保不产生重复记录。
  6. 如有需要,点击 更多职位 按钮以加载更多职位。
  7. 至少收集并存储 10 个职位。

运行

  1. 打开一个 Chrome 浏览器标签页,访问目标公司(XYZ)的招聘门户网站。在该标签页上激活 Browser MCP Chrome 扩展程序。
  2. 在 VS Code 中启动一个新的 Copilot Chat 会话,并使用上述 MCP 配置和提示词。

总结

通过上述配置,我成功实现了一个能够自动监控目标公司招聘页面的 AI Agent。它可以自主浏览招聘网站、识别新的软件开发职位、提取结构化的职位数据,并将其存储到本地的 SQLite 数据库中。这套方案为我后续的职位访问和长期跟踪提供了极大的便利,也让我对数据拥有完全的控制权。

后续工作

这个 PoC 还有很大的扩展空间,例如:

  • 引入更复杂的匹配逻辑,例如结合简历解析和基于语义的技能匹配。
  • 将收集到的职位信息导出为 RSS 源或邮件摘要,从而构建一个完全自托管的个性化职位提醒系统。
  • 添加即时通知机制(如桌面通知、Telegram Bot 消息等),在发现新的匹配职位时第一时间提醒我。

对于有类似需求的开发者,在 云栈社区 可以找到更多关于自动化工具和求职技巧的讨论。




上一篇:如何优化大流量电商APP订单列表?预请求、多实例架构与白屏治理实践
下一篇:中性策略近期表现不佳的成因分析与替代策略探讨
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 04:07 , Processed in 0.359275 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表