Skip to main content

さまざまなタスクを使った AI モデルの比較

ワークフローに適した AI モデルを選ぶのに役立つサンプル プロンプト、回答、ガイダンスと共に、一般的な開発者タスクの実際の例を確認します。

概要

Copilot チャット でサポートされている各 AI モデルには、それぞれ異なる長所があります。 この記事では、どのモデルを使うかを判断できるように、一般的な開発者タスクの実際の例と、サンプル プロンプト、回答、特定のモデルが適している理由に関するガイダンスを提供します。

これらの例は、モデルの推論スタイル、回答の深さ、視覚的な入力を処理する能力がどのように異なるかを示しています。 これらを使って出力の品質を比較し、特定のワークフローに適したモデルを選びます。

サポートされているモデルの詳細な一覧と機能の比較については、「AI モデルの比較」を参照してください。

GPT-4.1

GPT-4.1 は、速度、応答性、汎用推論から恩恵を得られる一般的な開発タスクに適した選択肢です。 広範な知識、速い繰り返し、またはコードの基本的な理解を必要とするタスクの作業を行っている場合に使うべきモデルは、おそらく GPT-4.1 です。

サンプル シナリオ

Python サービスでaccess controlのヘルパー関数を記述するシナリオについて考えてみましょう。 あなたは、関数の目的を明確にするために docstring を追加したいと考えています。

ドキュメントに編集者アクセスを付与するヘルパー関数を以下に示します。

def grant_editor_access(user_id, doc_id):
    access = AccessManager()
    access.assign_role(
        resource_type="document",
        resource_id=doc_id,
        role="editor",
        user_id=user_id
    )

プロンプトの例

Copilot prompt
Add a docstring to the function that explains what it does.

応答の例

メモ

次の応答は例です。 Copilot チャット の応答は非決定的であるため、ここで示したものとは異なる応答が返される可能性があります。

def grant_editor_access(user_id, doc_id):
    """
    Grants editor access to a specific document for a given user.

    This function uses the AccessManager to assign the "editor" role
    to the specified user for the provided document ID.

    Args:
        user_id (str): The ID of the user to grant access to.
        doc_id (str): The ID of the document to which access is being granted.
    """
    access = AccessManager()
    access.assign_role(
        resource_type="document",
        resource_id=doc_id,
        role="editor",
        user_id=user_id
    )

GPT-4.1 が適している理由

  • この関数は短く、自己完結型であるため、docstring を迅速に生成するのに最適です。
  • GPT-4.1 は、パターンを認識して、明確で簡潔な説明を提供できます。
  • このタスクには、深い推論や複雑なロジックは必要ありません。

GPT-5 ミニ

OpenAI GPT-5 ミニ は、単純または反復的なコーディング タスク用に設計された、高速でコスト効率の高いモデルです。 信頼性が高く簡潔な回答を非常に短い待ち時間で提供し、リアルタイムの提案や軽量の開発ワークフローに最適です。 GPT-5 ミニ は、速度と応答性を最適化しているため、小さなコード変更を迅速に反映させたり、簡単なプロンプトに対する即時フィードバックを得ることができます。

サンプル シナリオ

ユーティリティ スクリプトを作成していて、アクティブなユーザーのみを含むようにユーザー レコードのリストをフィルター処理し、サインアップ日で並べ替える必要があるとします。 タスクは単純であり、深い推論や複数ステップのロジックは必要ありません。

ユーザーのサンプル リストを次に示します。

users = [
    {"name": "Alice", "active": True, "signup_date": "2023-12-10"},
    {"name": "Bob", "active": False, "signup_date": "2023-11-05"},
    {"name": "Charlie", "active": True, "signup_date": "2024-01-15"}
]

プロンプトの例

Copilot prompt
Filter the list of users to only include active users, and sort them by signup_date.

応答の例

メモ

次の応答は例です。 Copilot チャット の応答は非決定的であるため、ここで示したものとは異なる応答が返される可能性があります。

# Filter to only include active users
active_users = [user for user in users if user["active"]]

# Sort active users by signup_date
active_users_sorted = sorted(active_users, key=lambda user: user["signup_date"])

print(active_users_sorted)

GPT-5 ミニ が適している理由

  • タスクは簡単であり、高速で低遅延の応答に利点があります。
  • GPT-5 ミニ はコストと速度に最適化されているため、簡単な編集、プロトタイプ作成、ユーティリティ コードに最適です。
  • 単純なコーディングの質問について、不必要な深さまで待つことなく、信頼性の高い回答を得たいときは、このモデルを使います。

GPT-5.2

GPT-5.2 は画像入力をサポートしているため、開発者は UI 検査、図分析、レイアウト デバッグなどのタスクに視覚的なコンテキストを取り込むことができます。 これにより、画像ベースの入力が問題解決を強化するシナリオ、例えばUIスクリーンショットを分析してアクセシビリティの問題を検出したり、レイアウトにおける視覚的なバグを理解したりする際に、Copilot を利用することが特に効果的です。GPT-5.2 はこれらのプロセスで非常に有用です。

サンプル シナリオ

ショッピング カート システムを設計しており、CartProductUserOrder 間の関係の概要を示す UML クラス ダイアグラムがあります。 システムを最初から記述するのではなく、ダイアグラムの画像をアップロードして、Copilot にクラスの生成を依頼したいと考えています。

カート、製品、ユーザー、注文のクラスの詳細を示すショッピング カートの UML ダイアグラムのスクリーンショット。

プロンプトの例

Copilot prompt
Use this UML diagram to generate the classes for a shopping cart system.

応答の例

メモ

次の応答は例です。 Copilot チャット の応答は非決定的であるため、ここで示したものとは異なる応答が返される可能性があります。

Copilot により、ダイアグラム内のクラスごとにクラス間の関係を含むクラスが生成されます。 Cart クラスに対して生成されたコード例を次に示します。

from cart_item import CartItem
from order import Order

class Cart:
    def __init__(self, cart_id, user_id):
        self.cart_id = cart_id
        self.user_id = user_id
        self.items = []

    def add_item(self, item):
        self.items.append(item)

    def remove_item(self, item):
        self.items = [i for i in self.items if i != item]

    def calculate_total(self):
        return sum(item.quantity * item.product.price for item in self.items)

    def place_order(self):
        # Implementation for placing an order
        return Order("", None, 0)

GPT-5.2 がなぜ適しているのか

  • UML ダイアグラム、ワイヤーフレーム、フローチャートなどの視覚的な資産を解釈して、コードのスキャフォールディングを生成したり、アーキテクチャを提案したりできます。
  • UI レイアウトやフォーム デザインのスクリーンショットをレビューして生成する場合に役立ちます。

クロード・ハイク 4.5

クロード・ハイク 4.5 は、ドキュメントの記述、言語固有の質問への回答、定型コードの生成など、日常的なコーディングサポートに適しています。 タスクを過度に複雑にすることなく、役立つ直接的な回答を提供します。 コストの制約内で作業している場合は、クロード・ハイク 4.5 をお勧めします。クロード・ソネット 4.5 と同じタスクの多くで確実なパフォーマンスを実現しますが、リソース使用量は少なくなります。

サンプル シナリオ

アプリケーションの単体テストと統合テストの両方を実装するシナリオを考えてみましょう。 あなたは、包括的であり、考え得る、または考えもしなかったあらゆるエッジ ケースをカバーしたテストにしたいと考えています。

シナリオの完全なチュートリアルについては、「GitHub Copilot を使用したテストの記述を参照してください。

クロード・ハイク 4.5 が適切な理由

  • テスト生成、定型スキャフォールディング、検証ロジックなどの日常的なコーディング タスクで優れたパフォーマンスを発揮します。
  • このタスクは複数ステップの推論に重点を置きますが、ロジックはそれほど深くないため、高度ではないモデルの信頼ゾーン内に収まります。

クロード・ソネット 4.5

クロード・ソネット 4.5 は、初期設計からバグ修正、メンテナンス、最適化まで、ソフトウェア開発ライフサイクル全体にわたって優れています。 コンポーネント間のコンテキストを理解することが重要な、複数ファイルのリファクタリングまたはアーキテクチャ計画に特に適しています。

サンプル シナリオ

レガシ COBOL アプリケーションを Node.js 形式に書き直して最新化するシナリオを考えてみましょう。 projectには、未知のソース コードの理解、言語間でのロジックの変換、置換の反復的な構築、テスト スイートによる正確性の検証が含まれます。

シナリオの完全なチュートリアルについては、「GitHub Copilot を使用したレガシ コードの最新化を参照してください。

クロード・ソネット 4.5 が適切な理由

  • クロード・ソネット 4.5 は複雑なコンテキストを適切に処理するため、複数のファイルまたは言語にまたがるワークフローに適しています。
  • そのハイブリッド推論アーキテクチャにより、迅速な回答と、より深く段階的な問題解決を切り替えることができます。

参考資料

  •         [AUTOTITLE](/copilot/reference/ai-models/model-comparison)
    
  •         [AUTOTITLE](/copilot/copilot-chat-cookbook)