この記事は RNIアドベントカレンダー2025 3日目の記事です。
RNIアドベントカレンダー2025
はじめに
株式会社リサーチ・アンド・イノベーション(以下RNI)Androidエンジニアのアリクイです。
普段はCODEというポイ活&家計簿サービスのアプリ開発を行っています。
さて
生成AI、皆さん活用していますか?
弊社でもGitHubCopilotを導入しており、エンジニアは全員業務での利用が可能となっています。
私個人は、学生時代に人工知能の研究(※1)に携わっていたこともあり、昨今のAI分野の急成長に関しては(倫理観点の懸念はありつつ)喜ばしく思っています。
去年あたりまでは、正直に「うーん、定型処理なら便利だけど、そこまで頼れる存在ではないかな…」と思っていた GitHub Copilot。
今年に入ってからのアップデートで存在感が変わってきました。
この記事では、私がAndroidアプリ開発 × GitHubCopilotで感じた変化と、実際に Copilot の裏側で起きていたモデル刷新やコンテキスト対応強化などのアップデートがどう繋がっていたのかをまとめてみます。
去年(2024頃):"補完ツールの延長" に見えていた時期
最初の頃のCopilotは、正直「優秀な補完+α」という印象でした。
この時期のCopilotのバックエンドは、GPT-3 → GPT-4 Turbo → GPT-4o と
段階的にアップデートされていましたが、
まだ「ファイル単体の文脈をなぞる」程度の理解力に留まっていたと思います。
定型文のようなパターンは得意で、ユニットテストの雛形はスッと出るものの、コードの意図までは追いきれない。
補完機能としては優秀ですが「任せて安心」というレベルではなく、“あくまで、コード編集が部分的にできる” という感覚でした。
そのためプロンプト側で工夫をする必要があり、より良い出力のためには
あなたはAndroidの優秀なエンジニアです。今から書く要件に沿って以下のユニットテストを修正してください。1.MockKを使って...(略)
のような具体的な指示をする力が試されていました。
私個人としても、プロンプトエンジニアリングの能力を身につけるべく
以下の書籍を参考にしました。
この本はLLMの成り立ちや基礎知識にも触れており、LLMとは何か?を学びたい方には2025/12/19現在もおすすめです。
2025年前半:理解力の伸びを感じ始める時期
2025年に入ったあたりから、Copilot の振る舞いが変わってきました。
1月にはリポジトリを指定してカスタム回答を得られるようになり(※2)
GPT-4o を採用したことで、コンテキストの解釈が一段階深くなった印象です。
モデル側で
- コンテキストウィンドウ拡張
- コード理解の強化
- 推論力の改善
といったアップデートが行われた影響が大きかったようですね。
4月にはAnthropic Claude 3.5 Sonnet と Claude 3.7 Sonnet、
Google Gemini 2.0 Flashなどの開発に強いモデルがマルチ採用され、
ユーザーの自由度も上がりました。
現場レベルでは
- 誤字脱字レベルのごく軽いレビューはほぼ完璧
- ちょっとした改善相談にも答えられる
- 同一クラス内の流れや意図を踏まえた補完が増える
- 自分用にカスタムされた複合的な回答を得られるようになった
- 例:Compose の現在の推奨パターンを加味して教えてください。以下のような実装をしたいんだけど、Composableはどのように分離すれば良い?
などの印象を持ちました。
昨年まではCopilotに対して、システム然とした振る舞い、人に例えるなら自己中心さのようなものを感じていましたが、徐々にこちらの意図を組んで最適解を出そうとしているように感じました。
2025年後半:”調べるより頼れる” のフェーズへ
2025年5月、さらに GPT-4o Copilot の大きなアップデートが入り、
このあたりから Copilot が別物のように感じ始めました。
GPT単体の精度で言うと、
- コンテキスト理解が桁違いになった
- 推論能力の向上
が特に目立った印象です。
1. コンテキスト理解が桁違いになった
以前よりはるかに長いコンテキスト(ファイル・プロジェクト)を読み、
その上で「この設計ならこう続くよね」と踏まえて回答するようになりました。
- クラス間の関係を解釈した説明
- データの流れの調査
- 既存コードの意図を踏まえた改善提案
プロンプトを用いて指示した箇所だけではなく、関連度の高いファイルを同時に解釈することで“プロンプトの行間を読む” 提案が増えたのが大きいです。
これにより、ドキュメントが残っていない古い機能や、誰も触ったことのない太古の画面の調査が格段に速くなりました。
特に助かった場面
CODEアプリはレガシー脱却の道半ばで、PMチームとも課題を共有し、画面のリニューアルを進めているところです。
そのため、古い処理がどのような仕様で動いているのかを調査しなければならないタイミングがあります。
Javaは若手のAndroidアプリ開発者が未経験だったり、過去に書いていたとしても現在ではめったに使わない言語のため、経験者でも認知負荷が高いという課題があります。
そこで、まずCopilotに探ってもらうフローを挟むことにしました。
これで調査の取っ掛かりを発見できるようになりました。
ハルシネーションが起こることもありますが、仮に回答が誤りであっても「まず、AIにやってもらう」が助かるのは、時間効率の面だけではありません。
例)
- ファイル名:HelloActivity.java
- ほうほう、入口の画面かな
- タイトル:
Welcome!- WelcomeなのにHelloActivityなんだ...
-
機能:プロフィール設定
- !?!?!?!?!!?
のように、構造把握にかかるストレスを緩和する役割もあるからです。
なるべく「個人的に楽しくない or チームメンバーが誰もやりたがらない」作業を代替してもらうのがおすすめです。
2. 推論能力が実務に活かせるレベルに到達
推論能力の向上は素晴らしく、
「(レガシーな実装ファイルを指定して)この ViewModel の意図って何だと思う?」
「このデータは最終的にどこで使われるもの?」
「こういう設計を考えているんだけど、このモジュールの他のクラス構造を鑑みるとどこが懸念点?」
「なんかこんな実装が認証周りにあったと思うんだけど、どこだっけ?」
といった抽象度の高い質問にも答えられるようになりました。
ブラウザ版のCopilot Chatでリポジトリを丸ごと指定できるようになったおかげで、プロンプトを駆使したペルソナ指定や前提知識を与える必要がなくなり、AIとのコミュニケーションコストがぐっと下がりました。
先程も書いた通り、ハルシネーションは完全には避けられませんし、
入力された自然言語の文脈解析(回答のための推論より手前の段階)が誤っていることも多く、一口にLLMと言っても各所には課題を感じています。
それでも精度そのものの向上は目覚ましく、まるで同僚が一人増えたように感じています。
また、9月にはClaude Sonnet 4.5がパブリックプレビューになるなど、
より開発向けにブラッシュアップされたエンジンを利用できるようになりました。
「アタリのついていないことは、ゼロから調べるよりCopilotに聞いてみよう」が
普通になってきたタイミングでした。
12月11日にはGPT-5.2が公開され、Composeを含むフロントエンドUIの実装強化だけでなく、大規模コードベースや複雑な構造を解析する能力が向上したとのことです。
さいごに
2025年の Copilot の成長はハイスピードで、
「コードを書く時間と思考リソースを増やしてくれる相棒」
へと変わったように感じています。
ハルシネーション等の課題はまだ残っているので、
「AIさえあればオッケー!」と言える段階には至らないものの、
文字通り “Copilot(副操縦士)”としていつでも頼れる存在になってきた と感じます。
今後も技術の進化(深化)を恐れず、自分の味方にしていきたいですね。
(※1)隠れマルコフモデルを用いて、ラベルなし音声から話者特性を推定し、音響モデルを適応させる「教師なし推論アルゴリズム」の構築。
隠れマルコフモデルは有限な状態遷移構造を表すためのモデルで、非線形表現ができず、今ではおそらく古典に分類されるであろうモデル構築の手法です。興味がある方はお声がけください。
(※2)2025年1月、Copilotではリポジトリを指定してカスタム回答を得られるようになりましたが、copilot-instructions.mdファイルを自分のリポジトリに作成する必要があるなど制約があり、私の担当プロダクトでは導入を見送りました。