OpenAI 的 GPT-5 與 Claude Opus 4.1:編碼比較

CometAPI
AnnaAug 12, 2025
OpenAI 的 GPT-5 與 Claude Opus 4.1:編碼比較

Anthropic 的 Claude Opus 系列(Opus 4 / Claude Opus 4.1)和 OpenAI 的 GPT-5 在現代編碼基準測試中展現了最佳性能,但它們各有優勢:Opus 側重於長上下文、多步驟的代理工作流程,而 GPT-5 則側重於前端優化、開發者工效學和廣泛的產品集成集成。最佳選擇取決於您需要自動化的任務(單檔案產生 vs. 多檔案重構)、成本/吞吐量限制,以及衡量「成功」的方式(透過單元測試、運行時正確性或人工審核開銷)。

為什麼這個問題現在很重要

兩家供應商均於 2025 年 4.1 月初發布了主要版本:Anthropic 宣布推出 Claude Opus 5(2025 年 5 月 XNUMX 日),作為一項專注於代理任務和“真實世界編碼”的迭代改進;OpenAI 則發布了 GPT-XNUMX(系統卡和開發者資料於 XNUMX 月初),迄今為止最強大的模型,並聲稱其明確的模型,迄今為止最強大的模型。這些幾乎同時發布的版本意味著開發者和平台團隊正在積極比較效能、成本和整合路徑——因此,這並非紙上談兵:團隊正在選擇將 Copilot 風格的建議路由到哪個模型,將哪個模型部署到內部程式碼代理之後,以及將哪個模型信任用於安全敏感的自動化。

Claude Opus 4.1 是什麼?

Anthropic 將 Opus 4.1 定位為 Opus 4 的定向升級,強調其在代理和實際編碼任務中擁有更佳的效能。他們表示,Opus 4.1 可供 Claude 付費用戶和 Claude Code 使用,並且已整合到合作夥伴平台(API、Bedrock 和 Vertex)。 Anthropic 的宣傳重點強調了多步驟邏輯的可靠性、程式碼輸出的精確性以及更安全的代理行為。

Claude Opus 4.1 – 架構與編碼功能

  1. 擴展背景和長遠推理: 配備有 約 200 萬個代幣 上下文窗口,顯著增強了其在冗長的工作流程和多文件程式碼庫中保持一致性的能力。
  2. 更高的 SWE-bench 驗證性能:已實現 74.5% SWE-bench Verified 的準確率(高於 Opus 72.5 的 4%),同時代理任務(39.2% 到 43.3%)和推理(79.6% 到 80.9%)也有顯著改善。
  3. 透過思路鍊和 RLHF 進行細化:保留 Opus 4 的架構主幹,同時透過 RLHF 和資料驅動的調整增強思路鏈推理、多步驟連貫性和對細節的關注。
  4. Agentic 工作流程集成:旨在協調多步驟工作流程,包括複雜的程式碼重構和代理工具的使用,同時在擴展會話中保留內部狀態。
  5. 增強工具和創意控制:提供“思考摘要”,濃縮模型的內部推理,提升透明度。 Opus 4.1 也透過 Claude Code、API 鍊和檔案存取功能與開發者工具更好地整合。

什麼是GPT-5?

OpenAI 的公開資料將 GPT-5 描述為他們迄今為止最強大的編碼模型,並發布了基準測試結果(SWE-bench Verified 等),表明其較之前的模型取得了實質改進。 OpenAI 的宣傳強調了 GPT-5 處理複雜前端生成、大型程式碼庫調試以及工具使用效率提升的能力。隨附的系統圖概述了模型組成(快速模型 + 更深層的推理模型)。

GPT-5 – 架構與編碼功能

  1. 動態路由器和雙重處理模式:建構為一個統一的系統,結合了快速反應和深度推理路徑。路由器會動態地將查詢路由到快速產生模式或擴展的「思考」模式,從而提高簡單和複雜任務的效率。
  2. 龐大的上下文視窗:最多支持 256K 代幣 上下文,使其能夠處理大量輸入,如大型程式碼庫、長篇文件和多會話項目,而不會失去連貫性。
  3. 多模式理解與記憶:在單一會話中原生處理文字、圖像、音訊和視訊。包含持久記憶體和個人化功能,可增強長期互動的連續性。
  4. 增強安全性和誠實推理:引入“安全補全”,在實用性與明確承認局限性之間取得平衡。在推理模式下,GPT-5 顯著減少了幻覺和欺騙——在某些測試中,欺騙性輸出從約 86% 降至約 9%。
  5. 推理和冗長控制:開發人員可以調整 reasoning_effort (最小/低/高)和 verbosity (低/中/高),控制輸出深度和細節。也支援透過正規表示式或語法約束進行結構化輸出格式化。

這些確切的數字說明了什麼——基準分數、上下文視窗和代幣定價?

基準和百分比

  • SWE-bench(已驗證):人類學報告 克勞德·奧普斯 4.1:74.5% 在 SWE-bench Verified 上。 OpenAI 報告 GPT-5:74.9% 在相同的基準測試中(在某些多語言基準測試中為 88%)。這些數據表明,兩種模型在實際編碼任務套件中的表現都處於緊密的區間。基準測試結果顯示,在最高端表現相當,但數值上的微小差異很少能清楚反映出實際的生產力。

上下文視窗(為什麼重要)

GPT-5 官方最大組合上下文(輸入 + 輸出)為 400,000 個 token,API 允許最多 ~272,000 個輸入令牌 直到 128,000 個輸出令牌 (這兩個加起來總共 400 萬)。在 ChatGPT 中,免費版可以讓你存取主要的 GPT-5 模型以及 GPT-5 Thinking,但上下文視窗最小,使用限制更嚴格。訂閱者可以獲得相同的模型,但範圍擴大,上下文視窗更大,有 32K 個令牌。專業版是一切的起點。你可以獲得 GPT-5、GPT-5 Thinking 和 GPT-5 Pro——後者是高端版本,旨在實現最大的推理深度和準確性。上下文視窗跳到 128K 個令牌。企業用戶也可以獲得 128K 上下文窗口,而 Teams 限制為 32K。

Claude Opus 4.1(上下文視窗)。 Anthropic 的 Claude Opus 4.1 以混合推理模型的形式發布,具有 約 200,000 萬個代幣 上下文視窗在其產品文件中有所體現,並且它針對長週期、多步驟推理和代理編碼工作流程進行了明確的最佳化。這個 200K 的視窗使 Opus 4.1 能夠將儲存庫、測試和設計筆記的大部分內容保存在單一上下文中——這對於多文件重構、遷移任務和鍊式工具交互非常有幫助,在這些情況下,跨多個步驟維持內部狀態和思路鏈比盡可能低的延遲更為重要。

定價(投入/產出成本範例)

  • OpenAI(GPT-5) 已發布的定價範例,例如 輸入 $1.25 / 1 萬個代幣,輸出 $10 / 1 萬個代幣 適用於標準 GPT-5 變體和較低層級(迷你/奈米),單位成本較低。這些數字對於估算大型 CI 工作流程很有用。
  • 人性(作品 4.1) 某些已發佈頁面的單位成本較高(例如:某個引用頁顯示每15萬個輸入代幣需花費1美元,每75萬個輸出代幣需花費1美元-但Anthropic也宣傳其提供即時快取、批次處理和其他成本節省手段)。請務必查看供應商的定價頁面,以了解您將使用的方案。

意義: 在規模化的情況下,代幣定價 + 輸出細節(模型輸出的代幣數量)至關重要。寫入更多代幣或需要更多迭代次數的模型最終成本會更高,即使每個代幣的費率較低。

他們的優勢如何映射到真正的開發人員任務?

單一檔案產生、原型設計和 UI 程式碼

GPT-5 因其能夠快速生成精美的 UI/UX 程式碼(HTML/CSS/JS)和簡潔的單一檔案實作而備受矚目。這很好地契合了前端鷹架、原型設計和「先生成後人工打磨」的工作流程。 GPT-5 的行銷和早期社群測試強調了設計選擇、間距和前端的美觀度。

多文件重構、長推理和代理工作流程

Anthropic 推薦 Claude(Opus)用於持續的多步驟推理和代理任務——例如大型重構、多文件 API 遷移以及自動化程式碼編排,在這些任務中,助手需要跨多個文件進行推理並保留不變量。 Opus 4.1 明確聲稱改進了多步驟程式碼任務和代理整合。這些優勢意味著在推理數萬個 token 時,可以減少災難性的上下文損失。

他們的編碼選擇如何影響準確性、幻覺和調試?

保真度與幻覺的權衡: Anthropic 公開將 Claude 模型定位為保守且指令對齊(減少某些類型的幻覺),這也是 Opus 4.1 強調「細節追蹤」和規則遵循的原因之一。 OpenAI 的 GPT-5 旨在依靠系統級路由和系統卡中描述的專用安全/緩解措施,在廣泛的任務中實現快速且更可靠的運行。兩家供應商仍然承認殘留幻覺風險,並提供緩解指導。

調試和迭代修復: 在一個提示中編碼更多 repo + 測試輸出可以減少上下文切換,並讓模型能夠提出更廣泛專案狀態的修復方案。 Opus 4.1 宣稱其在遵循多步驟調試指令方面表現出色;GPT-5 則宣稱其具有快速、設計感知的前端生成和更豐富的工具集成。兩者都改進了迭代調試,但都沒有消除人工測試驗證和程式碼審查的需要。

特性比較表

獨特之處GPT-5(開放人工智慧)克勞德‧奧普斯 4.1(人類學)
發行2025 年 8 月2025 年 8 月 5 日
上下文視窗超過 400K 代幣 (長文檔、程式碼庫)約200萬個代幣針對多步驟、長工作流程進行了最佳化
處理模式雙模式(快速與深度“推理”),帶路由長篇思考鍊和持續推理
多式聯運支援文字、圖像、音訊、視訊;持久記憶以文本為主(提升推理能力和創造性思考)
編碼和基準測試74.9% 已通過 SWE-bench 驗證,88% 已通過 Aider Polyglot 驗證74.5% SWE-bench 驗證;強大的多檔案重構
安全可靠減少幻覺,安全完成,誠實輸出保守行為;提高正確性和安全性
控制與工具reasoning_effort、冗長、結構化輸出思考總結,透過Claude Code SDK進行工具集成

如何衡量哪個更好 codebase — 實際評估計畫(含代碼)

以下是一個實用且可重複的工具,您可以執行它來比較您程式碼庫中的 Claude Opus 4.1 和 GPT-5。此工具可自動執行下列任務:(1) 提示模型實現或修復某個功能;(2) 將輸出插入沙盒檔案;(3) 執行單元測試;以及 (4) 記錄測試通過/失敗、令牌使用情況和迭代次數。

警告:執行生成的程式碼功能強大但有風險 - 始終運行沙盒容器,使用資源/時間限制,並且絕不允許生成的程式碼存取敏感機密或網絡,除非有意允許和審核。

1)線束尺寸

  • 單元測試通過率(初級)。
  • 編輯週期數(您需要請求修復的次數)。
  • 消耗的代幣(輸入 + 輸出)。
  • 掛鐘延遲。

2)Python 線束範例(骨架)

您可以使用 CometAPI 進行測試,透過提供一致的身份驗證、請求格式和回應處理,CometAPI 大大簡化了 AI 功能與您的應用程式的整合。

彗星API 提供對 500 多個模型的「一個 API」訪問,並記錄了與 OpenAI 兼容的接口,您可以使用 CometAPI API 密鑰和基本 URL 覆蓋來調用該接口;這使得從直接 OpenAI 客戶端切換變得容易,而無需集成 Anthropic 並在 openAI 之間切換。對於 克勞德作品 4.1,CometAPI 公開了特定的模型標識符(例如 claude-opus-4-1-20250805 以及思考變體)和專用的聊天完成端點。對於 GPT-5,CometAPI 公開具體模型 gpt-5“/”gpt-5-2025-08-07” /“gpt-5-chat-latest。首先,探索模型在 游乐场 並諮詢 API指南 有關詳細說明。

python"""
side_by_side_eval.py

High-level harness:
- tasks: list of dicts {name, prompt, test_file_contents}
- apis: simple wrappers for OpenAI (GPT-5) and Anthropic (Claude Opus 4.1)
- run: for each task, call each model, write code, run pytest, collect metrics

NOTE: replace API_KEY_* with your keys and confirm official endpoints/params per vendor docs.
"""

import os
import json
import subprocess
import time
from typing import Dict, Any
import requests

# === CONFIG - fill these from your environment ===

# === Simple API wrappers (check vendor docs for exact endpoints/params) ===

def call_gpt5(prompt: str, max_tokens=1024) -> Dict:
    url = "https://api.cometapi.com/v1/responses"  # example; confirm actual endpoint    headers = {"Authorization": f"Bearer {CometAPI_API_KEY}"}

    body = {
        "model": "gpt-5",
        "input": prompt,
        "max_output_tokens": max_tokens
    }
    t0 = time.time()
    r = requests.post(url, headers=headers, json=body, timeout=60)
    latency = time.time() - t0
    r.raise_for_status()
    resp = r.json()
    # token info might be in resp depending on API; adapt as needed

    return {"text": resp if "output_text" in resp else resp, "raw": resp, "latency": latency}

def call_claude(prompt: str, max_tokens=1024) -> Dict:
    url = "https://api.cometapi.com/v1/chat/completions"  # example; confirm actual endpoint    headers = {"x-api-key": CometAPI_API_KEY}

    body = {
        "model": "claude-opus-4-1-20250805",        "prompt": prompt,
        "max_tokens_to_sample": max_tokens
    }
    t0 = time.time()
    r = requests.post(url, headers=headers, json=body, timeout=60)
    latency = time.time() - t0
    r.raise_for_status()
    resp = r.json()
    return {"text": resp.get("completion", ""), "raw": resp, "latency": latency}

# === Test runner ===

def run_task(task: Dict, model_fn, model_name: str):
    """Run a single task: call model, write file, run pytest, collect result."""
    prompt = task
    result = model_fn(prompt, max_tokens=task.get("max_tokens", 2048))
    code_text = result

    # write task files into temporary folder

    tmpdir = f"runs/{task}/{model_name}"
    os.makedirs(tmpdir, exist_ok=True)
    code_file = os.path.join(tmpdir, "submission.py")
    with open(code_file, "w") as f:
        f.write(code_text)

    # write tests

    test_file = os.path.join(tmpdir, "test_submission.py")
    with open(test_file, "w") as f:
        f.write(task)

    # run pytest in subprocess with timeout

    try:
        proc = subprocess.run(
            ,
            stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
            timeout=30
        )
        passed = proc.returncode == 0
        output = proc.stdout.decode()
    except subprocess.TimeoutExpired:
        passed = False
        output = "pytest timeout"

    return {
        "model": model_name,
        "task": task,
        "passed": passed,
        "latency": result,
        "tokens_estimate": result.get("usage", {}),
        "stdout": output,
        "code": code_text
    }

# === Example tasks: simple function to implement ===

TASKS = [
    {
        "name": "is_prime",
        "prompt": "Implement a Python function `is_prime(n: int) -> bool` with proper docstring and edge case handling.",
        "test_code": """
import submission
def test_prime():
    assert submission.is_prime(2)
    assert submission.is_prime(13)
    assert not submission.is_prime(1)
    assert not submission.is_prime(0)
    assert not submission.is_prime(-7)
    assert not submission.is_prime(15)
""",
    "max_tokens": 256
    }
]

# === Runner ===

if __name__ == "__main__":
    results = []
    for task in TASKS:
        for model_fn, name in :
            res = run_task(task, model_fn, name)
            print(json.dumps(res, indent=2))
            results.append(res)
    # save to file

    with open("results.json", "w") as f:
        json.dump(results, f, indent=2)

若要模擬多檔案重構,請包含提示中包含多個檔案的任務(或透過檢索提供儲存庫切片)。對於長上下文,請衡量模型是否需要檢索,而不是提示上下文。

您應該報告哪些指標以及為什麼?

  • 單元測試通過率 (每個任務二進位)-主要的、客觀的。
  • 人工校正時間 — 開發人員在測試通過之前必須編輯多長時間。
  • 要經過的迭代次數 — 需要多少輪提示/回饋。
  • 消耗的代幣 — 成本代理(投入+產出)。
  • 掛鐘延遲 — 可供互動使用的事。
  • 安全性和 API 濫用模式 — 例如,產生的程式碼是否使用不安全的 eval/網路呼叫。

收集每個任務的這些數據並彙總(平均通過率、中位數、P95 延遲)。這將提供成本與價值的實際比較圖。

最後的思考

  • GPT-5 以其脫穎而出 多式聯運靈活性、海量情境處理、自適應推理動態、精細的開發者控制以及更高的安全性。它非常適合涉及多種資料類型、長期專案連續性、快速原型設計和互動式代理任務的場景。
  • 克勞德作品 4.1 傾向於 深度、多步驟推理、在長序列中保持出色的一致性,以及在編碼基準測試中表現出色。其在想法和工具方面的增強使其成為複雜程式碼庫轉換和代理開發人員工作流程的絕佳選擇。

您的最佳途徑可能是將兩者結合: 使用 GPT-5 進行豐富的互動式多模式任務和快速原型設計依靠 Claude Opus 4.1 進行深度結構化推理、多檔案重構和高保真程式碼操作.

閱讀更多

一個 API 中超過 500 個模型

最高 20% 折扣