AI コマンドのガイド

OpenAI の ChatGPT などの大規模言語モデルは、AI を使用してコードを生成するための強力なソリューションを提供します。ChatGPT は、Java コードだけでなく、Spring オープンソースエコシステム内のさまざまなプロジェクトでもトレーニングされています。これにより、Spring CLI は、従来のチュートリアルでは提供できない特定のユースケースに合わせた機能でアプリケーションを強化できます。

簡単なコマンドを使用して、目的の機能を記述することができます。ChatGPT は、ゴールを達成するための段階的な指示を提供する包括的な README.md ファイルを生成します。これは、プロジェクトのニーズに合わせてカスタマイズされたチュートリアルを作成するようなものです。

CLI は、生成された命令をコードベースに自動的に適用することもできます。

開始するには、次のコマンドを使用します。

spring ai add <Describe what functionality you want to add here> --preview

生成されたソリューションを改善するには、多くの場合、説明の変更を繰り返す必要があります。spring ai add コマンドの --preview オプションを使用すると、プロジェクトを変更せずに README.md ファイルが生成されるため、提案された変更を確認できます。

生成された README.md ファイルに満足したら、次のコマンドを使用してそれをコードベースに適用できます。

spring guide apply <Name of the guide markdown file>

さらなる改善と精度を得るには、--rewrite オプションを使用して ChatGPT を取得して説明を書き換えることができます。

spring ai add <Description of functionality> --preview --rewrite

このページの残りの部分にある詳細なドキュメントでは、各コマンドに関する包括的な情報が提供されます。

AI テクノロジーの可能性を探求し続けるにつれて、Spring プロジェクトの特定のバージョンに対応できるように結果をさらに改善する予定です。

サンプル

次の例を考えてみましょう。

spring ai add "JPA functionality with an integration test. Include all Java code in the same package." --preview

ここでは、前のコマンドを使用して作成された README-ai-jpa.md [GitHub] (英語) ファイルを示します。

前提条件

AI コマンドを使用する前に、OpenAI からの開発者トークンがあることを確認してください。

これを行うには、OpenAI サインアップ (英語) でアカウントを作成し、API キー (英語) でトークンを生成します。秘密鍵をホームディレクトリの .openai という名前のファイル (通常は ~/.openai) に保存します。

ファイルには次の内容が含まれている必要があります。

OPEN_AI_API_KEY=<paste your key here>

ai の追加を使用する

ai add コマンドを使用すると、OpenAI の ChatGPT を使用して生成されたコードをプロジェクトに追加できます。

これを行うには、--description オプションを使用して追加するコードの簡単な説明を提供すると、コマンドによって OpenAI の API にリクエストが送信されます。

デフォルトでは、このコマンドはコードベースを変更します。

次のリストに例を示します。

spring ai add "JPA functionality"

このコマンドは、README-ai-jpa.md [GitHub] (英語) というファイルを作成し、そのファイルに記載されている変更をプロジェクトに適用します。

コードの生成には 3 ~ 4 分かかる場合があります。

レスポンスのプレビュー

--preview オプションを使用すると、プロジェクトに変更を加えずに README-ai-jpa.md ファイルが生成されます。これにより、ファイルを確認して、許容可能な解決策が提供されるかどうかを評価できます。

spring ai add "JPA functionality" --preview

このコマンドは、README-ai-jpa.md [GitHub] (英語) というファイルを作成します。プロジェクトは変更されませんが、コンテンツをレビューして、特定の要件に適合するかどうかを判断する機会が提供されることに注意してください。

生成された命令がニーズを満たしている場合は、spring guide apply README-ai-jpa.md コマンドを使用して変更をコードベースに適用できます。

望ましい結果になるまで繰り返す

前の手順で作成した README-ai-jpa.md [GitHub] (英語) というファイルを調べると、テストが含まれていないことがわかります。ベストプラクティスとしてテストを含めることを常に推奨するため、提供される説明を更新する必要があります。

これは、ai add コマンドを使用するときに発生する一般的なやりとりです。

例: 前のケースでは、作成されたコードに統合テストがありませんでした。次の説明を指定してコマンドを実行すると、望ましい結果が得られました。

spring ai add "JPA functionality with an integration test. Include all Java code in the same package." --preview

以下は、前のコマンドを使用して作成された README-ai-jpa.md [GitHub] (英語) ファイルです。

プロジェクトの説明を自動的に書き換える

AI モデルからより良い結果を得るために、AI モデルにプロジェクトの説明を書き換えさせるオプションがあります。場合によっては、開発者が最適な結果を生成しない可能性のある省略表現または簡潔なスタイルで説明を作成することがあります。--rewrite オプションを使用すると、AI モデルに説明を書き直すように依頼できるため、意図がより明確になり、生成されるコードが改善されます。

次の例を考えてみましょう。

spring ai add "JPA functionality" --preview --rewrite

The description has been rewritten to be: Please provide instructions for creating a Spring Java application that utilizes JPA functionality.

Generating code.  This will take a few minutes ...

以下は、前のコマンドを使用して作成された README-ai-jpa.md [GitHub] (英語) ファイルです。

README の適用

生成された README ファイルに満足したら、次のコマンドを使用して、ファイルに記述されている変更をコードベースに適用します。

spring guide apply README-ai-jpa.md