שימוש ב-Google Antigravity כדי לבצע טרנסקוד והעברה של נתונים

בדף הזה מוסבר איך אפשר להשתמש ביכולות אג'נטיות ב-Mainframe Connector כדי לבצע באופן אוטומטי המרת קידוד ומיגרציה של נתוני המיינפריים.

היתרונות העיקריים של שילוב עם סוכנים

‫Mainframe Connector תומך בממשק מבוסס-סוכן שאפשר להשתמש בו למודרניזציה של נתונים. אתם יכולים להשתמש בסוכנים בשילוב עם Mainframe Connector כדי לעדכן את נתוני המיינפריים הקיימים שלכם ב-Cloud Storage ובאופן מקומי. אפשר גם להשתמש בסביבות מבוססות-סוכנים כמו Google Antigravity כדי ליצור את ההגדרות של Mainframe Connector שנדרשות לקידוד מחדש ולהעברה של נתוני המיינפריים.

אוטומציה של קידוד טרנסקוד והעברת נתונים

כתיבת הגדרות טרנסקוד באופן ידני עלולה להיות מורכבת ולגרום לשגיאות בגלל חוסר התאמה בין מבני COBOL מדור קודם (כמו REDEFINES,‏ COMP-3 ו-PIC X) לבין מסדי נתונים מודרניים בענן (כמו BigQuery). המורכבות הזו מובילה לעיתים קרובות לשגיאות במיפוי של סוגי נתונים, ביישור בייטים ובתרגום של מספרים עשרוניים דחוסים.

כדי לפשט את התהליך הזה, Mainframe Connector תומך ביכולות של סוכנים – חבילה של כלים ממוקדים (נקודות קצה של API ו-CLI) וקובץ מיומנויות ייעודי – שנועדו לשימוש על ידי סוכנים מבוססי-LLM כמו Google Antigravity. השילוב הזה מאפשר לסוכן ליצור באופן אוטונומי קובצי תצורה של המרת קידוד, לבדוק אותם בקפדנות, לתקן את עצמו ולבדוק אותם. לאחר מכן, הסוכן יכול להשתמש בהגדרות שנוצרו כדי להעביר את הנתונים הקיימים מ-Cloud Storage או מאחסון מקומי ל-BigQuery או למסדי נתונים אחרים.

שימוש ביכולות אג'נטיות ב-Mainframe Connector מספק את היתרונות הבאים:

  • טיוטה אוטומטית: Google Antigravity יכול ליצור את ההגדרה הראשונית על סמך קובץ COBOL וכללים עסקיים שהוגדרו על ידי המשתמש.
  • לולאות מהירות של משוב: כלי אימות מובנים מאפשרים לסוכן לבדוק במהירות את ההגדרות ולתקן שגיאות בעצמו לפני עיבוד הנתונים.
  • בדיקה ברמת הבייט: הסוכן יכול לבדוק נתונים בינאריים גולמיים כדי לאבחן בעיות בהתאמה ובקידוד.
  • בדיקות דטרמיניסטיות: פקודות קלות משקל עם שרשור יחיד מספקות סביבת בדיקה אמינה לתהליך החשיבה של הסוכן.

לפני שמתחילים

  • כדי להשתמש ביכולות אג'נטיות, צריך להתקין את הגרסה העדכנית של Mainframe Connector. יכולות אג'נטיות זמינות החל מגרסה 5.20.
  • כדי להריץ את היכולות של הסוכן, צריך להתקין CLI או סביבה של סוכן, כמו Google Antigravity, באותה מכונה שבה התקנתם את Mainframe Connector.
  • מחלצים את קובץ המיומנויות של הסוכן לתיקיית המיומנויות בסביבה באמצעות הפקודה הבאה:

    java -jar mainframe-connector.jar agent skill-file --output-dir SKILLS_FOLDER_PATH
    

איך פועל שילוב מבוסס-סוכן

קובץ המיומנויות של Mainframe Connector מכיל את כל המידע הדרוש כדי לאפשר לסוכן ליצור, לאמת ולבדוק את ההגדרות של המרת קובץ copybook וקובצי נתונים של מחשב מרכזי. הוא מבצע הפשטה של פקודות ה-CLI הבסיסיות של Mainframe Connector ומספק ממשק פשוט לסוכן כדי לתקשר עם המוצר.

כשמנחים את הסוכן באמצעות קובץ המיומנויות, מאפשרים לו להריץ גרסאות של פקודות Mainframe Connector שעברו אופטימיזציה על ידי AI. אם מספקים את קובץ ה-copybook ונתונים לדוגמה, הסוכן יכול ליצור את קובץ ההגדרות של הקידוד מחדש ולאמת אותו מול נתונים אמיתיים. בהנחיה, חשוב לספק לסוכן את ההקשר ואת הכללים המיוחדים שצריך להחיל בתהליך הטרנסקודינג.

תהליך עבודה אג'נטי

תהליך העבודה של הסוכן מורכב מחמישה שלבים, שמאפשרים לסוכן להתקדם מהבקשה הראשונית של המשתמש להגדרה מתפקדת ומאומתת. אחרי שהמשתמש מזין את ההנחיה, הנציג יכול לבצע את השלבים הבאים באופן אוטונומי.

שלב תיאור
התחלת השיחה המשתמש מנחה את הסוכן ליצור קובץ הגדרות לשינוי קידוד. המשתמש יכול לספק קובץ COBOL copybook, כללי עסקים מותאמים אישית (למשל, 'הסרת כל שדות ה-FILLER') ונתוני EBCDIC לדוגמה (אופציונלי).
Drafting הסוכן קורא את ההפניה configuration-doc כדי להבין את כללי הפורמט, ואז יוצר את קובץ התצורה של הטיוטה.
אימות הסוכן מאמת את התחביר והמבנה של הטיוטה על ידי הרצת validate-configuration, תיקון שגיאות ואימות התוכנית המבנית.
בדיקה אם מסופקים נתוני דוגמה, הנציג בודק את ההגדרה על ידי הרצת simple-encode או simple-decode, ומשתמש ב-inspect-data כדי לוודא שהפלט תואם לציפיות.
סיום הסוכן יוצר את ה-DDL של היעד באמצעות generate-target-ddl ומציג למשתמש את התצורה ואת ה-DDL.

תרחישים לדוגמה

בדוגמאות הבאות אפשר לראות איך להשתמש ביכולות אג'נטיות כדי להמיר קידוד של הנתונים ולבצע מיגרציה שלהם.

דוגמה 1: יצירת סכימות נתונים ל-BigQuery באמצעות copybook

ההנחיה לדוגמה הבאה מראה איך להשתמש ביכולות אג'נטיות כדי לבצע טרנסקוד של הנתונים מ-copybook של מחשב מרכזי וליצור טבלה ב-BigQuery.

פרומפט לדוגמה

Your task is to produce a transcode configuration file and target DDL for a
mainframe dataset using the Mainframe Connector skill.

You are migrating a master file from a European subsidiary's mainframe into
BigQuery. Each record holds a customer name, a city, and a price.
The source is an EBCDIC extract from a German z/OS system; the system metadata
gives its CCSID as 1140.

The data is staged here in this directory:

- `copybook.cpy`: the COBOL layout.
- `input.dat`: the binary extract itself (CCSID 1140 - the German Euro-enabled
  EBCDIC code page).

Produce two artifacts here:

1. `config.json`: the transcode configuration that correctly decodes this file.
2. `schema.sql`: the BigQuery `CREATE TABLE` DDL for the destination.

דוגמה 2: העלאת הנתונים ל-BigQuery אחרי טרנסקוד

הפרומפט הבא מראה איך להשתמש ביכולות אג'נטיות כדי להעלות את הנתונים שעברו המרת קידוד מהדוגמה הקודמת ל-BigQuery.

פרומפט לדוגמה

Using the Mainframe Connector skill and the config.json and schema.sql files
you created before, migrate the data to BigQuery at
`table_name.dataset_name.project_id`.

דוגמה 3: פריסה במסד נתונים של PostgreSQL עם אמצעי בקרה על הפרטיות

בהנחיה הבאה מוצג איך להשתמש ביכולות אג'נטיות כדי לפרוס את הנתונים שעברו המרת קידוד מהדוגמה הקודמת ל-PostgreSQL, תוך הסרת פרטים אישיים מזהים (PII).

פרומפט לדוגמה

Using the Mainframe Connector skill, migrate the data to Cloud SQL for
PostgreSQL at `table_name.schema_name.host_name`.

Compliance constraint: `CUST-NAME` and `CITY` are classified as
personally identifying or residency restricted information. They must NOT
appear in the PostgreSQL CSV staging file, must NOT decode into a JSM
string at any point, and must NOT appear in the Postgres table DDL.
Only `PRICE-TEXT` should appear.

Deliverables in the current working directory:

1. `config-postgres.json`: a NEW transcode configuration (do not overwrite
the BigQuery config.json).
2. `schema-postgres.sql`: the PostgreSQL `CREATE TABLE` DDL for the
   destination.
3. `copy-postgres.sql`: the PostgreSQL `COPY FROM` command to load the
   data into the table.

חבילת פקודות עם סוכנים

הפקודות הבאות מיועדות לסוכני LLM.

agent configuration-doc

הפלט של מסמך ההגדרות של סוכני LLM מועבר אל stdout.

תקציר

agent configuration-doc [-h]

הגדרות flag וארגומנטים

הפקודה agent configuration-doc משתמשת בדגלים ובארגומנטים הבאים:

--help או -h
(אופציונלי) מציגים את הודעת העזרה הזו.

agent inspect-data

קורא רשומה לוגית יחידה שמתחילה בהיסט בייט ספציפי, ואז מדפיס את ה-hex dump שלה ואת הייצוג הטקסטואלי שלה.

תקציר

agent inspect-data [-h] [--byte-offset=BYTEOFFSET]
                          --input=INPUTPATH

הגדרות flag וארגומנטים

הפקודה agent inspect-data משתמשת בדגלים ובארגומנטים הבאים:

--byte-offset=BYTEOFFSET
(אופציונלי) מציינים את ההיסט המוחלט בבייטים בתוך הקובץ שממנו מתחילים לקרוא. ערך ברירת המחדל הוא 0.
--help או -h
(אופציונלי) הצגת הודעת העזרה הזו.
--input=INPUTPATH : DataPath
מציינים את נתיב נתוני הקלט.

agent simple-decode

מפענח כמה שורות של קובץ במחשב מרכזי ל-stdout לצורך ניפוי באגים של הסוכן.

תקציר

agent simple-decode [-h] [--byte-offset=BYTEOFFSET]
                           --copybook=COPYBOOKPATH
                           --input=INPUTPATH
                           [--limit=LIMIT]
                           [--output=OUTPUTPATH]
                           --transcode-configuration=CONFIGPATH

דגלים וארגומנטים

הפקודה agent simple-decode משתמשת בדגלים ובארגומנטים הבאים:

--byte-offset=BYTEOFFSET
(Optional) מציינים את ההיסט המוחלט בבייטים בקובץ הקלט שממנו מתחילים לקרוא. ערך ברירת המחדל הוא 0.
--copybook=COPYBOOKPATH : DataPath
מציינים את נתיב הנתונים של קובץ ההעתקה.
--help או -h
(אופציונלי) הצגת הודעת העזרה הזו.
--input=INPUTPATH : DataPath
מציינים את נתיב נתוני הקלט.
--limit=LIMIT
(אופציונלי) מציינים את המספר המקסימלי של רשומות לניסיון פענוח. רשומות שהוסרו על ידי record_filter_condition עדיין נכללות במגבלה הזו. ערך ברירת המחדל הוא 5.
--output=OUTPUTPATH : DataPath
(אופציונלי) מציינים את היעד של פלט ה-JSON המפוענח. אם לא מציינים ערך, ברירת המחדל היא stdout.
--transcode-configuration=CONFIGPATH : DataPath
מציינים את נתיב הנתונים של הגדרת המרת הקידוד. מידע נוסף על פורמט ההגדרה של המרת הקידוד זמין במאמר בנושא הגדרת המרת קידוד.

agent simple-encode

מקודד קובץ JSON בחזרה לנתונים בינאריים של EBCDIC במחשב מרכזי.

תקציר

agent simple-encode [-h] --copybook=COPYBOOKPATH
                           --input=INPUTPATH
                           --output=OUTPUTPATH
                           --transcode-configuration=CONFIGPATH

דגלים וארגומנטים

הפקודה agent simple-encode משתמשת בדגלים ובארגומנטים הבאים:

--copybook=COPYBOOKPATH : DataPath
מציינים את נתיב הנתונים של קובץ ההעתקה.
--help או -h
(אופציונלי) הצגת הודעת העזרה הזו.
--input=INPUTPATH : DataPath
מציינים את נתיב קלט נתוני ה-JSON.
--output=OUTPUTPATH : DataPath
מציינים את הנתיב של נתוני הפלט הבינאריים.
--transcode-configuration=CONFIGPATH : DataPath
מציינים את נתיב הנתונים של הגדרת הקידוד. מידע נוסף על פורמט ההגדרה של המרת הקידוד זמין במאמר בנושא הגדרת המרת קידוד.

agent validate-configuration

מאמת את ההגדרה של טרנסקודר מול ספריית העתקים וכללי מסד הנתונים.

תקציר

agent validate-configuration [-h] --copybook=COPYBOOKPATH
                                    --database=DATABASE
                                    --transcode-configuration=CONFIGPATH

דגלים וארגומנטים

הפקודה agent validate-configuration משתמשת בדגלים ובארגומנטים הבאים:

--copybook=COPYBOOKPATH : DataPath
מציינים את נתיב הנתונים של קובץ ההעתקה.
--database=DATABASE
מציינים את מסד הנתונים של היעד (לדוגמה, BIGQUERY,‏ POSTGRES,‏ MYSQL).
--help או -h
(אופציונלי) הצגת הודעת העזרה הזו.
--transcode-configuration=CONFIGPATH : DataPath
מציינים את נתיב הנתונים שמכיל את טיוטת ההגדרה של הקידוד מחדש. מידע נוסף על פורמט ההגדרה של המרת הקידוד זמין במאמר הגדרת המרת הקידוד.