ホームページ  >  記事  >  AI の使用: コード変換

AI の使用: コード変換

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-06 21:12:17603ブラウズ

少し前までは、LLM (大規模言語モデル) でコードを書き直すことは不可能でした。各 LLM にはトークン制限があり、それによって吸収および適用できる単語の数が決まります。トークン制限が低いと、モデルはコード変換などの複雑なタスクの実行に必要な情報量を吸収できなくなります。

AI の使用: コード変換

ソフトウェア開発会社 Mantle は最近、共通の課題に直面しました。顧客からのフィードバックに応じて迅速にやり取りするのに最適な、特定のコーディング言語で次世代の株式管理プラットフォームのプロトタイプを構築していました。

しかし、製品技術スタックで使用されているコードは異なっており、製品を出荷するには、Mantle はコードベースをある言語から別の言語に変換する必要がありました。これは、ソフトウェア チームや企業が定期的に直面する、悪名高い厄介なタスクです。

「その努力は正当だが、その過程は苦痛を伴うものだ」と Mantle の共同創設者兼 CTO であるドウェイン・フォード氏は語った。 「顧客向けのロードマップを前進させる代わりに、貴重なエンジニアリング時間のかなりの部分を既存の機能の再作成に費やすことになります。」

AI が役に立つのではないかと考え、VMware や Xtreme Labs などの企業で 20 年以上のエンジニアリング経験を持つ信頼できる業界リーダーである Forde 氏は、最近 Mantle のブログ投稿「AI の活用: コード」でそのプロセスを記録しました。変換。」

彼は、このケーススタディが他の技術チームにとって有益なリソースとして機能し、時間と労力の節約に役立つことを望んでいます。

これは、AI がどのように作業を加速および強化できるかを示すことで、この分野の共同利益を推進する取り組みの一環として、Forde が技術チーム向けに執筆した一連の指導ガイドの 2 番目です。

「私たちの目標は、100% 完璧に作成されたコードを達成することではありませんでした」と Forde 氏は述べています。 「目標は、定型文と反復パターンの 80% を排除して、エンジニアが価値の高い検証と検証に集中できるようにして、製品を出荷できるようにすることでした。」

少し前までは、LLM (大規模言語モデル) でコードを書き直すことは不可能でした。各 LLM にはトークン制限があり、それによって吸収および適用できる単語の数が決まります。トークン制限が低いと、モデルはコード変換などの複雑なタスクを実行するために必要な情報量を吸収できなくなります。

しかし、LLM ソフトウェアの急速な進歩により、トークンの制限がより高くなり、Forde 氏は、チームの目の前にエキサイティングな新しいオプションがあることに気づきました。制限が高いということは、モデルが推論を強化し、より複雑な計算と推論を実行し、劇的に大きなサイズでコンテキストを入出力できることを意味します。

Medium によると、100 万トークンということは、モデルが小説 20 冊または訴訟準備書 1,000 冊を読むのと同等のことができることを意味します。

Forde 氏と彼のチームは、この劇的に大きなトークン制限により、コーディング言語全体を LLM に入力し、本質的にバイリンガルになるように教えることができることを理解していました。

コードの変換は非常に労力を要するため、LLM に少量のコードでもある言語から別の言語に変換してもらうことが、エンジニアリング プロジェクトの納期に非常に有益であることを Mantle 氏は認識していました。

「私たちは、作業範囲を 3 分の 2 に削減し、数か月の開発時間を節約するアプローチを開発しました」と Forde 氏は投稿で書いています。

Mantle プロトタイプ プロジェクトを新しいコード言語に変換するには、通常は数か月かかる手作業が必要です。

代わりに、Forde 氏は、エンジニアが LLM に作業の多くを実行させる最善の方法を実験することに時間を集中したと述べました。

コード言語を LLM に入力して翻訳を依頼するだけではありません。

Forde 氏の監視の下、Mantle チームは革新と発見のプロセスを経て、作業において LLM を提供するための最適な指示、コンテキスト、ガイダンスを見つけ出しました。

彼らは、プロトタイプのソース言語からモデル コード スニペット、既存の実稼働コード パターン、ターゲット アーキテクチャの説明を入力し、Mantle 自身の技術スタックで使用される特定のライブラリとユーティリティに関するコンテキストを LLM に提供しました。

「私たちが好む特定のライブラリがあるため、コンテキストのセクションを追加することは、LLM 出力コードが私たちが使用しているものと互換性があることを確認するのに非常に役立ちました。」と Forde 氏は言いました。

チームは、コード言語だけでは AI には明らかではない情報の表示方法を示すために、LLM のスクリーンショットも提供しました。

「既存のアプリケーションのスクリーンショットは、LLM にアプリケーションの視覚的なレイアウトを提供します」と Forde 氏は言います。 「あなたが提供するコンテキストと方向性は、すべて口頭で伝える必要はありません。視覚的な参照ポイントを使用して、目的の出力を取得することもできます。」

Forde 氏はブログ投稿の中で、Mantle 氏がコードを変換するために使用した段階的なプロセスを詳しく説明しています。このプロセスは革新的で反復的であり、時には遊び心もあります。

ある時点で、Mantle チームは LLM に対し、「ソース コードでしか答えられないソフトウェア エンジニアのように行動する」よう指示しました。

Mantle チームは、一度にコードの小さなセクションだけを変換するよう LLM に依頼し、その動作を確認し、誤解があれば修正してから次に進みました。

段階的な実験により、Mantle チームは時間をかけて作業を改良、改善し、将来のプロジェクトで再現できる効果的なプロセスを作成することができました。

「ファイルが生成されると、私たちのチームは出力を手動で確認して調整するか、

以上がAI の使用: コード変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。