From 3d2b164ea873b744b7426767b6836c220b41983c Mon Sep 17 00:00:00 2001 From: LawyZheng Date: Thu, 11 Sep 2025 23:56:28 +0800 Subject: [PATCH] add back error code description in the main prompt (#3410) --- skyvern/forge/agent.py | 1 + skyvern/forge/prompts/skyvern/decisive-criterion-validate.j2 | 5 +++++ skyvern/forge/prompts/skyvern/extract-action.j2 | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/skyvern/forge/agent.py b/skyvern/forge/agent.py index bddfc30c..9e7732c8 100644 --- a/skyvern/forge/agent.py +++ b/skyvern/forge/agent.py @@ -2062,6 +2062,7 @@ class ForgeAgent: current_url=current_url, data_extraction_goal=task.data_extraction_goal, action_history=actions_and_results_str, + error_code_mapping_str=(json.dumps(task.error_code_mapping) if task.error_code_mapping else None), local_datetime=datetime.now(context.tz_info).isoformat(), verification_code_check=verification_code_check, complete_criterion=task.complete_criterion.strip() if task.complete_criterion else None, diff --git a/skyvern/forge/prompts/skyvern/decisive-criterion-validate.j2 b/skyvern/forge/prompts/skyvern/decisive-criterion-validate.j2 index 106a2ec0..026903eb 100644 --- a/skyvern/forge/prompts/skyvern/decisive-criterion-validate.j2 +++ b/skyvern/forge/prompts/skyvern/decisive-criterion-validate.j2 @@ -30,6 +30,11 @@ Terminate Criterion: ``` {{ terminate_criterion }} ```{% endif %} +{% if error_code_mapping_str %} +Use the error codes and their descriptions to surface user-defined errors. Do not return any error that's not defined by the user. User defined errors: +``` +{{ error_code_mapping_str }} +```{% endif %} User details: ``` diff --git a/skyvern/forge/prompts/skyvern/extract-action.j2 b/skyvern/forge/prompts/skyvern/extract-action.j2 index c5298d4d..5cd4066a 100644 --- a/skyvern/forge/prompts/skyvern/extract-action.j2 +++ b/skyvern/forge/prompts/skyvern/extract-action.j2 @@ -49,6 +49,11 @@ User goal: ``` {{ navigation_goal }} ``` +{% if error_code_mapping_str %} +Use the error codes and their descriptions to surface user-defined errors. Do not return any error that's not defined by the user. User defined errors: +``` +{{ error_code_mapping_str }} +```{% endif %} {% if data_extraction_goal %} User Data Extraction Goal: ```