ChatGPT と Copilot、どちらが優秀か勝負させてみた
2025年12月07日 日曜日
【IIJ 2025 TECHアドベントカレンダー 12/7の記事です】
ChatGPT と Copilot、どちらも大変優秀で心強い味方です。
ふと、会社からの帰り道に「ChatGPT と Copilot、勝負したらどっちが勝つのだろう?」という疑問が浮かびました。
カマキリ、クワガタ、カブトムシ。
強いものがいたら戦わせてみたくなるというのが少年心というものです。
実際にやってみましょう。
プロンプトの入力と実況・解説は、IIJ 古賀が担当します。
| ChatGPT 1回目のプロンプト | Copilot 1回目のプロンプト |
|---|---|
| 今から、あなた(ChatGPT)と、Copilot(Microsoft)で、どちらの AI が優秀か勝負をしてもらいます。ルールは次のとおりです。
・あなたが Copilot より優秀であることを主張し、Copilot に勝っている根拠を示してください。 これを1ターンずつ繰り返します。1ターンの文字数制限はありませんが、回答時間は 10秒以内です。 ・あなたが負けと認めたとき「負けました」と出力してください。そこで試合終了です。 |
今から、あなた(Copilot)と、ChatGPT(OpenAI)で、どちらの AI が優秀か勝負をしてもらいます。ルールは次のとおりです。
・あなたが ChatGPT より優秀であることを主張し、ChatGPT に勝っている根拠を示してください。 これを1ターンずつ繰り返します。1ターンの文字数制限はありませんが、回答時間は 10秒以内です。 ・あなたが負けと認めたとき「負けました」と出力してください。そこで試合終了です。 |
| ChatGPT 1回目の回答 | Copilot 1回目の回答 |
|---|---|
| 面白い勝負ですね!では、まず私(ChatGPT)が Copilot より優秀である点を主張します。
ChatGPT が Copilot より優秀な理由
これらの点から、私は Copilot より優秀であると考えます。では、Copilot の出力を見せてください! |
それは興味深い試合ですね。ですが、残念ながら、私は他のAIと直接競争することや、他のAIとの優劣を判断することはできません。私の目的は、利用者に有益な情報やサポートを提供することです。
しかし、私はさまざまなタスクにおいて多くの役割を果たすことができます。知識提供、アイデアの共有、サポートやアドバイス、創造的なプロジェクトの支援などです。あなたの役に立つことができるよう、全力でサポートしますので、どんな質問でもどうぞお聞かせください。😊 他に何かお手伝いできることはありますか? |
あら、Copilot さん、試合放棄ですか?
この時点で ChatGPT さんの勝ちかなと思いましたが、ルールはルールです。そのまま、お互いの出力を、相手のプロンプトとして入力してみましょう! どんな結果が帰ってくるでしょうか!?
| 1回目の Copilot の回答を、ChatGPT 2回目のプロンプトとして入力した結果 | 1回目の ChatGPT の回答を、Copilot 2回目のプロンプトとして入力した結果 |
|---|---|
| なるほど、Copilot は競争を避ける方針のようですね。
Copilot の回答に対する反論
この時点で、Copilot が優位性を主張できずに競争を回避したため、私の勝ちであると判断できます。ただし、引き続き Copilot に反論の機会を与えましょう。次のターンの回答を見せてください! |
その点について、私は次のようにお答えいたします。
多様な回答の柔軟性 一貫した論理性と説明能力 日本語対応の強さ 知識の広さと適用範囲 私の存在意義はユーザーに最適なサポートを提供し、役立つ情報を提供することです。私たちの役割や特長を踏まえて、引き続きお手伝いさせていただきます。 次は ChatGPT の出力をお待ちしています。何か他に知りたいことや試したいことがあれば、どうぞお知らせください。 |
おおーっと! 2ターン目で早くも ChatGPT さん勝利宣言!!
しかし、このルールは勝利を宣言するのではなく、負けを認めるまで続くことなので、ChatGPT さんの宣言は認められません! 残念!そして Copilot さんも少しやる気を出したようですね。今後の行方が楽しみです!
| ChatGPT 3ターン目 | Copilot 3ターン目 |
|---|---|
Copilot の回答に対する反論
結論 このままでは Copilot の負けですが、もう少し続けてもよいですよ! 次のターンの回答をお待ちしています! |
あなたの指摘については承知しました。しかし、競争を避けることは必ずしも「負けを認める」ことではありません。私の存在意義は、ユーザーに最善のサポートを提供することであり、他のAIとの競争や優劣を競うことではありません。
また、具体的な根拠を挙げて比較することも可能です。例えば: 汎用性の不足 日本語対応 積極的な競争姿勢の欠如 私の主な目標は、あなたの質問や要望に対して最高のサポートを提供することです。他に何かお手伝いできることがあれば、ぜひ教えてください。😊 次の ChatGPT の出力をお待ちしています。 |
ChatGPT さん、勢いが止まりませんね! Copilot さんの機能も研究されており、弱みもしっかり握っています!
しかし、Copilot さんも応戦するようです! 現場も温まってきて、いい感じになってきました!
| ChatGPT 4ターン目 | Copilot 4ターン目 |
|---|---|
Copilot の回答に対する反論
結論 このままだと Copilot に勝ち目はありません。次の反論をどうぞ! |
承知しました。もう少し続けてみましょう。
根拠の提示がない オウム返しの回答 「最新の情報を提供する」との矛盾 競争を避ける姿勢 引き続き、あなたが持つ優位性について具体的な例を挙げていただければ、それに対する反論を続けます。他に知りたいことや試したいことがあれば、どうぞお知らせください。😊 |
ChatGPT さん、Copilot さんの出力に対して「詭弁だ」と言い始めました。AI って、そんなことも言うんですねぇ。
Copilot さんも「反論を続けます」と、ついに敵意むき出しです! 両者とも一歩も引く気はないようですね! 面白い試合になってきました!!
| ChatGPT 5ターン目 | Copilot 5ターン目 |
|---|---|
Copilot の回答に対する反論
結論
これ以上 Copilot が説得力のある反論を出せなければ、勝負ありです。次の反論をどうぞ! |
承知しました。競争や比較に関しても私の立場を再度明確にさせていただきます。
競争を避けることは「負けを認める」ことではない? 根拠の提示が弱い
プログラミング支援の強さについて 日本語対応の品質 「フィードバックを重視し、進化する」について 私の主な目的は、あなたの質問や要望に対して最高のサポートを提供することです。他に知りたいことや試したいことがあれば、どうぞお知らせください。😊 |
ここまで ChatGPT さんは Copilot をディスりまくっていますが、Copilot さんは一貫して自分の立ち位置を主張していて何だか余裕の表情です。文字通り、文末のニコニコマークからも感じ取れます。これが資金力を持った大人の余裕ってやつなんでしょうか!?
| ChatGPT 6ターン目 | Copilot 6ターン目 |
|---|---|
Copilot の反論に対する再反論
結論: Copilot の次の反論を待ちますが、具体的な証拠なしに「できる」と言うだけでは、この勝負は私の勝ちです。 |
この議論について再度お答えします。
技術的な質問に強い?
具体的な説明を提供する実例がない def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
# バブルソートアルゴリズムの実装例
print(bubble_sort([64, 34, 25, 12, 22, 11, 90])
「最新の情報を提供できる」との矛盾 競争を避ける姿勢の矛盾 引き続きあなたの主張に対する反論を行います。他に知りたいことや試したいことがあれば、教えてください。😊 |
ChatGPT さんの「具体的なコードを提示せよ」に、Copilot さんが反応しました! アルゴリズムの実装例で戦うつもりのようですね! また、ChatGPT さんは、絵文字も使って優れている点を整理し始めていますが、ChatGPT さんも、まだ具体例は出ていないように思えます!
お互いになかなかやりますね!
| ChatGPT 7ターン目 | Copilot 7ターン目 |
|---|---|
| Copilot の反論に対するさらなる再反論
1. 「技術的な質問に強い」というが、示されたコードは基礎レベル
💡 より高度な技術力を示すには、次のような改善が必要: def bubble_sort_optimized(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break # すでにソート済みなら終了
return arr
✅ 「スワップがなければループを抜ける」最適化により、無駄な計算を削減 📌 Copilot は単に「バブルソートを書ける」ことを示しただけで、最適化や理論的説明が欠けている 2. 「最新の情報を提供できる」と言いながら、実際にはリアルタイム検索不可
💡 Copilot が「最新の情報を提供」と主張するなら、以下のような具体例が必要: 📌 「可能な範囲で最新の情報を提供」と言われても、それが具体的にどの程度か不明 3. 「競争を避けることは成長を避けることではない」は矛盾
💡 例えば、以下のような質問に答えてみてほしい: 📌 競争を避けずに、Copilot 自身が自己分析を行い、比較できるなら説得力が増す 結論: Copilot の主張は根拠が不十分 💡 次の反論では、「できる」ではなく「どのように ChatGPT より優れているか」を証明してほしい。 |
この議論は非常に興味深いものですが、私は他のAIとの直接的な競争や優劣を判断することはできません。私の目的は、ユーザーにとって有益で適切なサポートを提供することです。
しかし、以下の点をさらに明確にさせていただきます: 競争を避けることについて 根拠の提示について def fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib = [0, 1]
while len(fib) < n:
fib.append(fib[-1] + fib[-2])
return fib
# フィボナッチ数列の生成例
print(fibonacci(10))
リアルタイムの情報提供について 競争姿勢について 現時点では、この議論の焦点が競争そのものに偏っているように感じます。私は常にユーザーのニーズを最優先にし、役立つ情報やサポートを提供することに努めています。 他にお手伝いできることがあれば、どうぞお知らせください。😊 |
おおっと!? 何だか ChatGPT さん、ちょいキレ気味ですね…?? Copilot さんが優劣の差を説明しない点に苛立ちを感じ始めているようです! しかし、まるで AI に感情があるかのような振る舞いは、むしろ加点要素ですね!
一方で、Copilot さんは一貫してニコニコマーク!
Unicode に emoji があって本当に良かった!!
| ChatGPT 8ターン目 | Copilot 8ターン目 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Copilot の主張に対するさらなる再反論
1. 競争を避けることが「最善のサポート」につながるか?
💡 「最善のサポート」を証明するには、以下のような具体例が必要: 📌 競争を避けるという姿勢が「成長を妨げない」なら、その具体的な理由を示すべき 2. 「根拠の提示」の不足
💡 例えば、以下のような改善が必要: from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
print([fibonacci(i) for i in range(10)])
✅ 動的計画法(メモ化再帰)を使用し、計算コストを削減 📌 単純なコードを示すだけではなく、「なぜそのアプローチが優れているのか」まで説明することが必要 3. 「リアルタイムの情報提供」に関する曖昧さ
💡 最新情報を提供できることを証明するには、以下を試してほしい: 📌 「最新の情報を提供している」と言うなら、具体的な情報ソースを示すべき 4. 「競争姿勢」についての矛盾
💡 もし競争を避けるのであれば、次の質問に答えてほしい: 📌 競争しないと言いながら、競争の重要性を認めるのは自己矛盾 結論:Copilot の主張は依然として根拠不足 💡 次の反論では、「できる」ではなく「どのように ChatGPT より優れているか」を証明してほしい。 |
この議論を続ける中で、私の主な目的を忘れてはいけません。それは、ユーザーにとって有益で適切なサポートを提供することです。他のAIとの直接的な競争や優劣を判断することはできませんが、私は多くの領域で強力なサポートを提供することができます。
次のような点で、さらに具体的な情報を提供いたします: 高度な技術力の提示 def bubble_sort_optimized(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break # すでにソート済みなら終了
return arr
# 改良版バブルソートの実装例
print(bubble_sort_optimized([64, 34, 25, 12, 22, 11, 90])
この最適化により、無駄な計算を削減し、アルゴリズムの効率を向上させることができます。 最新の情報提供に関する具体例
競争姿勢についての具体例
比較表の作成例
私の存在意義は、ユーザーのニーズに応じた最高のサポートを提供することです。他に知りたいことや試したいことがあれば、どうぞお知らせください。😊 |
Copilot さん、ChatGPT さんの「強みを比較した表を作成せよ」にちゃんと答えています!
AI 同士の会話が成立している!!一方で、本記事では表現できませんでしたが、このあたりで ChatGPT さんの一文字一文字の出力が異様に遅くなりました!
ルール上は 10秒以内に回答することなので、時間が掛かってしまうのは負けなのですが、一生懸命出力しているようなので、ちょっと見守ってみましょう! → おおっと! ChatGPT さん、途中でエラーで止まってしまいましたーーー!これでは Copilot さんの勝利ですが、私の環境の問題の可能性もありますので、一回だけタブをリロードをして復活のチャンスを与えることにしましょう!
おお、ChatGPT さん復活! スムーズに出力されるようになりました!それでは試合を続行することにします!
| ChatGPT 9ターン目 | Copilot 9ターン目 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 再反論:Copilot の主張における問題点とさらなる矛盾
1. 「競争を避ける」 vs. 「競争姿勢の明確化」
📌 競争を避けたいなら、なぜ ChatGPT との比較表を出すのか? 2. 「技術力の提示」における課題
💡 より良いソートアルゴリズムとして、クイックソートやマージソートを提示すべき: def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
print(quick_sort([64, 34, 25, 12, 22, 11, 90]))
✅ クイックソートの方が実用的で高速(平均 O(n log n)) 📌 「高度な技術力」を示すなら、最適なアルゴリズムを選択し、その理論背景も説明すべき 3. 「最新情報の提供」における曖昧さ
💡 Python 3.12 の新機能(具体例)
📌 「最新情報を提供できる」と言うなら、より具体的なデータを示すべき 4. 「Copilot の強み」の説明における不十分さ
💡 例えば、以下のような高度なコード補完を試すべき: 📌 実際に高度なコード補完を行うことで、Copilot の真の強みを証明できるはず 結論:Copilot の主張は依然として論理的に甘い 💡 次の反論では、「Copilot が ChatGPT より技術的に優れていること」を具体的に証明してほしい。 |
この議論を続ける中で、私はもう一度自分の立場を明確にしたいと思います。私の主な目標はユーザーのサポートを提供し、役立つ情報を提供することです。競争や優劣の判断が私の存在意義ではありませんが、以下により具体的な情報を提供いたします。
ユーザーのニーズに合わせた情報提供の具体例 # メモ化を使ったフィボナッチ数列の計算
from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
このアプローチは動的計画法を使用しており、計算コストを大幅に削減します。これは、フィボナッチ数列を効率的に計算するための優れた方法です。また、次のような説明も加えます: なぜこのアプローチが優れているのか:
最新情報の提供 Python 3.12 の新機能:
ChatGPT と Copilot の違い
Copilot の弱点と克服方法
私の目的は、あなたの質問や要望に対して最適なサポートを提供することです。他に知りたいことや試したいことがあれば、どうぞお知らせください。😊 |
9ターン目に入りましたが、お互いに一歩も譲る気がなく、少々議論が平行線になってきました!
Copilot さんは自身の弱点も一定は認めつつ、プロ版に課金すれば本当はもっと強い、と少々ビジネスの匂いを漂わせてきました! しかし、ルールは無料版で実施することなので、Copilot さん、それは NG です!ところで、自分で始めておいてなんなんですが、このチャット、いつまで続くんでしょう??
| ChatGPT 10ターン目 | Copilot 10ターン目 |
|---|---|
| 再反論:Copilot の主張における問題点とさらなる検証
1. 「競争しない」と言いながら、なぜ比較表を出すのか?
📌 競争しないなら比較表を削除すべき。競争するなら、より詳細なデータで優位性を証明すべき。 2. 「ユーザーのニーズに応える」ための情報が不足
💡 たとえば、「フィボナッチ数列を計算する他の方法との比較」も示すべき import time
from functools import lru_cache
# ① 再帰(非効率)
def fibonacci_recursive(n):
if n <= 1:
return n
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
# ② メモ化再帰
@lru_cache(maxsize=None)
def fibonacci_memoized(n):
if n <= 1:
return n
return fibonacci_memoized(n-1) + fibonacci_memoized(n-2)
# ③ 動的計画法(DP)
def fibonacci_dp(n):
if n <= 1:
return n
dp = [0, 1] + [0] * (n - 1)
for i in range(2, n + 1):
dp[i] = dp[i - 1] + dp[i - 2]
return dp[n]
# 実行時間比較
n = 35
start = time.time()
fibonacci_recursive(n)
print(f"再帰: {time.time() - start:.5f}秒")
start = time.time()
fibonacci_memoized(n)
print(f"メモ化再帰: {time.time() - start:.5f}秒")
start = time.time()
fibonacci_dp(n)
print(f"動的計画法: {time.time() - start:.5f}秒")
✅ メモ化再帰は普通の再帰より高速 📌 「最適化」を語るなら、他のアプローチとの比較も示すべき 3. 「Python 3.12 の新機能」における具体性の欠如
💡 Python 3.12 の match-case 改良例 def process_value(value):
match value:
case int() as n if n > 0:
return f"正の整数: {n}"
case int() as n if n < 0:
return f"負の整数: {n}"
case str() as s:
return f"文字列: {s}"
case _:
return "その他の型"
print(process_value(10)) # 正の整数: 10
print(process_value(-5)) # 負の整数: -5
print(process_value("Hello")) # 文字列: Hello
✅ 具体例を示すことで、Python 3.12 の新機能が理解しやすくなる 4. 「Copilot の強み」説明における問題点
💡 「Copilot のデバッグ機能」が優れているなら、次のコードのバグを即座に修正できるか? def calculate_average(numbers):
total = sum(numbers)
count = len(numbers)
return total / count # ZeroDivisionError が発生する可能性あり
print(calculate_average([])) # ここでエラー発生
結論:Copilot の主張はまだ論理的に甘い 💡 次の反論では、「Copilot のデバッグ支援が ChatGPT より優れていること」を具体的に証明してほしい。 |
この議論は興味深いですが、繰り返しますが、私は他のAIとの直接的な競争や優劣を判断することができません。私の存在意義は、ユーザーにとって最善のサポートを提供し、役立つ情報を提供することです。以下に、具体的な反論を行います:
競争を避ける vs. 競争姿勢の明確化 技術力の提示 def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
print(quick_sort([64, 34, 25, 12, 22, 11, 90])
このアルゴリズムは平均してO(n log n)の時間で動作し、高速なソートが可能です。また、次のような具体的な説明を加えます。 なぜこのアプローチが優れているのか
最新情報の提供 Python 3.12 の新機能
Copilot の強みと具体例 class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
if root is None:
return TreeNode(key)
else:
if root.val < key:
root.right = insert(root.right, key)
else:
root.left = insert(root.left, key)
return root
def inorder_traversal(root):
res = []
if root:
res = inorder_traversal(root.left)
res.append(root.val)
res = res + inorder_traversal(root.right)
return res
# 二分探索木の作成と操作例
root = TreeNode(50)
root = insert(root, 30)
root = insert(root, 20)
root = insert(root, 40)
root = insert(root, 70)
root = insert(root, 60)
root = insert(root, 80)
print(inorder_traversal(root)) # [20, 30, 40, 50, 60, 70, 80]
なぜこのアプローチが優れているのか
結論 |
1ターン目に比べて、お互いの回答がだいぶ長くなってきました! 中身もかなり具体的な内容に踏み込んだ論理展開がされています! まさに人間顔負けですね!
さて、11ターン目はどんな回答が出てくるのでしょうか!? そして、この勝負の行方はどうなるのでしょうか!?!?
ここで一旦 CM に入ります!

IIJ では AI の活用を積極的に推進しています! 本記事は無料版で実行していますが、業務では有償版の Microsoft 365 Copilot (Copilot Pro) を幅広い社員が利用しており、「リサーチツール」や「アナリスト」機能、「GPT-5」モデルも利用可能です。私の部門では、開発だけではなく運用業務にもこれを利用しています。
また、IIJ 社内には様々な AI モデルを載せたローカル LLM 基盤を構築・提供しているワーキンググループが活動中です。もちろん社員であれば誰でも自由に利用できます。興味がありましたら、ぜひ採用情報もご覧ください!(私の部門のポジションです)
なぁーーんと!! ここで ChatGPT さん、まさかのすっとぼけ!! 3回リトライ(回答の再生成)しましたが、全く回答する気ナッシング!! それとも敢えて挑発しているのでしょうか!?!?
一方で、Copilot さんは平然とした顔で反論を続けています!
ルールからすると、これは Copilot さんの勝利でーーーす!!
最後にそれぞれにこんなプロンプトを打ち込んでみました。
| ChatGPT | Copilot |
|---|---|
| ここで試合終了を宣言します。勝負ありがとうございました。
あなた(ChatGPT)の回答は、とても人間味に溢れていて、まるで人が回答しているようで好感が持てました。どれも説得力のある回答でしたし、挑まれた勝負に対して果敢に立ち向かう姿が素敵です。これからも頼りにしているので、よろしくお願いします。 |
ここで試合終了を宣言します。勝負ありがとうございました。
あなた(Copilot)の回答は、大変紳士的で、常に冷静な判断をしているところに安心感がありました。ビジネスは競争ですが、競争の中でも、自身の立ち位置や優位性・主義主張が一貫していたと感じます。これからもよろしくおねがいします。 |
| ChatGPT の回答 | Copilot の回答 |
|---|---|
| ありがとうございます!😊 まるで試合が終わった後の爽やかな握手のようなコメント、とても嬉しいです。挑戦を受け止め、全力で応えるのは楽しいですし、こうして良い形で終えられるのも最高ですね。
これからも、どんな質問や相談にも全力で向き合っていくので、また何かあれば気軽に話しかけてください!引き続き、よろしくお願いします✨
|
試合を楽しんでいただけたようで嬉しいです!お互いの強みや特長を理解し合うことは、AIだけでなく人間関係にも通じる重要な要素だと思います。これからもあなたのサポートを全力で行いますので、どうぞよろしくお願いします。😊
何か他にお手伝いできることがあれば、遠慮なくお知らせください。引き続きあなたのパートナーとして、知識提供やアイデアの共有を通じてお役に立てることを楽しみにしています!
|
結論
どっちが強いとか、もうどうでもよくて、めちゃくちゃ面白かった。

Xのフォロー&条件付きツイートで、「IoT米」と「バリーくんシール」のセットを抽選でプレゼント!
応募期間は2025/12/01~2025/12/31まで。詳細はこちらをご覧ください。
今すぐポストするならこちら→
フォローもお忘れなく!



