https://Takym.GITHUB.IO/

自分で作成したリポジトリの情報を集約しています。また、日本人向けの情報技術資料の収集を目指しています。

管理者はこの記事の信頼性は担保しません。 Please consider this page as not trustworthy.

GitHub Copilot と共にソフトウェア開発を行ってみた所感

Copyright (C) 2025 Takym.

概要

GitHub Copilot が無料開放されたので、使用感を試してみました。以前の先行プレビュー版と比べて圧倒的に便利にはなっています。今回生成させたソースコードは、https://github.com/Takym/primers/tree/code_aurora/2025-04-26/src/CodeAurora から閲覧できます。配布条件は取り敢えずMITライセンスにしておきます。実用性は全くありませんので、配布条件を深く設定する必要もありませんが。会話機能は Microsoft Copilot(旧 Bing AI)と殆ど同じでした。以前(2024年07月頃)にも、Bing AI と共にソフトウェア開発を実験してみた事があります。その時のソースコードは https://github.com/Takym/AppsByBingAI に保管してあります。この記事では、筆者の感じた事を大雑把に述べます。

題名の設定

プロジェクト名も GitHub Copilot(以降、Copilot)に考えさせました。しかし、あまり独創的な名称は生成されませんでした。また、生成される名称の雰囲気は Bing AI の場合と似通っていました。複数の候補を生成させ、その中から CodeAurora を選びました。

指示書による調整

開発を進めるにあたって、コーディング規制等は .github/copilot-instructions.md で細かく設定した方が良いでしょう。指示が無い場合、恐らく Microsoft が定めたコーディング規制に従っている様です。また、偶にガタガタできちんと整形されていないコードを生成する事もあります。今回は字下げをタブで行う事しか指定しませんでした。波括弧の位置をどうすべきか、修飾子はどの順序で指定すべきか、表示するメッセージの文体は何が望ましいか等は明記すべきです。既存のコードから読み取って自動認識されると期待しても上手く行かない場合もあります。

コードの生成とその品質

基本的には最適なコードは生成されません。しかし、雛形として使う分にはかなり有効です。コメントからコードが補完されますから、アルゴリズムやデータ構造を考える時間が減少し、開発効率は上昇します。生成されたコードは、そのまま使うのではなく、開発者の手で品質を向上させなければなりません。Copilot の会話機能でそのヒントを尋ねる事もできます。その為、現状では人工知能がプログラマの仕事を完全に奪うというのは有り得ません。因みに、とても不思議に感じたのは、ファイル内の別のコードを踏襲した提案が為される事があるという事です。

説明文の生成とその品質

会話機能では高確率で分かり易いコードの説明文を生成できますが、一方で、コード内に埋め込む説明書の生成は上手く行きませんでした。恐らく会話機能とコード補完とで生成の仕組みが異なるのでしょう。コードの意図と異なったり、分かり難かったりする場合が多い印象です。生成された文を手直しするよりも、一から自分で考えた方が良いかもしれません。しかし、Markdown を生成させると何故か普通のコード補完よりも品質の高い文章が生成されます。その場合でも人間による修正は必要になりますが。

最後に

以上の通り何番煎じか分からない記事が出来上がってしまいました。なので「下劣な記事」のタグを付けました。また、もう少し詳細に実験すればまた違った結果になるかもしれません。