File size: 3,085 Bytes
cb6eafc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 需求:优化工作流 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.  **增量性与事实性**: 工作流是逐步增加的,且每一步都明确对应到某一次对话交互中。