View a markdown version of this page

Custom - AWS 轉換

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Custom

什麼是 AWS 轉換自訂?

AWS 轉換自訂使用代理式 AI 執行軟體、程式碼、程式庫和架構的大規模現代化,以減少技術負債。它處理各種案例,包括語言版本升級、API 和服務遷移、架構升級和遷移、程式碼重構,以及組織特定的轉換。

透過持續學習,代理程式會從每個執行和開發人員意見回饋中改進,提供高品質、可重複的轉換,而無需專業自動化專業知識。

關鍵功能

AWS 轉換自訂提供下列功能:

  • 自然語言驅動的轉換定義 - 使用自然語言、文件和程式碼範例建立自訂轉換

  • 轉換執行 - 在多個程式碼庫中一致且可靠地套用轉換

  • 持續學習 - 自動改善每次執行的轉換品質

  • AWS受管轉換 - 針對常見案例使用ready-to-use、經過 AWS審核的轉換

轉換模式

AWS 轉換自訂支援各種轉換模式,以滿足您的現代化需求。根據所需變更的範圍和性質,每個模式都有不同的複雜性特性。

模式 說明 複雜性 範例
API 和服務遷移 在 API 版本或同等服務之間遷移,同時維護功能 AWS SDK v1→v2 (Java、Python、JavaScript)、Boto2→Boto3、JUnit 4→5、javax→jakarta
語言版本升級 升級到相同程式設計語言的較新版本,採用新功能並取代已取代的功能 中低 Java 8→17、Python 3.9→3.13、Node.js 12→22、TypeScript 版本升級
架構升級 升級到相同架構的較新版本,解決重大變更 Spring Boot 2.x→3.x、React 17→18、角度升級、Django 升級
架構遷移 遷移至具有類似目的的完全不同架構 Angular→React、Redux→Zustand、Vue.js→React
程式庫和相依性升級 將第三方程式庫升級至較新版本,同時維護相同的語言和架構 中低 Pandas 1.x→2.x、NumPy 升級、Hadoop/HBase/Hive 程式庫升級、Lodash 升級
程式碼重構和模式現代化 現代化程式碼模式並採用最佳實務,而不變更外部功能 中低 Print→Logging 架構、字串串連→f-strings、類型提示採用、可觀測性檢測
指令碼和File-by-File轉譯 翻譯獨立指令碼或組態檔案,其中檔案大部分是獨立的 中低 AWS CDK→Terraform、Terraform→CloudFormation、Excel→Python 筆記本、Bash→PowerShell
架構遷移 以最少的程式碼變更在硬體架構或執行期環境之間遷移 中高 x86→AWS Graviton (ARM)、內部部署→Lambda、傳統伺服器→容器
Language-to-Language遷移 將程式碼庫從一種程式設計語言轉譯為另一種程式設計語言 非常高 Java→Python、JavaScript→TypeScript、C→Rust、Python→Go
自訂和組織特定的轉換 獨特的組織需求和專業現代化需求 各有不同 自訂內部程式庫遷移、組織特定的編碼標準、專屬架構遷移
注意

對於 COBOL/大型主機語言,請使用適用於大型主機的 AWS Transform。對於升級至 .NET Core 的 .NET Framework,請考慮 AWS Transform for Windows。對於 VMware 遷移到 AWS,請考慮 AWS Transform for VMware。

AWS 轉換自訂的運作方式

AWS 轉換自訂通常用於轉換多個程式碼庫或模組的大規模專案。團隊通常會遵循四階段工作流程:

定義轉換 - 提供自然語言提示、文件和程式碼範例給代理程式,以產生初始轉換定義。此定義可以透過聊天或直接編輯反覆改進。使用 AWS受管轉換時,可以略過此階段。

試行或Proof-of-Concept- 在範例程式碼庫上測試轉換,並根據結果進行精簡。此驗證階段有助於預估完整轉換的成本和工作量。在此階段中,持續學習可改善品質。

擴展執行 - 使用 CLI 設定自動大量執行,讓開發人員檢閱和驗證結果。使用 Web 應用程式監控進度,並追蹤跨多個儲存庫的轉換。

監控和檢閱 - 持續學習會自動改善轉換品質。檢閱從先前執行中擷取的教訓,以確保它們符合品質標準,並封存任何沒有用的內容。

了解 的核心概念

本節說明使用 AWS 轉換自訂的重要概念。

轉換定義

轉換定義包含執行特定程式碼轉換所需的指示和知識。它以技能表示,並由以下項目組成:

  • SKILL.md (必要) - Markdown 中包含核心轉換邏輯和執行指示的 YAML 前綴 (namedescription 欄位) 的指示

  • references/ 資料夾 (選用) - 在轉換執行期間視需要載入的文件

  • scripts/ 資料夾 (選用) - 轉換在執行期間下載和執行的指令碼

AWS 需要執行、檢查或修改時,轉換 CLI 會自動將轉換定義下載到目前的目錄。

重要

發佈轉換時,目錄必須僅包含 SKILL.md,也可以包含 references/ 資料夾、 scripts/ 資料夾或兩者。不允許其他檔案或子目錄。

注意

CLI 2.0 版和更新版本使用技能格式。CLI 會自動處理現有的轉換定義。

轉換登錄檔

轉換登錄檔是您 AWS 帳戶的集中式儲存庫,用於儲存和管理轉換定義。登錄檔中的轉換可以是:

  • 使用 列出 atx custom def list

  • 在多個程式碼庫中執行

  • 與您 AWS 帳戶中的其他使用者共用

  • 版本控制

重要

轉換定義是帳戶特定的。如果您想要在不同帳戶中使用轉換 AWS ,則必須在該帳戶中單獨發佈轉換。

草稿與發佈的轉換

AWS 轉換自訂支援登錄檔中轉換的兩種狀態:

草案轉換是進行中或未測試的轉換定義。它們會儲存為特定版本,並由參考該特定版本的使用者擷取、更新和執行。在轉換準備好與您的團隊共用之前,草稿對於反覆開發、測試和改進很有用。草稿也會與特定對話相關聯。如果您重新啟動 CLI,您可以使用 atx --conversation-id {id}還原先前的 CLI。

已發佈的轉換可在您帳戶的轉換登錄檔中使用,以供具有所需 IAM 許可的其他使用者執行。您可以使用 探索已發佈的轉換atx custom def list

典型的工作流程是:

  1. 在本機建立轉換

  2. 儲存為草稿以供測試 (atx custom def save-draft)

  3. 精簡和驗證

  4. 發佈以與您的團隊共用 (atx custom def publish)

您也可以直接發佈轉換,而無需將其儲存為草稿。

參考與課程

AWS 轉換自訂使用兩種類型的知識來改善轉換品質:

參考是使用者提供的文件,存放在轉換定義的 references/ 資料夾中。參考僅支援文字檔案 (所有檔案總計最多 10MB),通常包含文件、API 規格、遷移指南和程式碼範例。轉換執行期間會視需要載入參考。在互動式模式下建立或更新轉換定義時,您可以新增參考。

課程會自動從先前的轉換執行中擷取。持續學習系統會從轉換期間遇到的執行軌跡、開發人員意見回饋和程式碼修正產生它們。它會將相關課程分組為類別,以便您可以一起檢閱。與預先提供的參考不同,當您跨不同程式碼庫執行轉換時,課程會隨著時間累積,系統會自動套用它們來改善未來的執行。您可以使用 以互動方式檢閱和管理課程atx custom def learnings

組建和驗證命令

建或驗證命令是選用參數,指定如何在轉換過程中驗證您的程式碼。此命令會在轉換期間的不同時間點執行,以確保程式碼完整性。

提供命令來驗證結果,並在驗證失敗時傳回問題,對於透過持續學習改善轉換品質非常重要。如果不需要建置或驗證,請省略輸入中的 。

如需範例和詳細指引,請參閱工作流程區段中的建置和驗證命令。

持續學習

持續學習是一種系統,可自動擷取每個轉換執行的意見回饋,並隨著時間改善轉換品質。系統會透過下列方式收集資訊:

  • 明確意見回饋 - 互動式模式中提供的評論和程式碼修正

  • 隱含觀察 - 代理程式在轉換和偵錯程式碼時遇到的問題

持續學習系統會處理此資訊,以建立新增至轉換定義的課程,以改善未來的轉換。系統會在轉換完成後自動執行學習程序,您不需要額外的輸入。

重要

課程是轉換特定的,不會在不同轉換或不同的客戶帳戶之間共用。

管理課程

系統會自動產生課程,但您可以控制哪些課程適用於未來的執行。atx custom def learnings 命令會開啟互動式終端機工作階段,以檢閱和策劃轉換累積的教訓。

在此工作階段中,您可以:

  • 瀏覽分組為類別的課程,並查看每個類別包含多少個作用中課程。

  • 開啟一門課程來閱讀其完整詳細資訊,包括課程內文、其影響,以及之前查閱的執行次數。

  • 封存課程,以防止系統將其套用至未來的執行,並視需要稍後還原。

  • 永久刪除不再有用的封存課程。

如需逐步說明,請參閱 持續學習

用戶端技能

用戶端技能是在轉換執行期間擴展代理程式的其他功能。與定義要執行哪些轉換的轉換定義不同,用戶端技能提供代理程式可在任何轉換期間與其內建功能搭配使用的補充工具、指令碼和指示。

從專案層級和使用者層級目錄中探索用戶端技能。將技能放在專案層級,當它們強制執行特定於儲存庫的標準時,將技能放在使用者層級,當它們套用至您的所有專案時。只有在提供程式碼儲存庫路徑時,才能使用專案層級技能。如需詳細的組態和用量,請參閱 用戶端技能

自訂轉換命令簡介

以下是您可以搭配自訂轉換使用的幾個命令。命令的完整清單位於AWS 轉換自訂轉換命令參考中。

  • atx custom

    • 執行自訂轉換互動式體驗,允許建立、探索、執行和精簡轉換。

    • 這是 的預設命令atx

    • --trust-all-tools (-t) 是選用的,並隱含地允許代理程式提出所有請求的工具請求。請謹慎使用,尤其是在生產環境中。您可以使用信任設定檔案,為特定工具和命令設定工具信任

  • atx custom --help | atx custom -h

    • 顯示說明選單。

    • 每個命令也包含說明功能表,例如 atx custom def exec --help

  • atx --version | atx -v

    • 顯示版本。

    • 版本編號會隨每個版本而變更。

  • atx custom def list

    • 列印轉換登錄檔中可用的轉換清單。

  • atx custom def exec

    • 執行轉換

  • atx custom def learnings

    • 開啟互動式工作階段,以檢視和管理轉換從先前執行中學到的經驗教訓

  • atx mcp

    • 用來管理 MCP 伺服器組態