こんにちは!コーダーのゆうしです。
GitHub Copilotを使い始めると「なんか提案が的外れだな」「全然違うコードが出てきた」という場面に出くわすことがあります。Copilotは非常に便利なツールですが、提案が外れるパターンがいくつかあります。この記事では提案が外れやすいパターンと、精度を上げるためのコツをまとめます。
Copilotの提案が外れやすいパターン
① コンテキストが少ないとき
Copilotはファイルの内容・変数名・コメントなどを読んで提案を生成します。書き始めたばかりのファイルや、コードがほとんどない状態では参考にできる情報が少ないため、的外れな提案になりやすいです。
// コンテキストが少ない状態(提案の精度が低くなりやすい)
const x =// コンテキストが多い状態(提案の精度が上がりやすい)
// ユーザーの年齢を受け取り、18歳以上かどうかを返す関数
const isAdult = (age) =>何をしたいかをコメントで書いておくだけで提案の精度が上がります。
② ファイル名が曖昧なとき
Copilotはファイル名も参考にして提案を生成します。test.js や script.js のような汎用的なファイル名より、userValidation.js や formatDate.js のように内容がわかる名前のほうが精度の高い提案が返ってきやすいです。
③ プロジェクト固有のルールがあるとき
チームやプロジェクトで独自のコーディングルール・命名規則がある場合、Copilotはそのルールを知らないので外した提案をすることがあります。変数名の命名スタイル・インデントのルール・独自のユーティリティ関数などはCopilotには伝わりません。
④ 古い書き方を提案してくることがある
Copilotの学習データには古いコードも含まれているため、今では非推奨になった書き方を提案してくることがあります。特にWordPressの関数やJavaScriptの古い構文などで起きやすいです。
// 古い書き方を提案してくることがある
var name = 'ゆうし'; // letやconstを使うべき場面でvarを提案するケースなど提案が古い書き方かどうかを判断するために、自分でも最低限の知識を持っておくことが大切です。
⑤ 複雑なロジックのとき
単純な処理は精度が高いですが、複雑な条件分岐・独自のアルゴリズム・複数の処理が絡み合うロジックは提案の精度が下がりやすいです。複雑な処理ほど鵜呑みにせず、しっかり内容を確認しましょう。
提案の精度を上げるコツ
コメントで意図を書いてから実装する
「何をするコードか」をコメントで先に書いてから実装を始めると、Copilotが意図を読んで精度の高い提案を返してくれやすくなります。
// 価格(税抜)を受け取り、消費税10%を加えた税込価格を返す
const calcTaxIncluded = (price) => {
// ← ここでCopilotが続きを提案してくれる日本語でコメントを書いても提案してくれます。英語のほうが精度が高いケースもありますが、日本語でも十分機能します。
変数名・関数名を丁寧につける
data / item / val のような汎用的な名前より、userName / productPrice / isLoggedIn のように意味がわかる名前をつけると、Copilotが文脈を読みやすくなって提案の精度が上がります。
// 汎用的な名前(提案が的外れになりやすい)
const data = fetch(url);
// 意味がわかる名前(提案の精度が上がりやすい)
const userProfileData = fetch(userProfileUrl);別の提案を見る
Copilotの最初の提案が微妙なとき、Alt + ](Windowsは Alt + ])で別の候補を表示できます。複数の提案を見比べて一番近いものを選んで手直しするのが効率的です。
既存のコードを参考にさせる
同じファイルに似たような処理が書いてあると、Copilotがそれを参考にして同じスタイルの提案をしてくれます。プロジェクトのコーディングスタイルに合わせた提案が欲しいときは、同じファイルに参考になるコードを残しておくのが有効です。
提案を活用するときの心構え
提案はあくまでたたき台
Copilotの提案はそのまま使うものではなく、たたき台として使うのが正しい姿勢です。「だいたい合ってるけどここは直す」「この部分は使えるけど残りは自分で書く」という使い方が実務では多いです。
提案が外れても焦らない
Copilotの提案が毎回ピッタリ合うわけではありません。外れたら無視して自分で書けばいいだけです。うまく使えないと感じたときは、コメントを追加したり変数名を見直したりするだけで改善することが多いです。
Copilotに頼りすぎない
Copilotを使っていると「提案がないと書けない」という状態になる場合があります。コーディングの基礎力はCopilotとは別に鍛えておくのが長い目で見ると大事です。Copilotはあくまで補助ツールという意識で使いましょう。
躓きやすいポイント
提案が出ない・遅いときはネットワークを確認
Copilotの補完はインターネット接続が必要です。ネットワークが不安定だと補完が出なかったり、遅くなったりすることがあります。オフライン環境では使えないので注意してください。
補完候補が表示されていても Tab を押さなくていい
提案が表示されているだけでは確定しません。気に入らなければそのまま無視して書き続けてOKです。提案を消したい場合は Escape キーで消せます。
まとめ
Copilotの提案が外れるのは「コンテキストが少ない」「ファイル名が曖昧」「複雑なロジック」などのパターンが多いです。コメントで意図を書く・変数名を丁寧につけるだけで提案の精度はぐっと上がります。提案はたたき台として使い、鵜呑みにしない姿勢で付き合うのがCopilotとの上手な使い方だと思います!
ご不明な点やコーディングのご依頼はお問い合わせからお気軽にどうぞ。

