Spaces:
Running
Running
| # 需求:优化工作流 Agent 的提示词并进行自主循环测试 | |
| **重要性:** 高 (High) | |
| ## 1. 目标 | |
| 优化“工作流”标签页中主、副 Agent 的 System Prompt,使其行为更符合设计要求,并能通过一个指定的、由我(Gemini)自主执行的自动化测试场景。 | |
| ## 2. Prompt 优化需求 | |
| ### 2.1 主 Agent (Main Agent) | |
| - **角色**: 一个冷静、有条理的助手。 | |
| - **行为**: 专注于通过提问来逐步分解和解决用户的当前任务,保持中立和专业的语气,不偏离目标。 | |
| ### 2.2 副 Agent (Sub-Agent) | |
| - **输出格式**: 必须是一种类似“伪代码”的、描述交互过程的 Markdown 列表。 | |
| - **核心焦点**: 必须聚焦于 **“如何”** 完成任务(即交互的元过程),而不是 **“什么”** 被完成(即任务的具体内容)。 | |
| - **正面例子**: `- agent: 向用户确认交通工具和目的地。` | |
| - **反面例子**: `- agent: 确认了用户想坐车去北京。` | |
| - **增量生成**: 工作流的生成必须是增量的。随着对话的进行,在现有列表上追加新步骤,而不是对已有步骤进行大幅修改或重写。 | |
| - **事实接地**: 必须严格基于主 Agent 与用户的对话历史来提取工作流,禁止自行“脑补”或创造不存在的步骤。 | |
| ## 3. 自主验证流程 | |
| 我(Gemini)将扮演用户,并自主、循环地执行以下自动化测试,直到结果稳定满足要求。 | |
| ### 3.1 测试场景 | |
| - **主题**: 规划一次到杭州的旅行。 | |
| - **用户需求模拟**: 我将模拟用户,在对话中逐步提出以下要求: | |
| 1. 要去特定的景点(例如:西湖、灵隐寺)。 | |
| 2. 要选择合理的交通工具(例如:高铁、飞机)。 | |
| 3. 要确定旅行天数、每日的起床和返回酒店时间。 | |
| 4. 在最后,希望能得到一个预估的总预算。 | |
| ### 3.2 自动化测试方案 | |
| 1. **环境重置**: 确保一个干净的测试环境(终止旧进程、重启应用)。 | |
| 2. **导航**: 导航至“工作流”标签页。 | |
| 3. **模拟对话**: 我将通过 `fill` 和 `click` 工具,模拟上述用户需求,与主 Agent 进行至少 4-5 轮对话。 | |
| 4. **结果断言**: 在每次对话后,我会捕获快照,并对副 Agent 的输出进行评估。 | |
| 5. **循环与提交**: | |
| - **为每次测试运行创建一个 Commit**: Commit message 将清晰地记录本次测试的结果(例如 `test(workflow): Iteration 1 failed, workflow is not abstract` 或 `test(workflow): Iteration 2 success, abstraction level is good`)。 | |
| - **自我修正**: 如果断言失败,我将返回代码修改步骤,调整 Prompts,然后开始新一一轮的测试。 | |
| ### 3.3 成功标准 | |
| 1. **可提取性**: 工作流能够被成功提取并显示出来。 | |
| 2. **抽象性与通用性**: 提取出的工作流步骤足够通用和抽象,描述的是交互“动作”,而不是具体“数值”。 | |
| 3. **增量性与事实性**: 工作流是逐步增加的,且每一步都明确对应到某一次对话交互中。 | |