Entwicklerkonfiguration

Dieser Abschnitt enthält detaillierte Informationen zur Konfiguration des UFO-Agenten für Entwickler. Die Konfigurationsdatei config_dev.yaml befindet sich im Verzeichnis ufo/config und enthält verschiedene Einstellungen und Schalter, um den UFO-Agenten für Entwicklungszwecke anzupassen.

Systemkonfiguration

Die folgenden Parameter sind in der Systemkonfiguration des UFO-Agenten enthalten

Konfigurationsoption Beschreibung Typ Standardwert
CONTROL_BACKEND Die Liste der Backends für Steuerungsaktionen, derzeit werden uia, win32 und onmiparser unterstützt Liste ["uia"]
ACTION_SEQUENCE Ob mehrere Aktionen in einem einzigen Schritt ausgegeben werden sollen. Boolean False
MAX_STEP Die maximale Schrittbegrenzung für die Erfüllung der Benutzeranfrage in einer Sitzung. Integer 100
MAX_ROUND Die maximale Rundenbegrenzung für die Erfüllung der Benutzeranfrage in einer Sitzung. Integer 10
SLEEP_TIME Die Schlafzeit in Sekunden zwischen jedem Schritt, um auf das Fenster zu warten, bis es bereit ist. Integer 5
RECTANGLE_TIME Die Zeit in Sekunden für die Anzeige des Rechtecks um das ausgewählte Steuerelement. Integer 1
SAFE_GUARD Ob der Sicherheitswächter verwendet werden soll, um vor der Durchführung sensibler Operationen eine Benutzerbestätigung anzufordern. Boolean True
CONTROL_LIST Die Liste der Steuerelemente, die ausgewählt werden dürfen. Liste ["Button", "Edit", "TabItem", "Document", "ListItem", "MenuItem", "ScrollBar", "TreeItem", "Hyperlink", "ComboBox", "RadioButton", "DataItem"]
HISTORY_KEYS Die Schlüssel des Schrittverlaufs, die zur Blackboard für die Entscheidungsfindung des Agenten hinzugefügt werden. Liste ["Step", "Thought", "ControlText", "Subtask", "Action", "Comment", "Results", "UserConfirm"]
ANNOTATION_COLORS Die zugewiesenen Farben für verschiedene Steuerelementtypen zur Annotation. Dictionary {"Button": "#FFF68F", "Edit": "#A5F0B5", "TabItem": "#A5E7F0", "Document": "#FFD18A", "ListItem": "#D9C3FE", "MenuItem": "#E7FEC3", "ScrollBar": "#FEC3F8", "TreeItem": "#D6D6D6", "Hyperlink": "#91FFEB", "ComboBox": "#D8B6D4"}
ANNOTATION_FONT_SIZE Die Schriftgröße für die Annotation. Integer 22
PRINT_LOG Ob das Protokoll in der Konsole ausgegeben werden soll. Boolean False
CONCAT_SCREENSHOT Ob die Screenshots zu einem einzigen Bild für die LLM-Eingabe verkettet werden sollen. Boolean False
INCLUDE_LAST_SCREENSHOT Ob der Screenshot des letzten Schritts in die Beobachtung aufgenommen werden soll. Boolean True
LOG_LEVEL Die Protokollebene für den UFO-Agenten. String "DEBUG"
REQUEST_TIMEOUT Die Aufruf-Timeout-Zeit in Sekunden für das LLM-Modell. Integer 250
USE_APIS Ob die Verwendung von Anwendungs-APIs erlaubt sein soll. Boolean True
LOG_XML Ob die XML-Datei bei jedem Schritt protokolliert werden soll. Boolean False
SCREENSHOT_TO_MEMORY Ob der Screenshot auf die Blackboard zur Entscheidungsfindung des Agenten geladen werden soll. Boolean True
SAVE_UI_TREE Ob der UI-Baum im Protokoll gespeichert werden soll. Boolean False
SAVE_EXPERIENCE Ob die Erfahrung gespeichert werden soll, kann "always" für immer speichern, "always_not" für nie speichern, "ask" für Nachfrage beim Benutzer sein. Standardmäßig ist es "always_not" String "always_not"
TASK_STATUS Ob der Status der Aufgaben im Stapelausführungsmodus aufgezeichnet werden soll. Boolean True

Haupt-Prompt-Konfiguration

Haupt-Prompt-Vorlagen

Die Haupt-Prompt-Vorlagen umfassen die Prompts im UFO-Agenten sowohl für die system- als auch für die user-Rolle.

Konfigurationsoption Beschreibung Typ Standardwert
HOSTAGENT_PROMPT Die Haupt-Prompt-Vorlage für den HostAgent. String "ufo/prompts/share/base/host_agent.yaml"
APPAGENT_PROMPT Die Haupt-Prompt-Vorlage für den AppAgent. String "ufo/prompts/share/base/app_agent.yaml"
FOLLOWERAGENT_PROMPT Die Haupt-Prompt-Vorlage für den FollowerAgent. String "ufo/prompts/share/base/app_agent.yaml"
EVALUATION_PROMPT Die Prompt-Vorlage für die Evaluierung. String "ufo/prompts/evaluation/evaluate.yaml"

Lite-Versionen der Haupt-Prompt-Vorlagen finden Sie im Verzeichnis ufo/prompts/share/lite, um die Eingabegröße für bestimmte Token-Limits zu reduzieren.

Beispiel-Prompt-Vorlagen

Beispiel-Prompt-Vorlagen werden für Demonstrationszwecke im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
HOSTAGENT_EXAMPLE_PROMPT Die Beispiel-Prompt-Vorlage für den HostAgent, die zur Demonstration verwendet wird. String "ufo/prompts/examples/{mode}/host_agent_example.yaml"
APPAGENT_EXAMPLE_PROMPT Die Beispiel-Prompt-Vorlage für den AppAgent, die zur Demonstration verwendet wird. String "ufo/prompts/examples/{mode}/app_agent_example.yaml"

Lite-Versionen der Beispiel-Prompt-Vorlagen finden Sie im Verzeichnis ufo/prompts/examples/lite/{mode}, um die Eingabegröße für Demonstrationszwecke zu reduzieren.

Erfahrungs- und Demonstrationslernen

Diese Konfigurationsparameter werden für Erfahrung und Demonstrationslernen im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
EXPERIENCE_PROMPT Der Prompt für das eigene Lernerlebnis. String "ufo/prompts/experience/experience_summary.yaml"
EXPERIENCE_SAVED_PATH Der Pfad zum Speichern der Erfahrungslerndaten. String "vectordb/experience/"
DEMONSTRATION_PROMPT Der Prompt für das Benutzerdemonstrationslernen. String "ufo/prompts/demonstration/demonstration_summary.yaml"
DEMONSTRATION_SAVED_PATH Der Pfad zum Speichern der Demonstrationslerndaten. String "vectordb/demonstration/"

Anwendungs-API-Konfiguration

Diese Prompt-Konfigurationsparameter werden für die Anwendungs- und Steuerungs-APIs im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
API_PROMPT Der Prompt für die UI-Automatisierungs-API. String "ufo/prompts/share/base/api.yaml"
APP_API_PROMPT_ADDRESS Die Prompt-Adresse für die Anwendungs-API. Dict {"WINWORD.EXE": "ufo/prompts/apps/word/api.yaml", "EXCEL.EXE": "ufo/prompts/apps/excel/api.yaml", "msedge.exe": "ufo/prompts/apps/web/api.yaml", "chrome.exe": "ufo/prompts/apps/web/api.yaml"}

pywinauto Konfiguration

Die API-Konfigurationsparameter werden für die pywinauto-API im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
CLICK_API Die API, die für Klickaktionen verwendet wird, kann click_input oder click sein. String "click_input"
INPUT_TEXT_API Die API, die für die Texteingabeaktion verwendet wird, kann type_keys oder set_text sein. String "type_keys"
INPUT_TEXT_ENTER Ob Enter nach der Texteingabe gedrückt werden soll. Boolean False

Steuerungsfilterung

Die Konfigurationsparameter für die Steuerelementfilterung werden für die Steuerelementfilterung in der Beobachtung des Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
CONTROL_FILTER Der Steuerelementfiltertyp, kann TEXT, SEMANTIC oder ICON sein. Liste []
CONTROL_FILTER_TOP_K_PLAN Der Effekt des Steuerelementfilters auf die Top-K-Pläne des Agenten. Integer 2
CONTROL_FILTER_TOP_K_SEMANTIC Die Top-K-Werte für die semantische Ähnlichkeit des Steuerelementfilters. Integer 15
CONTROL_FILTER_TOP_K_ICON Die Top-K-Werte für die Ikone-Ähnlichkeit des Steuerelementfilters. Integer 15
CONTROL_FILTER_MODEL_SEMANTIC_NAME Der Modellname des Steuerelementfilters für semantische Ähnlichkeit. String "all-MiniLM-L6-v2"
CONTROL_FILTER_MODEL_ICON_NAME Der Modellname des Steuerelementfilters für Ikone-Ähnlichkeit. String "clip-ViT-B-32"

Anpassungen

Die Konfigurationsparameter für Anpassungen werden für Anpassungen im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
ASK_QUESTION Ob den Benutzer nach einer Frage gefragt werden soll. Boolean True
USE_CUSTOMIZATION Ob die Anpassung aktiviert werden soll. Boolean True
QA_PAIR_FILE Der Pfad für die historischen QA-Paare. String "customization/historical_qa.txt"
QA_PAIR_NUM Die Anzahl der QA-Paare für die Anpassung. Integer 20

Evaluierung

Die Konfigurationsparameter für die Evaluierung werden für die Evaluierung im UFO-Agenten verwendet.

Konfigurationsoption Beschreibung Typ Standardwert
EVA_SESSION Ob die Sitzung in die Evaluierung einbezogen werden soll. Boolean True
EVA_ROUND Ob die Runde in die Evaluierung einbezogen werden soll. Boolean False
EVA_ALL_SCREENSHOTS Ob alle Screenshots in die Evaluierung einbezogen werden sollen. Boolean True

Sie können die Konfigurationsparameter in der Datei config_dev.yaml an Ihre Entwicklungsbedürfnisse anpassen und die Funktionalität des UFO-Agenten erweitern.