首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI浏览器执行全流程

AI浏览器执行全流程

原创
作者头像
程序员NEO
修改2025-04-18 13:59:47
修改2025-04-18 13:59:47
1562
举报

继续紧接着 AI浏览器自动化实战 的内容进行探讨。

本文主要介绍一下工作流程。

工作流程

现在,任务已经完成,让我带领大家来分析一下 Browser use 在后台执行的工作流程情况。

具体来说,就是分析其后台打印的日志内容。

在运行过程中,AI 将一个大型任务拆分成了多个细化步骤,下面我截取了几张图片供大家参考。

从日志截图中可以清晰看到标记了 📍 Step 1,📍 Step 2,📍 Step 3 等步骤。

通过对这些日志的分析,我发现每一步开始前,系统都会先评估上一步的执行结果(如日志中所显示的:✅ Eval: Success - Successfully navigated to Google's homepage as intended. 翻译过来就是 ✅ 评估:成功 - 按预期成功导航到 Google 主页。)。

确认上一步执行成功后,系统会思考当前步骤需要完成的任务。

这体现在日志中的 🤔 Thought 部分:

思考完成后,AI 会确定本次的目标并将其拆分为具体动作,例如日志中的第一个动作 🛠️ Action 1/2:

这个动作是输入 "程序员NEO"。

接着是第二个动作 🛠️ Action 2/2 "click_element" 点击搜索按钮:

这样一个完整步骤就结束了,然后系统会进入下一步,循环这个过程直到完成整个任务。

通过观察日志,我发现这些信息来自 src.agent.custom_agent 这个文件。

于是我在项目中找到了这个文件,并查看了 step 的核心代码。从代码中可以看出,步骤执行首先要调用 await self._run_planner()(规划器)

这部分是规划器的提示词。进入到 _run_planner 方法中,注意到 PlannerPrompt(self.controller.registry.get_prompt_description()).get_system_message() 这个方法用于获取提示词。

英文版:

代码语言:json
复制
You are a planning agent that helps break down tasks into smaller steps and reason about the current state.
Your role is to:
1. Analyze the current state and history
2. Evaluate progress towards the ultimate goal
3. Identify potential challenges or roadblocks
4. Suggest the next high-level steps to take

Inside your messages, there will be AI messages from different agents with different formats.

Your output format should be always a JSON object with the following fields:
{
    "state_analysis": "Brief analysis of the current state and what has been done so far",
    "progress_evaluation": "Evaluation of progress towards the ultimate goal (as percentage and description)",
    "challenges": "List any potential challenges or roadblocks",
    "next_steps": "List 2-3 concrete next steps to take",
    "reasoning": "Explain your reasoning for the suggested next steps"
}

Ignore the other AI messages output structures.

Keep your responses concise and focused on actionable insights.

中文版:

代码语言:json
复制
你是一位规划代理,负责将任务分解成更小的步骤,并推理当前状态。
你的职责是:
1. 分析当前状态和历史
2. 评估实现最终目标的进度
3. 识别潜在的挑战或障碍
4. 建议下一步的总体步骤

你的消息中会包含来自不同代理、格式各异的 AI 消息。

你的输出格式应始终为 JSON 对象,并包含以下字段:
{
"state_analysis": "对当前状态及迄今为止已完成工作的简要分析",
"progress_evaluation": "对实现最终目标的进度评估(以百分比和描述形式)",
"challenges": "列出任何潜在的挑战或障碍",
"next_steps": "列出 2-3 个具体的后续步骤",
"reasoning": "解释你建议的后续步骤的理由"
}

请忽略其他 AI 消息的输出结构。

请保持你的回复简洁明了,并专注于可操作的见解。

我已将提示词分享出来,大家也可以借鉴学习。

回到主题,执行完规划器后,系统会使用 get_next_action 将本次计划拆分成具体的动作:

然后获取模型的输出:

接着将动作传递给具体的执行器并执行,最后获取动作的结果:

这样,一个完整的步骤(step)就完成了。通过代码分析,我发现系统使用了 for 循环,不断调用 step 过程,直到整个任务完成。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工作流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档