1730908011
2024-11-06 12:00:00
Mantle が LLM を使用してプロトタイプ プロジェクトを本番環境に変換する方法。
今年初め、マントル氏は共通の課題に直面した。
次世代の株式管理プラットフォームは新製品のプロトタイプを完成し、製品化の準備を整える必要がありました。
「私たちは、作業範囲を 3 分の 2 に削減し、数か月の開発時間を節約するアプローチを開発しました。」
Mantle 社 CTO、ドウェイン・フォード氏
彼らは、顧客からのフィードバックに応じて迅速にやり取りするのに最適な特定のコーディング言語でプロトタイプを構築しました。
問題は、それが運用技術スタックで使用されているコードと異なっていたことです。
製品を出荷するには、Mantle 氏はコードベースをある言語から別の言語に変換する必要がありますが、これはソフトウェア チームや企業が定期的に直面する面倒な作業です。
Mantle の共同創設者兼最高技術責任者 (CTO) のドウェイン・フォード氏は、「取り組みは正当だが、そのプロセスは苦痛を伴うものである」と述べた。 「顧客向けのロードマップを前進させる代わりに、貴重なエンジニアリング時間のかなりの部分を既存の機能の再作成に費やすことになります。」
フォルデ氏は、AI が役立つのではないかと考えました。
VMware や Xtreme Labs などの企業で 20 年以上のエンジニアリング経験を持つ信頼できる業界リーダーである彼は、最近 Mantle のブログ投稿「AI の使用: コード変換」でそのプロセスを記録しました。
同氏は、このケーススタディが他の技術チームにとって有益なリソースとなり、時間と労力の節約に役立つことを望んでいます。
これは、Forde が技術チーム向けに書いた一連の指導ガイドの 2 番目です。 [Read about “Part One: How to Tame Your LLM”] これは、AI がどのように業務を加速および強化できるかを示すことで、セクター全体の利益を促進する取り組みの一環として行われます。
「私たちの目標は、100% 完璧に作成されたコードを達成することではありませんでした」と Forde 氏は述べています。 「目標は、定型文と反復パターンの 80% を排除して、エンジニアが価値の高い検証と検証に集中できるようにして、製品を出荷できるようにすることでした。」
能力開発
少し前までは、LLM (Large Language Model) でコードを書き直すことはできませんでした。
各 LLM にはトークン制限があり、それによって吸収および適用できる単語の数が決まります。
トークン制限が低いと、モデルはコード変換などの複雑なタスクを実行するために必要な情報量を吸収できなくなります。
しかし、LLM ソフトウェアの急速な進歩により、トークンの制限がより高くなり、Forde 氏は、チームの目の前にエキサイティングな新しいオプションがあることに気づきました。制限が高くなると、モデルの推論が強化され、より複雑な計算と推論が実行され、劇的に大きなサイズでコンテキストの入出力が可能になることを意味します。
Medium によると、100 万トークンということは、モデルが 20 冊の小説または 1000 件の訴訟準備書を読むのと同等のことを実行できることを意味します。
Forde 氏と彼のチームは、この劇的に大きなトークン制限により、コーディング言語全体を LLM に入力し、本質的に LLM をバイリンガルにすることが可能になることを理解していました。
コードの変換は非常に労働集約的であるため、マントル氏は、LLM に少量のコードでもある言語から別の言語に変換してもらうことが、エンジニアリング プロジェクトの納期に非常に有益であることを認識していました。
「私たちは作業範囲を 3 分の 2 に削減し、開発時間を数か月節約するアプローチを開発しました」と Forde 氏は投稿の中で書いています。
見せてはいけない
Mantle プロトタイプ プロジェクトを新しいコード言語に変換するには、通常は数か月かかる手作業が必要でした。
その代わりに、Forde 氏は、エンジニアたちが、LLM に多くの作業を実行させる最善の方法を実験することに時間を集中したと述べました。
コード言語を LLM に入力して翻訳を依頼するだけでは済みませんでした。
Forde 氏の監視の下、Mantle チームは革新と発見のプロセスを経て、作業において LLM を提供するための最適な指示、コンテキスト、ガイダンスを見つけ出しました。
彼らは、プロトタイプのソース言語からのモデル コード スニペット、既存の実稼働コード パターン、ターゲット アーキテクチャの説明を入力し、Mantle 自身の技術スタックで使用される特定のライブラリとユーティリティに関するコンテキストを LLM に提供しました。
「私たちは好みのライブラリをいくつか持っているので、コンテキストのセクションを追加することは、LLM 出力コードが私たちが使用しているものと互換性があることを確認するのに非常に役立ちました」と Forde 氏は言いました。
チームは、コード言語だけでは AI にとって明らかではない情報の表示方法を示すために、LLM のスクリーンショットも提供しました。
「既存のアプリケーションのスクリーンショットにより、LLM はアプリケーションの視覚的なレイアウトを得ることができます」と Forde 氏は言います。 「あなたが提供するコンテキストと方向性は、すべて口頭で伝える必要はありません。視覚的な参照点を使用して、目的の出力を取得することもできます。」
時間を賢く使いましょう
Forde 氏はブログ投稿の中で、Mantle 氏がコードを変換するために使用した段階的なプロセスを詳しく説明しています。このプロセスは革新的で反復的であり、時には遊び心もあります。
ある時点で、マントルチームはLLMに対し、「ソースコードでしか答えられないソフトウェアエンジニアのように行動する」よう指示した。
Mantle チームは、一度にコードの小さなセクションだけを変換するよう LLM に依頼し、その動作を確認し、誤解があれば修正してから次に進みました。
段階的な実験により、Mantle チームは時間をかけて作業を改良、改善し、将来のプロジェクトで再現できる効果的なプロセスを作成することができました。
「ファイルが生成されると、私たちのチームは出力を手動で確認して調整するか、出力を再作成するためにプロンプトを調整しました」と Forde 氏は述べています。 「パターンが複雑化し増殖する前に、早い段階でそれを捉えることが重要です。」
Mantle にとって、コード変換作業は、チーム メンバーの時間と労力を有効に活用しながら、複雑なソフトウェア開発プロセスを合理化し、最適化する革新的なものでした。
フォルデ氏は、同氏がこのプロセスに関して公開した技術ガイドによって、他のテクノロジー企業の時間と労力が節約されることを期待している。
「トークンウィンドウが拡大し続け、モデルがコードの理解と生成にさらに熟達するにつれ、コード変換の速度と品質は引き続き向上するだろう」と同氏は述べた。 「これは間違いなく、よりコスト効率の高いソフトウェア開発につながり、エコシステム全体に利益をもたらすでしょう。」
提供者

AI を使用してプロトタイプ コードベースを変換する方法の詳細については、こちらの Forde のブログ投稿をお読みください。
フィーチャー画像提供: Unsplash。写真提供:シグムンド。
#AIによる暗号解読