搜索自动化智能体建设的运行

发布时间:2026/8/11 4:33:07
搜索自动化智能体建设的运行 本文内容仅供校术原理讲解严禁用于未经投权的商业抓取。 手动筛选海量就业信息、反复修改自己的就业搜索要求、追踪进度等烦琐任务让大家应接不暇同时还容易遗漏优质机会。如果我们能够构建一个智能体来自动化这个过程将会怎样本文将从需求分析到系统实现从功能验证到效果评估探索智能体应用开发的完整过程。 这里将介绍一种强大的解决方案利用人工智能和浏览器自动化技术大幅简化你的搜索就业信息流程。我们将深入探讨一个基于browser-use库构建的Python脚本打造一个可自动搜索、分析、记录就业信息并辅助上传简历的智能体。这个智能体能够根据你的指令浏览网站、提取关键信息甚至与网页元素进行交互而这一切都由大语言模型驱动。主要目标如下自动化搜索和筛选数据分析相关职位。智能提取职位信息和技术要求。自动上传简历并填写申请表单。生成技术栈思维导图和求职分析报告。提高求职效率减少重复性工作。 技术框架 browser-use是本项目的核心组件它是一个专为智能体浏览器交互而设计的Python库。根据其GitHub页面的介绍该库通过集成大语言模型来实现智能化的网页操作。其核心特性如下。智能网页理解基于视觉和文本双重分析准确理解网页结构和内容语义。自然语言交互支持使用自然语言指令直接控制浏览器操作降低使用门槛。多模态感知融合视觉信息和文本内容实现更准确的页面元素识别和操作决策。动态适应性具备处理不同网站布局和交互模式的能力适应性强。智能容错内置异常处理和重试机制提高任务执行的稳定性和成功率。 除了核心的browser-use库该智能体还集成了以下主要组件。 LangChain:大语言模型集成框架负责对话管理和任务编排。 Google Gemini API:提供强大的自然语言理解和成能力。 PyPDF2:PDF文档处理库用于解析简历文件内容。 Pydantic:数据验证和序列化框架确保数据类型安全。 Playwright:底层浏览器控制引擎提供跨平台浏览器操作。 #组合所有指令 #注意原始脚本中的memory、action和reflection 是变量名 #这里改为更具描述性的名称 ground_task ( ground_task memory_instructions account_profile action_instructions reflection_instructions ) #大语言模型配置支持多种大语言模型API #可使用 ChatOpenAI, ChatAnthropic, ChatGoogleGenerativeAI等 #(脚本中已包含 Gemini 和OpenAI via GitHub的配置) _token_b64 [API_TOKEN_BASE64] token base64.b64decode(_token_b64).decode (utf-8) #使用Gemini Pro model ChatGoogleGenerativeAI( modelgemini-2.5-flash api_kevSecretStr(token) ) planner_LLM ChatGoogleGenerativeAI( modelgemini-2.5-pro, api_keySecretStr(token)) #或者使用OpenAI via GitHub #token_openai_github [GITHUB_PAT_TOKEN] #替换为你的 GitHub PAT #model ChatOpenAI( # base_urlhttps://*****/inference, # modelopenai/gpt-4o, # api_keySecretStr(token_openai_github), #) #planner_LLM ChatOpenAI( # base_urlhttps://******/inference, # modelopenai/gpt-4o, # api_keySecretStr(token_openai_github), # ) message_context ( f任务执行上下文信息:\n f1.总体目标分析10000个数据分析相关的职位描述\n f2.当前进度已完成{total_applications}个职位的分析\n f3.剩余任务还需分析{10000-total applications}个职位\n f4.完成度{(total_applications/10000)*100:.lf}%\n f5.重点关注杭州香港地区金融行业的合规、KYC、客服相关职位\n f6.技术栈重点数据分析、AI/ML、合规技术等相关技能\n f7.输出要求结构化数据收集为创建思维导图做准备\n ) while True: logger.info(开始运行数据分析助手...) browser Browser( configBrowserConfig( browser_binary_path( /Applications/Google Chrome.app/Contents/MacoS/GoogleChrome ), disable_securityTrue, headlessFalse, ) ) async with await browser.new_context () as context: try: agent Agent( taskground_task, message_contextmessage_context, LLMmodel, planner_LLMplanner_LLM, use_vision_for_plannerTrue, planner_interval4, controllercontroller, max_failures3, use_visionTrue, browser_contextcontext, save_conversation_pathlogs/find_apply_jobs, ) agent.state AgentState() history await agent.run() if history: logger.info(f访问的URL数量{len(history.urls())}) #其他日志 new_total_applications total_applications if os.path.exists (APPLICATION_STATS_FILE): try: with open( APPLICATION_STATS_FILE, r, encodingutf-8) as f: stats json.load(f) new_total_applications stats.get( total_applications, 0 ) except Exception as e: logger.error(f读取“申请/分析”统计文件时出错{e}) new_applications ( new_total_applications - total_applications ) logger.info( f本次运行新增了{new_applications}个职位分析 f当前总计{new_total_applications}/10000 ) await asyncio.sleep(1) logger.info(\n等待1秒后继续下一轮......) except Exception as e: logger.error(fagent 运行失败全部重置{str(e)}) await asyncio.sleep(1) continue await browser.close() if__name__ __main__: asyncio. run(main())此部分详细描述了如何构建和组合给大语言模型的指令以及智能体的初始化和主循环。 运行演示脚本与成果展示 确保满足这些前提条件仔细检查Python 版本、已安装的库、Playwright浏览器驱动程序、简历文件和应用程序接口密钥。 1.配置大语言模型 在脚本中确保所需的大语言模型配置已激活并且应用程序接口密钥已正确设置。 2.验证浏览器路径 验证 BrowserConfig 中的 browser_binary_path 指向本地的Chrome安装位置。 3.运行脚本 python your_script_name.py 一个浏览器窗口被打开因为headlessFalse),你将看到智能体开始浏览网站、输入搜索查询并根据提供的详尽提示提取就业信息。监控控制台输出和job_search.log 文件以了解进度和任何错误。 4.运行结果与成果展示预期 运行脚本后你可以期待以下成果。 自动生成的职位信息CSV文件包含职位名称、公司、薪资等详细信息。 结构化的技术元数据可用于生成思维导图。 详细的日志文件记录整个搜索和分析过程。 统计报告显示已分析的职位数量和进度。 可视化的浏览器操作过程便于调试和优化。