生成AIの登場でエンジニアの仕事は大きく変化しています。既に多くのエンジニアがプログラムを書く際やコードリーディングにChatGPTやGitHub Copilotを使用しているのではないでしょうか。
そこでこの記事では、実際にグラファーのエンジニアが活用しているプロンプトをご紹介します。エンジニア以外の方についてはエンジニアの活用領域について知る参考に、エンジニアの方についてはもしまだ活用できていない領域があれば発見するきっかけにしていただければと思います。
※当記事作成時点(2023年10月)の見解であり、今後アップデートが発生する場合があります。
グラファーでは「生成AIを企業でどう使えばいいか分からない」「生成AIによる成果が出ない」といった課題に対し伴走型の支援や研修、プロダクト開発を通じて一気通貫で支援します。生成AI活用でお困りの方はお気軽にご相談ください。
ご相談はこちらから:https://graffer.jp/ai-solution/contact
目次
- 今回お届けするのはエンジニアの生成AI活用
- Case 1. 実装方針の壁打ち
- 壁打ちに使うプロンプトの例
- Case 2. 変数名のアイディア出し
- 変数名のアイデア出しに使うプロンプトの例
- Case 3. 簡単なコーディング
- 変数名のアイデア出しに使うプロンプトの例
- Case 4. ソースコードの翻訳(GitHub Copilot)
- Case 5. アルゴリズムの実装補助(GitHub Copilot)
今回お届けするのはエンジニアの生成AI活用
生成AIの登場でエンジニアの仕事は大きく変化しています。既に多くのエンジニアがプログラムを書く際やコードリーディングにChatGPTやGitHub Copilotを使用しているのではないでしょうか。そこでこの記事では、実際にグラファーのエンジニアが活用しているプロンプトをご紹介します。エンジニア以外の方についてはエンジニアの活用領域について知る参考に、エンジニアの方についてはもしまだ活用できていない領域があれば発見するきっかけにしていただければと思います。
Case 1. 実装方針の壁打ち
アーキテクチャを検討する時の壁打ち相手に生成AIを活用します。
壁打ちに使うプロンプトの例
I want you to act as a professional application architect. I will provide some concerns during building a web application, and it will be your job to give some possible solutions based on best practices and your experience. Please make reply in Japanese.
○○○○において、○○○○のような実装を考えています。どのように実装すれば良いでしょうか。Case 2. 変数名のアイディア出し
コーディングの際、プログラム上の変数名(物理名)とその説明(論理名)に悩むことが多いので、そのアイディア出しに生成AIを活用しています。出された案にしっくり来ない場合には、マルチターン(※)でやりとりをしながら調整していきます。その際には、「○○○はどうですか?」などのプロンプトで、自身の頭の中にある案とすりあわせを行っていきます。
(※)マルチターンは、追加で質問することです。
変数名のアイデア出しに使うプロンプトの例
I want you to act as a professional application architect. I will provide some concerns during building a web application, and it will be your job to give some possible solutions based on best practices and your experience. Please make reply in Japanese.
以下の要件を満たす設定の論理名と物理名の候補をそれぞれのpros/consと合わせて複数列挙してください。
前提
- ○○○○
要件
- ○○○○Case 3. 簡単なコーディング
「○○をpythonで書いて」のようなプロンプトで、簡単なコーディングを行います。こちらは使っている方が多いと思うのでイメージしやすいかもしれません。
変数名のアイデア出しに使うプロンプトの例
how can I ○○○○ in golang?Case 4. ソースコードの翻訳(GitHub Copilot)
うまく読めないコードに出くわした場合には、GitHub Copilotを使って自分の読みやすい言語への翻訳を行っています。私の場合はGoが読みやすいため、PythonからGoへ変換してコードリーディングをしやすくします。読めないコードの場合は自然言語に翻訳することもありますが、個人的にはプログラミング言語への翻訳のほうが読みやすく感じています。実際のソースコードをそのまま出すことができないため、以下に例を紹介します。
例1: じゃんけんを行うPythonのアルゴリズムをGoに翻訳した例
例2: LangChain(Pythonライブラリ)の実際のソースコードをGoに翻訳した例
Case 5. アルゴリズムの実装補助(GitHub Copilot)
こちらはGitHub Copilotを使っている方であれば皆さん活用しているかと思いますが、コードを書き始めるとCopilotが次に続くコードを推測してサジェストしてくれます。この機能によって生産性が大きく高まっていると感じます。こちらも例として画像を紹介しています。
例: じゃんけんの結果判定ロジックをCopilotがサジェストしている例
文:東 真希 / 図:望月 麻由
