باختصار / إجابة سريعة
لاستخدام واجهة برمجة تطبيقات GPT-5.4: ثبّت OpenAI SDK (pip install openai)، وهيّئ العميل بمفتاح API، واستدعِ chat.completions.create() بالنموذج gpt-5.4. الميزات الرئيسية: استخدام الكمبيوتر (أتمتة المتصفح الأصلية)، البحث عن الأدوات (تقليل الرموز بنسبة 47%)، نافذة سياق بحجم 1 مليون رمز، قدرات الرؤية. الأسعار: 2.50 دولار لكل مليون رمز إدخال، 15 دولار لكل مليون رمز إخراج. يغطي هذا الدليل الإعداد، أمثلة التعليمات البرمجية، تهيئة استخدام الكمبيوتر، دمج الأدوات، وأفضل ممارسات الإنتاج.
مقدمة
GPT-5.4 ليس مجرد ترقية نموذج أخرى. إنه أول نموذج عام من OpenAI بقدرات استخدام الكمبيوتر الأصلية، والبحث الفعال عن الأدوات، ونوافذ سياق بحجم 1 مليون رمز. يتطلب استخدام GPT-5.4 بفعالية فهم هذه القدرات الجديدة وكيفية دمجها في سير عملك.
يقدم هذا الدليل أمثلة عملية للتعليمات البرمجية لكل ميزة رئيسية في GPT-5.4. ستتعلم كيفية تنفيذ أتمتة استخدام الكمبيوتر، وتهيئة البحث عن الأدوات لخوادم MCP، ومعالجة الصور عالية الدقة، والتعامل مع قواعد التعليمات البرمجية ذات السياق الطويل، وتحسين التكاليف لعمليات النشر الإنتاجية.
سواء كنت تقوم ببناء وكلاء الذكاء الاصطناعي، أو أتمتة سير عمل المتصفح، أو دمج GPT-5.4 في التطبيقات الحالية، فإن هذا الدليل يمنحك تفاصيل التنفيذ التي تحتاجها.
بدء سريع: طلبك الأول لـ GPT-5.4
ابدأ واستخدم GPT-5.4 في أقل من 5 دقائق. قبل كتابة التعليمات البرمجية، اختبر طلبات واجهة برمجة تطبيقات GPT-5.4 في Apidog:
- أنشئ طلب HTTP جديدًا باستخدام POST إلى
https://api.openai.com/v1/chat/completions - أضف رأس التخويل (Authorization header):
Bearer YOUR_API_KEY - عيّن نص الطلب (request body) مع النموذج والرسائل والمعاملات
- أرسل وافحص الاستجابة
- احفظ في مجموعة للاختبار المتكرر
- استخدم متغيرات البيئة للتبديل بين مفاتيح API

يُسرع هذا النهج البصري عملية الاختبار الأولي ويساعدك على فهم بنية واجهة برمجة التطبيقات قبل تطبيقها في التعليمات البرمجية.
المتطلبات الأساسية
- حساب OpenAI مع تفعيل الفواتير
- مفتاح API من platform.openai.com/api-keys
- Python 3.7+ أو Node.js 14+
بدء سريع لـ Python
from openai import OpenAI
import os
# Initialize client
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY")
)
# Make request
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "system", "content": "You are a helpful coding assistant."},
{"role": "user", "content": "Write a Python function to sort a list of dictionaries by a key."}
]
)
print(response.choices[0].message.content)بدء سريع لـ Node.js
const OpenAI = require('openai');
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY
});
async function main() {
const response = await client.chat.completions.create({
model: 'gpt-5.4',
messages: [
{ role: 'system', content: 'You are a helpful coding assistant.' },
{ role: 'user', content: 'Write a Python function to sort a list of dictionaries by a key.' }
]
});
console.log(response.choices[0].message.content);
}
main();الإخراج المتوقع
def sort_dicts_by_key(dict_list, key, reverse=False):
"""
Sort a list of dictionaries by a specified key.
Args:
dict_list: List of dictionaries to sort
key: The dictionary key to sort by
reverse: If True, sort in descending order
Returns:
Sorted list of dictionaries
"""
return sorted(dict_list, key=lambda x: x.get(key, ''), reverse=reverse)
# Example usage
data = [
{'name': 'Alice', 'age': 30},
{'name': 'Bob', 'age': 25},
{'name': 'Charlie', 'age': 35}
]
sorted_by_age = sort_dicts_by_key(data, 'age')
print(sorted_by_age)
# [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]فهم قدرات GPT-5.4
يتفوق GPT-5.4 في أربعة مجالات رئيسية. يساعدك فهم هذه المجالات على اختيار النهج الصحيح لكل حالة استخدام.
1. العمل المعرفي (معدل فوز 83% في GDPval)
الأفضل لـ:
- إنشاء وتحليل جداول البيانات
- إنشاء العروض التقديمية
- صياغة وتحرير المستندات
- النمذجة المالية
- تحليل البيانات وإعداد التقارير

2. استخدام الكمبيوتر (موثق بنسبة 75% بواسطة OSWorld)
الأفضل لـ:
- أتمتة المتصفح
- إدخال البيانات عبر التطبيقات
- تجميع بيانات الويب مع التفاعل
- اختبار سير العمل
- أتمتة المهام عبر التطبيقات

3. البرمجة (57.7% SWE-Bench Pro)
الأفضل لـ:
- تطوير الواجهة الأمامية والخلفية (Full-stack)
- إنشاء واجهة المستخدم الأمامية
- تصحيح الأخطاء المعقدة
- إعادة هيكلة التعليمات البرمجية
- إنشاء الاختبارات

4. تكامل الأدوات (54.6% Toolathlon)
الأفضل لـ:
- تكاملات خادم MCP
- سير عمل API متعدد الخطوات
- تنسيق الأدوات الخارجية
- التطبيقات الوكيلة

واجهة برمجة تطبيقات استخدام الكمبيوتر
تمثل قدرات استخدام الكمبيوتر الأصلية في GPT-5.4 أكبر قفزة في هذا الإصدار. يمكن للنموذج تشغيل أجهزة الكمبيوتر من خلال لقطات الشاشة، وأوامر الماوس، وإدخال لوحة المفاتيح.

عند بناء تطبيقات ذات قدرات استخدام الكمبيوتر، اختبر كل خطوة من سير العمل في Apidog:
- التحقق من صحة نقاط نهاية تحميل لقطات الشاشة
- اختبار واجهات برمجة تطبيقات تنفيذ الأوامر (النقر، الكتابة، التمرير)
- إنشاء استجابات وهمية لكل إجراء كمبيوتر
- أتمتة اختبار سير العمل متعددة الأدوار
- توثيق عقد واجهة برمجة تطبيقات استخدام الكمبيوتر لمرجع الفريق
كيف يعمل استخدام الكمبيوتر
يستخدم سير عمل استخدام الكمبيوتر أداة computer في طلبات API. يقوم النموذج بـ:
- يستقبل لقطات شاشة للحالة الحالية للشاشة
- يحلل عناصر واجهة المستخدم ويحدد الإجراءات
- يعيد أوامر الكمبيوتر (النقر، الكتابة، التمرير، إلخ.)
- ينفذ تطبيقك الأوامر ويلتقط لقطات شاشة جديدة
- تستمر الحلقة حتى اكتمال المهمة
إعداد استخدام الكمبيوتر الأساسي
from openai import OpenAI
import base64
client = OpenAI()
def take_screenshot():
"""Capture current screen state - implement for your platform."""
# Use pyautogui, PIL, or platform-specific screenshot
import pyautogui
screenshot = pyautogui.screenshot()
import io
buffer = io.BytesIO()
screenshot.save(buffer, format='PNG')
return base64.b64encode(buffer.getvalue()).decode('utf-8')
def execute_computer_command(command):
"""Execute computer command - implement based on command type."""
import pyautogui
action = command.get('action')
if action == 'click':
x, y = command.get('coordinate', [0, 0])
pyautogui.click(x, y)
elif action == 'type':
text = command.get('text', '')
pyautogui.write(text, interval=0.05)
elif action == 'scroll':
amount = command.get('scroll_amount', 0)
pyautogui.scroll(amount)
elif action == 'keypress':
key = command.get('key', '')
pyautogui.press(key)
# Return new screenshot after action
return take_screenshot()
# Computer use conversation
messages = [{
"role": "user",
"content": [
{
"type": "text",
"text": "Navigate to gmail.com and log in with the credentials I provided."
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{take_screenshot()}"
}
}
]
}]
# Request with computer tool
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
tools=[{
"type": "computer",
"display_width": 1920,
"display_height": 1080,
"display_number": 1
}],
tool_choice="required"
)
# Parse and execute computer commands
for tool_call in response.choices[0].message.tool_calls:
if tool_call.type == "computer":
command = tool_call.function.arguments
new_screenshot = execute_computer_command(command)
# Continue conversation with new screenshot
messages.append({
"role": "assistant",
"content": response.choices[0].message.content
})
messages.append({
"role": "user",
"content": [{
"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{new_screenshot}"}
}]
})سياسات أمان استخدام الكمبيوتر
قم بتهيئة سلوك الأمان بناءً على مدى تحملك للمخاطر:
# Safe mode - requires confirmation for sensitive actions
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
tools=[{
"type": "computer",
"display_width": 1920,
"display_height": 1080,
"confirmation_policy": "always" # or "never" or "selective"
}],
# Custom system message for safety
system_message="""You are operating a computer. Follow these safety rules:
1. Never enter credentials without explicit user confirmation
2. Ask before deleting files or data
3. Confirm before sending emails or messages
4. Report any errors or unexpected states immediately
"""
)مثال على أتمتة المتصفح
أتمتة مهام المتصفح باستخدام تكامل Playwright:
from playwright.sync_api import sync_playwright
def browser_automation_workflow():
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
# Navigate to page
page.goto("https://example.com")
# Get screenshot for GPT-5.4
screenshot = page.screenshot()
screenshot_b64 = base64.b64encode(screenshot).decode('utf-8')
messages = [{
"role": "user",
"content": [
{"type": "text", "text": "Find the login form and fill it out."},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot_b64}"}}
]
}]
# Get computer commands from GPT-5.4
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
tools=[{"type": "computer"}],
tool_choice="required"
)
# Parse and execute commands on browser
for tool_call in response.choices[0].message.tool_calls:
if tool_call.type == "computer":
command = json.loads(tool_call.function.arguments)
if command.get('action') == 'click':
x, y = command.get('coordinate', [0, 0])
page.mouse.click(x, y)
elif command.get('action') == 'type':
page.keyboard.type(command.get('text', ''))
# Get new screenshot and continue
new_screenshot = page.screenshot()
# ... continue loopأتمتة البريد الإلكتروني والتقويم
مثال واقعي: معالجة رسائل البريد الإلكتروني وجدولة الأحداث:
def process_email_and_schedule_meeting():
"""
سير العمل: قراءة رسائل البريد الإلكتروني غير المقروءة، استخراج طلبات الاجتماعات،
التحقق من توفر التقويم، وإرسال دعوات التقويم.
"""
workflow_prompt = """
أكمل سير العمل هذا:
1. افتح Gmail وابحث عن رسائل البريد الإلكتروني غير المقروءة من آخر 24 ساعة
2. حدد أي طلبات اجتماعات أو أسئلة جدولة
3. لكل طلب اجتماع:
- استخرج التواريخ/الأوقات المقترحة
- لاحظ الحضور والغرض من الاجتماع
4. افتح تقويم Google وتحقق من التوفر
5. أرسل دعوات تقويم للاجتماعات المؤكدة
6. رد على رسائل البريد الإلكتروني لتأكيد الوقت المحدد
أبلغ بملخص لما تم إنجازه.
"""
# ابدأ بلقطة شاشة لعلبة الوارد
screenshot = take_screenshot()
messages = [{
"role": "user",
"content": [
{"type": "text", "text": workflow_prompt},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot}"}}
]
}]
# نفذ سير عمل استخدام الكمبيوتر متعدد الأدوار
for turn in range(10): # حد الأدوار لمنع الحلقات اللانهائية
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
tools=[{"type": "computer"}],
tool_choice="required"
)
# تحقق مما إذا كانت المهمة قد اكتملت
if "complete" in response.choices[0].message.content.lower():
print(f"اكتمل سير العمل في {turn + 1} دورة")
break
# نفذ أوامر الكمبيوتر واحصل على لقطة شاشة جديدة
# ... (منطق تنفيذ الأوامر من المثال السابق)تحسين الأداء
نتائج Mainstay في معالجة 30 ألف بوابة ضريبية عقارية:
- معدل نجاح 95% من المحاولة الأولى
- أسرع 3 مرات من النماذج السابقة
- رموز أقل بنسبة 70% لكل جلسة
نصائح للتحسين:
- استخدم لقطات شاشة عالية الجودة (1920x1080 كحد أدنى)
- قدم أوصاف مهام واضحة ومحددة
- نفذ قيودًا على الأدوار لمنع الحلقات اللانهائية
- خزِّن لقطات الشاشة مؤقتًا لتجنب الالتقاط المتكرر
- استخدم سياسات تأكيد انتقائية لسير العمل الموثوق به
البحث عن الأدوات وتكاملها
يقلل البحث عن الأدوات استخدام الرموز بنسبة 47% بينما يتيح العمل مع أنظمة أدوات كبيرة.
كيف يعمل البحث عن الأدوات
بدلاً من تحميل جميع تعريفات الأدوات مسبقًا، يتلقى النموذج قائمة خفيفة الوزن ويبحث عن التعريفات عند الطلب.

إعداد البحث الأساسي عن الأدوات
# تعريف الأدوات المتاحة (قائمة خفيفة الوزن)
available_tools = [
{
"name": "get_weather",
"description": "Get current weather for a location"
},
{
"name": "send_email",
"description": "Send an email to a recipient"
},
{
"name": "calendar_search",
"description": "Search calendar for events"
},
# ... المئات من الأدوات الأخرى
]
# الطلب الأولي - يرى النموذج قائمة الأدوات، وليس التعريفات الكاملة
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "user", "content": "What's the weather in Tokyo and send it to my team?"}
],
tools=available_tools,
tool_choice="auto"
)
# إذا أراد النموذج استخدام أداة، فإنه يطلب التعريف
# يوفر تطبيقك التعريف الكامل في تلك النقطةتكامل خادم MCP
أظهر معيار MCP Atlas الخاص بـ Scale تقليلًا بنسبة 47% في الرموز عند استخدام البحث عن الأدوات.
# خادم MCP مع العديد من الأدوات
mcp_servers = [
{
"name": "filesystem",
"description": "File system operations",
"tool_count": 12
},
{
"name": "database",
"description": "Database query operations",
"tool_count": 8
},
{
"name": "web-search",
"description": "Web search and scraping",
"tool_count": 15
}
# ... 36 خادم MCP في المعيار
]
# تهيئة البحث عن الأدوات
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "user", "content": "Find all Python files modified today and search for TODO comments."}
],
tools=mcp_servers,
# Tool search enabled automatically when using this pattern
parallel_tool_calls=True
)
# سيطلب النموذج تعريفات الأدوات حسب الحاجة
# توفير الرموز: 47% مقارنة بتحميل جميع التعريفات مقدمًاسير العمل متعدد الخطوات على غرار Toolathlon
يختبر Toolathlon سير العمل المعقدة متعددة الخطوات للأدوات:
def grade_assignments_workflow():
"""
سير عمل معقد: قراءة رسائل البريد الإلكتروني مع المرفقات،
التحميل إلى نظام الدرجات، تصحيح المهام،
تسجيل النتائج في جدول البيانات.
"""
workflow_steps = """
1. قراءة رسائل البريد الإلكتروني من الطلاب مع مرفقات المهام
2. تنزيل كل مرفق
3. التحميل إلى بوابة الدرجات
4. تصحيح كل مهمة باستخدام معايير التقييم
5. تسجيل الدرجات في جدول البيانات
6. إرسال رسائل بريد إلكتروني تأكيدية للطلاب
"""
tools = [
{"name": "email_read", "description": "Read emails from inbox"},
{"name": "email_send", "description": "Send emails"},
{"name": "file_download", "description": "Download file attachments"},
{"name": "file_upload", "description": "Upload files to web portal"},
{"name": "web_form_fill", "description": "Fill and submit web forms"},
{"name": "spreadsheet_write", "description": "Write data to spreadsheet"},
{"name": "rubric_evaluate", "description": "Evaluate work against rubric"}
]
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "user", "content": workflow_steps}
],
tools=tools,
parallel_tool_calls=True # تفعيل تنفيذ الأدوات المتوازية
)
# يحقق GPT-5.4 نسبة 54.6% في Toolathlon مقابل 45.7% لـ GPT-5.2
# المفتاح: اختيار أفضل للأدوات وعدد أقل من الأدوار المطلوبةالرؤية ومعالجة الصور
يدعم GPT-5.4 الإدراك البصري المحسّن بتفاصيل الصورة الأصلية التي تصل إلى 10.24 مليون بكسل.
مستويات تفاصيل الصورة
# التفاصيل الأصلية - أعلى دقة (10.24 مليون بكسل، بأبعاد قصوى 6000 بكسل)
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://example.com/high-res-image.jpg",
"detail": "original" # أو "high" أو "low"
}
},
{"type": "text", "text": "Analyze this technical diagram."}
]
}]
)
# تفاصيل عالية - 2.56 مليون بكسل، بأبعاد قصوى 2048 بكسل
# تفاصيل منخفضة - أسرع معالجة، دقة أقلمثال على تحليل المستندات
OmniDocBench: معدل خطأ 0.109 (مقابل 0.140 لـ GPT-5.2)
def parse_complex_document(pdf_path):
"""تحليل ملف PDF متعدد الصفحات مع الجداول والأشكال."""
# تحويل صفحات PDF إلى صور
from pdf2image import convert_from_path
pages = convert_from_path(pdf_path, dpi=300)
messages = [{"role": "user", "content": []}]
for i, page in enumerate(pages[:5]): # أول 5 صفحات
import io, base64
buffer = io.BytesIO()
page.save(buffer, format='PNG')
img_b64 = base64.b64encode(buffer.getvalue()).decode()
messages[0]["content"].append({
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{img_b64}",
"detail": "high"
}
})
messages[0]["content"].append({
"type": "text",
"text": """
استخرج جميع البيانات من هذا المستند:
1. الجداول ذات رؤوس الصفوف/الأعمدة
2. الأشكال الرئيسية وتسمياتها
3. الإحصائيات الملخصة المذكورة في النص
إرجاع بصيغة JSON منظمة.
"""
})
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages
)
return response.choices[0].message.contentتحليل لقطة شاشة واجهة المستخدم
def analyze_ui_screenshot(screenshot_path):
"""تحليل لقطة شاشة واجهة المستخدم لمشكلات إمكانية الوصول."""
with open(screenshot_path, 'rb') as f:
img_b64 = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{img_b64}",
"detail": "original"
}
},
{
"type": "text",
"text": """
راجع لقطة شاشة واجهة المستخدم هذه بحثًا عن مشكلات إمكانية الوصول:
1. مشاكل تباين الألوان
2. ملصقات مفقودة أو مؤشرات نص بديل
3. مشاكل التنقل بلوحة المفاتيح (حالات التركيز المرئية)
4. حجم النص وقابليته للقراءة
5. مخاوف التوافق مع قارئات الشاشة
اذكر المشاكل مع تحديد المواقع ومستوى الخطورة.
"""
}
]
}]
)
return response.choices[0].message.contentسير عمل السياق الطويل
يدعم GPT-5.4 نوافذ سياق تصل إلى 1 مليون رمز (تجريبي).
السياق القياسي (272 ألف رمز)
# تحميل ملف قاعدة تعليمات برمجية كبيرة
with open('large_codebase.py', 'r') as f:
code = f.read()
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "system", "content": "أنت مساعد لمراجعة التعليمات البرمجية."},
{"role": "user", "content": f"""
راجع قاعدة التعليمات البرمجية هذه بحثًا عن:
1. ثغرات أمنية
2. مشاكل الأداء
3. تضارب في أسلوب التعليمات البرمجية
4. معالجة أخطاء مفقودة
التعليمات البرمجية:
{code}
"""}
],
max_tokens=4000
)السياق الموسع (1 مليون رمز)
قم بالتهيئة عبر معاملات API:
response = client.chat.completions.create(
model="gpt-5.4",
messages=[
{"role": "user", "content": large_document}
],
# تهيئة السياق الموسع
extra_body={
"model_context_window": 1048576, # 1 مليون رمز
"model_auto_compact_token_limit": 272000 # ضغط تلقائي بعد 272 ألف
}
)
# ملاحظة: تُحسب الطلبات التي تتجاوز 272 ألف بمعدل استخدام مضاعفتحليل المستندات المتعددة
def analyze_multiple_documents(documents):
"""تحليل 10+ مستندات في سياق واحد."""
content_parts = []
for i, doc in enumerate(documents):
content_parts.append(f"=== المستند {i+1}: {doc['title']} ===\n")
content_parts.append(doc['content'][:50000]) # اقتطع إذا لزم الأمر
content_parts.append("\n\n")
combined_content = "".join(content_parts)
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{
"role": "user",
"content": f"""
حلل هذه المستندات وقدم:
1. ملخص للموضوعات الرئيسية عبر جميع المستندات
2. تناقضات أو عدم اتساق بين المستندات
3. بنود العمل المذكورة في أي مستند
4. الجدول الزمني للأحداث إن أمكن
{combined_content}
"""
}],
max_tokens=8000
)
return response.choices[0].message.contentسير عمل البرمجة والتطوير
يطابق GPT-5.4 أداء GPT-5.3-Codex على SWE-Bench Pro (57.7%) مع إضافة قدرات استخدام الكمبيوتر.
إنشاء الواجهة الأمامية
def generate_frontend_component(spec):
"""إنشاء مكون React كامل مع التنسيق."""
prompt = f"""
أنشئ مكون React كامل بناءً على هذه المواصفة:
{spec}
المتطلبات:
1. مكون وظيفي مع خطافات (hooks)
2. أنواع TypeScript لجميع الخصائص والحالة
3. Tailwind CSS للتنسيق
4. تصميم متجاوب (الجوال، الجهاز اللوحي، سطح المكتب)
5. إمكانية الوصول (تسميات ARIA، التنقل بلوحة المفاتيح)
6. اختبارات الوحدات باستخدام Jest/React Testing Library
إرجاع التعليمات البرمجية الكاملة لـ:
- ملف المكون (.tsx)
- التنسيقات (إذا لم تكن Tailwind)
- ملف الاختبار (.test.tsx)
"""
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": prompt}],
max_tokens=6000
)
return response.choices[0].message.content
# مثال: محاكاة مدينة الملاهي (من عرض OpenAI التوضيحي)
theme_park_spec = """
أنشئ لعبة محاكاة مدينة ملاهي تفاعلية متساوية القياس (isometric):
- وضع المسارات القائمة على المربعات
- بناء الألعاب والمناظر الطبيعية
- إيجاد طريق الضيوف ووقوفهم في الطوابير
- مقاييس المنتزه (المال، الضيوف، السعادة، النظافة)
- قابلة للعب في المتصفح مع اختبار Playwright
- أصول متساوية القياس (isometric assets) مُولّدة
"""
component_code = generate_frontend_component(theme_park_spec)تصحيح الأخطاء المعقدة
def debug_with_full_context(error_logs, codebase_files, stack_trace):
"""تصحيح الأخطاء باستخدام السياق الكامل للسجلات والتعليمات البرمجية وتتبع المكدس."""
context = f"""
سجلات الأخطاء:
{error_logs}
تتبع المكدس:
{stack_trace}
ملفات التعليمات البرمجية ذات الصلة:
{codebase_files}
المهمة: تحديد السبب الجذري وتقديم حل.
ضع في اعتبارك:
1. ظروف السباق (Race conditions) أو مشاكل التوقيت
2. تسرب الذاكرة أو استنزاف الموارد
3. افتراضات غير صحيحة حول تدفق البيانات
4. حالات حافة غير معالجة
5. مشاكل التبعيات الخارجية
قدم:
1. تحليل السبب الجذري
2. تغييرات محددة في التعليمات البرمجية المطلوبة
3. اختبارات لمنع التراجع
"""
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": context}],
max_tokens=4000
)
return response.choices[0].message.contentاختبار Playwright التفاعلي
مهارة Codex التجريبية لاختبار اللعب في المتصفح:
def playwright_interactive_debug():
"""
استخدم Playwright Interactive لاختبار اللعب في المتصفح.
يمكن لـ GPT-5.4 اختبار التطبيقات أثناء بنائها.
"""
prompt = """
أنشئ تطبيق ويب لإدارة المهام واختبره أثناء بنائه:
1. إنشاء هيكل HTML
2. إضافة تنسيق CSS
3. تنفيذ وظائف JavaScript
4. بعد كل ميزة، استخدم Playwright من أجل:
- التحقق من رؤية العنصر
- اختبار تفاعلات المستخدم
- التحقق من استمرارية الحالة
- التحقق من صحة حالات الحافة
الإبلاغ عن أي مشاكل تم العثور عليها أثناء الاختبار وإصلاحها.
"""
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": prompt}],
tools=[{"type": "playwright_interactive"}],
max_tokens=8000
)
return response.choices[0].message.contentاستجابات البث (Streaming)
يقلل البث من التأخير الملحوظ للاستجابات الطويلة.
بث Python
from openai import OpenAI
client = OpenAI()
stream = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "Write a detailed explanation of quantum computing."}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)بث Node.js
const stream = await client.chat.completions.create({
model: 'gpt-5.4',
messages: [{ role: 'user', content: 'Write a detailed explanation of quantum computing.' }],
stream: true
});
for await (const chunk of stream) {
if (chunk.choices[0].delta.content) {
process.stdout.write(chunk.choices[0].delta.content);
}
}البث مع حساب الرموز
def stream_with_usage(stream):
"""تتبع استخدام الرموز أثناء البث."""
total_tokens = 0
for chunk in stream:
if chunk.choices[0].delta.content:
content = chunk.choices[0].delta.content
print(content, end="", flush=True)
total_tokens += len(content) // 4 # تقدير تقريبي
if chunk.usage:
print(f"\n\nالاستخدام: {chunk.usage.total_tokens} رموز")
return total_tokensمعالجة الأخطاء ومنطق إعادة المحاولة
تحتاج التعليمات البرمجية في بيئة الإنتاج إلى معالجة أخطاء قوية.
معالجة الأخطاء الشاملة
from openai import OpenAI, RateLimitError, APIError, AuthenticationError
import time
client = OpenAI()
def make_request_with_retry(messages, max_retries=3):
"""إجراء طلب بمنطق إعادة المحاولة مع التراجع الأسي."""
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
max_tokens=2000,
temperature=0.7
)
return response
except RateLimitError as e:
if attempt == max_retries - 1:
raise
wait_time = 2 ** attempt # 1 ثانية، 2 ثانية، 4 ثوانٍ
print(f"وصلت إلى الحد الأقصى للمعدل. جارٍ الانتظار {wait_time} ثوانٍ...")
time.sleep(wait_time)
except APIError as e:
if e.status_code >= 500: # خطأ في الخادم، أعد المحاولة
if attempt == max_retries - 1:
raise
wait_time = 2 ** attempt
time.sleep(wait_time)
else:
raise # خطأ في العميل، لا تُعد المحاولة
except AuthenticationError:
print("مفتاح API غير صالح. تحقق من بيانات الاعتماد الخاصة بك.")
raise
except Exception as e:
print(f"خطأ غير متوقع: {e}")
raise
raise Exception("تجاوز الحد الأقصى لعدد المحاولات")
# الاستخدام
try:
response = make_request_with_retry([
{"role": "user", "content": "Hello, GPT-5.4!"}
])
print(response.choices[0].message.content)
except Exception as e:
print(f"فشل الطلب: {e}")معالجة مهلة الوقت
import httpx
# تهيئة مهلة الوقت
client = OpenAI(
timeout=httpx.Timeout(60.0, connect=10.0) # إجمالي 60 ثانية، اتصال 10 ثوانٍ
)
try:
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "Long-running task..."}]
)
except httpx.TimeoutException:
print("انتهت مهلة الطلب. فكر في استخدام البث أو تقليل التعقيد.")أفضل ممارسات الإنتاج
استخدام Apidog لسير عمل API في بيئة الإنتاج
قبل نشر تكاملات GPT-5.4 في بيئة الإنتاج، أنشئ سير عمل قوي للاختبار والمراقبة:
خط أنابيب اختبار API:
- استخدم Apidog لإنشاء مجموعات اختبار شاملة تغطي حالات النجاح والفشل
- أتمتة اختبارات API في خطوط أنابيب CI/CD لاكتشاف التغييرات التي قد تتسبب في كسر التطبيق
- محاكاة استجابات GPT-5.4 لاختبارات التكامل لتجنب تكاليف الرموز
- إنشاء وثائق API تلقائيًا من الطلبات المختبرة

تعاون الفريق:
- شارك مجموعات API مع أعضاء الفريق لأنماط تكامل متسقة
- استخدم متغيرات البيئة لإدارة مفاتيح API المختلفة (التطوير/التجربة/الإنتاج)
- أضف وثائق الطلبات التي تشرح السلوك المتوقع وحالات الحافة
نمط التكامل:
استراتيجيات تحسين التكلفة
تحسين الموجهات (Prompts)
# سيء: موجه مطول
bad_prompt = """
Hello! I hope you're doing well. I was wondering if you could possibly help me
with something. I have this code here and I'm not quite sure what it does.
Could you please explain it to me? Here's the code:
""" + code
# جيد: موجه مباشر
good_prompt = f"Explain what this code does:\n{code}"
# توفير الرموز: حوالي 50 رمزًا = 0.000125 دولار لكل طلب
# عند 1 مليون طلب/شهر: توفير 125 دولارًاالتحكم في طول الاستجابة
# عيّن max_tokens بشكل مناسب
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "Summarize this article."}],
max_tokens=200 # لا تدعه يطيل
)
# استخدم تسلسلات التوقف
response = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "List 5 items."}],
stop=["\n\n", "6."] # توقف بعد القائمة
)المعالجة الدفعية (Batch Processing)
# استخدم Batch API للحصول على خصم 50%
from openai import OpenAI
client = OpenAI()
# إنشاء ملف دفعة
batch_requests = []
for article in articles:
batch_requests.append({
"custom_id": article["id"],
"method": "POST",
"url": "/v1/chat/completions",
"body": {
"model": "gpt-5.4",
"messages": [{"role": "user", "content": article["content"]}]
}
})
# التحميل والمعالجة
batch_file = client.files.create(
file=json.dumps(batch_requests),
purpose="batch"
)
batch = client.batches.create(
input_file_id=batch_file.id,
endpoint="/v1/chat/completions",
completion_window="24h"
)
# توفير 50% من التكاليف لأعباء العمل غير الفوريةالتخزين المؤقت للطلبات المتكررة
import hashlib
import json
class ResponseCache:
"""تخزين استجابات API المتطابقة مؤقتًا."""
def __init__(self):
self.cache = {}
def _get_key(self, messages):
return hashlib.md5(json.dumps(messages).encode()).hexdigest()
def get_or_create(self, client, messages, **kwargs):
key = self._get_key(messages)
if key in self.cache:
return self.cache[key]
response = client.chat.completions.create(
model="gpt-5.4",
messages=messages,
**kwargs
)
self.cache[key] = response
return response
# الاستخدام
cache = ResponseCache()
response = cache.get_or_create(client, messages)خاتمة
يفتح GPT-5.4 آفاقًا جديدة للتطبيقات المدعومة بالذكاء الاصطناعي. يتيح استخدام الكمبيوتر الأصلي أتمتة المتصفح وسير العمل عبر التطبيقات. يقلل البحث عن الأدوات التكاليف بنسبة 47% بينما يدعم أنظمة أدوات أكبر. تتعامل الرؤية المحسّنة مع تحليل المستندات المعقدة. وتعالج نوافذ السياق التي تبلغ 1 مليون رمز قواعد التعليمات البرمجية بأكملها.
يتطلب بناء تطبيقات إنتاجية باستخدام GPT-5.4 سير عمل قوي لاختبار واجهة برمجة التطبيقات وتصحيح الأخطاء والتوثيق. يوفر Apidog منصة موحدة لدورة حياة API الكاملة.
سواء كنت تقوم ببناء وكلاء الذكاء الاصطناعي، أو أتمتة سير العمل، أو إنشاء ميزات موجهة للعملاء مدعومة بـ GPT-5.4، فإن امتلاك ممارسات تطوير API قوية يسرع التسليم ويقلل الأخطاء.
ابدأ بإكمال الدردشة الأساسي، ثم أضف استخدام الكمبيوتر، والبحث عن الأدوات، والرؤية حسب متطلبات حالات الاستخدام الخاصة بك. راقب التكاليف عن كثب أثناء النشر الأولي وحسّن الموجهات واستراتيجيات التخزين المؤقت.
الأسئلة الشائعة
كيف أستخدم ميزة استخدام الكمبيوتر في GPT-5.4؟
استخدم أداة computer في طلبات API. أرسل لقطات الشاشة كصور، واستقبل أوامر الكمبيوتر (النقر، الكتابة، التمرير) كاستجابة. نفذ الأوامر باستخدام pyautogui أو Playwright، ثم أرسل لقطات شاشة جديدة. استمر في الحلقة حتى اكتمال المهمة. قم بتهيئة سياسات الأمان بناءً على مدى تحملك للمخاطر.
ما هو البحث عن الأدوات وكيف أفعّله؟
يقوم البحث عن الأدوات بتحميل تعريفات الأدوات عند الطلب بدلاً من التحميل المسبق، مما يقلل استخدام الرموز بنسبة 47%. يمكن تفعيله عن طريق توفير قائمة أدوات خفيفة الوزن في الطلبات. يطلب النموذج التعريفات الكاملة عند الحاجة. يعمل تلقائيًا مع خوادم MCP.
كيف أستخدم نافذة السياق التي تبلغ 1 مليون رمز؟
قم بالتهيئة عبر معاملات extra_body: model_context_window: 1048576 و model_auto_compact_token_limit: 272000. ملاحظة: تُحسب الطلبات التي تتجاوز 272 ألف رمز بمعدل استخدام مضاعف. متاح بشكل تجريبي في Codex.
ما الفرق بين gpt-5.4 و gpt-5.4-pro؟
يقدم GPT-5.4 Pro دقة أعلى في الاستدلال المعقد (89.3% مقابل 82.7% في BrowseComp) ولكنه يكلف أكثر بـ 12 مرة (30 دولارًا/180 دولارًا مقابل 2.50 دولارًا/15 دولارًا). استخدم الإصدار القياسي لمعظم أعباء العمل، والإصدار الاحترافي للمهام التي تتطلب أقصى دقة.
كيف يمكنني تقليل تكاليف واجهة برمجة تطبيقات GPT-5.4؟
استخدم المدخلات المخزنة مؤقتًا (توفير 90%)، وحسّن طول الموجهات، وعيّن حدود max_tokens، واستخدم Batch API (خصم 50%)، ونفذ التخزين المؤقت للاستجابات، واختر مستويات التفاصيل المناسبة للصور.
هل يمكن لـ GPT-5.4 معالجة صور متعددة في طلب واحد؟
نعم. قم بتضمين أجزاء محتوى image_url متعددة في رسالة واحدة. مفيد للمستندات متعددة الصفحات، أو مهام المقارنة، أو لقطات الشاشة المتسلسلة.
كيف أتعامل مع حدود المعدل (Rate limits) في بيئة الإنتاج؟
نفذ منطق إعادة المحاولة مع التراجع الأسي (تأخيرات 1 ثانية، 2 ثانية، 4 ثوانٍ)، استخدم Batch API للمعالجة المجمعة، وزع الطلبات بمرور الوقت، واطلب زيادات في الحد الأقصى للاحتياجات عالية الحجم.
ما هي لغات البرمجة التي يدعمها GPT-5.4 بشكل أفضل؟
يتفوق GPT-5.4 في Python و JavaScript/TypeScript و React و Node.js وتقنيات الويب الشائعة. كما أنه قوي في Java و Go و Rust و SQL. يطابق أداء GPT-5.3-Codex (57.7% SWE-Bench Pro).
كيف أقوم ببث استجابات GPT-5.4؟
عيّن stream=True في طلبات API. قم بالتكرار على أجزاء (chunks) ومعالجة كل تغيير (delta). يقلل من التأخير الملحوظ للاستجابات الطويلة.
هل GPT-5.4 مناسب لأعباء عمل الإنتاج؟
نعم. يحتوي GPT-5.4 على أخطاء واقعية أقل بنسبة 33% من GPT-5.2، ويستخدم الرموز بكفاءة أكبر، ويتضمن معالجة أخطاء قوية. نفذ منطق إعادة المحاولة والمراقبة وتتبع التكاليف لعمليات النشر الإنتاجية.
