組み込み開発(C)でもGithub_Copilotを使ってみた
こんにちは、カシオの組み込みエンジニアの黛(まゆずみ)です。
昨年6月ごろから、C言語での組み込み開発にGithub_Copilotを利用しています。
Github_Copilotは公式ページにて、
とありますが、使用した感じ、C言語の開発も十分に有用だと感じました。
今回は組み込み開発での、Github_Copilotの便利Point & 残念Pointをまとめてみました。
なお、エディタはVisual Studio Codeを使用しています。
→ VSCodeへのGithub_Copilot導入方法はこちら
便利Point1.コードの自動生成
Github_Copilotで最も有用な機能は、コード生成といえます。
例えばswitch文なら、1case書けば、以降に推測されるコードを薄灰色で提案してくれます。
Github_Copilotの良いところは、コーディング中にストレスなく使える点です。
生成コードは[Tab]キーを押していくだけで、サクサク実体化していきますし、生成コードの推測精度も高く、見当違いのコードが出ることも少ない印象です。
コード生成自体は、ChatGPTのような対話スタイルのAIでもできますが、作業効率は完全にこちらに軍配が上がりますね😊
以下、いくつかの実施例です。
markdown、plantumlの生成は初期設定で無効なため、有効化が必要です。
便利Point2.コードレビュー
copilotにコードレビューしてもらうことで、細かなバグを減らしましょう。
レビューの方法は2通りあります。
レビューの方法①
レビューしてもらいたい箇所をすべて選択して、右クリック -> Copilot -> レビューとコメント をクリックする
("レビューとコメント"が無い場合、VSCodeを最新に更新してください)
・インデントのずれ、誤字の修正
・関数、変数名の提案
などの細かい点を指摘してくれます。
GitHub copilotは、GitHub上のコードを学習したLLMですので、提案される変数名は、多くの開発者が書いている = 多くの人が理解しやすい名前 であると期待できます。
レビューの方法②
レビューしてもらいたい箇所をすべて選択して、右クリック -> Copilot -> 選択内容をチャットに追加 をクリックする。
1つ目よりも、全体を見てコメントをしてくるように感じます。
関数単位でのレビューなどに向いています。(選択範囲は100行以内がベスト)
残念Point1.長いコードや文章は、すべて理解できない
100行以上のコードのレビューや修正を求めると、抽象的な回答になります。質問したい場合は、分割して与える必要があります。
そのため、長文のドキュメント(例えばデータシートや、開発チーム内でのコーディングルール)を読み込ませて、その内容に準拠したコードを生成させる、という利用は現状難しいようです。
ここは、今後RAG(Retrieval-Augmented Generation) 機能として、更新されることに期待ですね。
残念Point2.コメントがたまに英語になる
原因不明。情報ありましたらコメントお願いいたします。
最後に
Github_Copilotは、組み込み開発においても、優秀な開発補助ツールでした。
組み込み業界での生成AI利用例は、サーバー・WEB系に比べると、情報量が少ない傾向にありますので、今後も情報発信を継続していきたいと思います。
【前回のテックブログはコチラ】
辞書アプリの設計担当が、当社が提供している辞書サービスで発生していた「一部の端末で文字が読みづらい」という問題を解決した時の内容です。
どのように解決していったか、ぜひ理解を深めるのに役立てて貰えたら幸いです。
【カシオのソフトウェア採用についてはこちら】