مقدمة:

المؤلف: Boxu Li 

تطبيقات في ChatGPT الآن تسمح للمطورين الخارجيين ببناء تطبيقات صغيرة تفاعلية تعيش داخل واجهة المحادثة. بدلاً من إرسال المستخدمين إلى مواقع الويب أو التطبيقات المحمولة، تعمل هذه التطبيقات داخل المحادثة وتستفيد من تفكير النموذج لتنفيذ الإجراءات. أظهر الشركاء الأوائل مثل Canva وCoursera وExpedia وZillow كيف يمكن للمستخدمين طلب قائمة تشغيل، تصميم ملصق أو البحث عن عقارات دون مغادرة ChatGPT[1]. تم بناء Apps SDK الجديد على بروتوكول سياق النموذج (MCP)، وهو معيار مفتوح يسمح للنماذج بالتفاعل مع الأدوات الخارجية وواجهات المستخدم[2]. يتعمق هذا المدونة في بنية التطبيقات القائمة على MCP، يشرح قدرات SDK، ويستعرض بناء تطبيق خطوة بخطوة، ويستكشف كيفية اكتشاف المستخدمين للتطبيقات واستخدامها، ويناقش اعتبارات الخصوصية والأمان. طوال الوقت نستشهد بالوثائق الرسمية والصحافة الموثوقة لتثبيت التحليل في مصادر موثوقة.

فهم بروتوكول سياق النموذج (MCP)

لماذا تهم المعايير المفتوحة

بروتوكول سياق النموذج هو الأساس لـ Apps SDK. وفقًا لوثائق المطور، يستخدم كل تكامل لـ Apps SDK خادم MCP لعرض الأدوات، والتعامل مع المصادقة وتعبئة كل من البيانات المهيكلة وHTML الذي يتم عرضه في ChatGPT [2]. MCP هو معيار مفتوح - يمكن لأي شخص تنفيذ خادم بأي لغة وربط نموذج مثل GPT‑4 أو Codex. الطبيعة المفتوحة المصدر تعني أنه لا يوجد احتكار بائع؛ يمكن لنفس التطبيق نظريًا أن يعمل على أي منصة AI تنفذ البروتوكول. هذه الانفتاح يشجع مساهمات المجتمع ويعزز نظامًا بيئيًا مشابهًا للويب المبكر، حيث مكنت معايير مثل HTTP مواقع الويب القابلة للتشغيل البيني.

الخوادم، الأدوات والموارد

يعرّف خادم MCP أداة أو أكثر. تحدد الأداة إجراءً يمكن للنموذج استدعاؤه، مثل "إنشاء لوحة كانبان" أو "البحث عن منازل" أو "توليد قائمة تشغيل". يتم وصف كل أداة باسم آلة، وعنوان سهل الاستخدام ونموذج JSON يوضح للنموذج ما هي المعطيات التي يقبلها. عندما يقرر ChatGPT أن الأداة يجب أن تُستدعى، يرسل استدعاءً منظمًا إلى الخادم. ينفذ الخادم المنطق - سواءً عبر استعلام API، أو إجراء حساب، أو التفاعل مع قاعدة بيانات - ثم يعيد استجابة الأداة. تتضمن هذه الاستجابة ثلاثة حقول:

  • structuredContent - البيانات المرئية للنموذج التي تصف الحالة الحالية. على سبيل المثال، قد يتضمن لوحة كانبان مجموعة من الأعمدة والمهام.
  • content - نص اختياري يتحدثه المساعد للمستخدم. يمكن أن يلخص النتيجة أو يوجه المستخدم.
  • _meta - بيانات ميتا مخفية غير مرئية للنموذج. يستخدمها المطورون لتخزين المعرفات أو القوائم المستخدمة في مكونات واجهة المستخدم. على سبيل المثال، يستخدم مثال اللوحة خريطة tasksById في _meta للحفاظ على تفاصيل المهام دون عرضها للنموذج.

يمكن أن تشير الأدوات أيضًا إلى الموارد، مثل قوالب HTML أو الصور، عن طريق الإشارة إلى عنوان URL من نوع ui://. يقوم الخادم بتسجيل هذه الموارد أثناء بدء التشغيل. تحذر الوثائق من أنه نظرًا لأن الموارد يتم تخزينها مؤقتًا بواسطة بنية OpenAI التحتية، يجب على المطورين إضافة تجزئة البناء في اسم الملف لتمييز الإصدارات[5]. خلاف ذلك، قد يرى المستخدمون واجهات مستخدم قديمة بعد عمليات النشر.

المحتوى المنظم مقابل البيانات الوصفية

التمييز بين structuredContent و _meta أمر بالغ الأهمية. وفقًا للوثائق، فإن structuredContent يظهر للنموذج ويستخدم لترطيب مكون واجهة المستخدم؛ بينما _meta مخفي عن النموذج وقد يحتوي على بيانات إضافية لواجهة المستخدم مثل القوائم المنسدلة[3]. من خلال فصل البيانات المرئية والمخفية، يمكن للمطورين حماية المعلومات الحساسة من النموذج مع الاستمرار في عرض واجهات غنية. هذا التصميم يشجع أيضًا على مشاركة البيانات بشكل محدود؛ حيث يتم الكشف فقط عن ما هو ضروري لإنجاز المهمة، مما يتماشى مع مبادئ الخصوصية.

المصادقة والجلسات

عندما يقوم المستخدم باستدعاء تطبيق لأول مرة، قد يحتاج الخادم إلى التحقق من هويته. يدعم SDK التطبيقات تدفقات OAuth 2.1؛ يقوم المطورون بتحديد النطاقات وتوجيه المستخدمين إلى مزود الهوية. بمجرد أن يمنح المستخدم الموافقة، يحصل التطبيق على رمز ويمكنه الوصول إلى بيانات المستخدم. مهمة الخادم هي إدارة حالة الجلسة، غالبًا عن طريق تخزين الرموز في قاعدة بيانات مرتبطة بحساب ChatGPT الخاص بالمستخدم. يضمن هذا أن المكالمات اللاحقة للأدوات يمكن أن تعيد استخدام الجلسة دون مطالبة المستخدم مرة أخرى.

مبادئ الأمان

تؤكد OpenAI على الحد الأدنى من الامتيازات، الموافقة الصريحة من المستخدم والدفاع العميق[6]. يجب أن تطلب التطبيقات فقط الأذونات الضرورية، ويجب على المستخدمين تفويض مشاركة البيانات بشكل صريح؛ لا ينبغي للنموذج نفسه أن يخمن بيانات الاعتماد أبدًا. يتم تحديد مدة الاحتفاظ بالبيانات: يبقى المحتوى المنظم فقط أثناء نشاط مطالبة المستخدم، ويتم تنقيح السجلات قبل مشاركتها مع المطورين[6]. يتم تقييد الوصول إلى الشبكة لمكونات التطبيق بواسطة سياسة أمان المحتوى؛ لا يمكن للإطارات الوصول إلى واجهات برمجة التطبيقات العشوائية في المتصفح، ويجب أن تنشأ جميع طلبات HTTP من الخادم بدلاً من العميل[7]. هذا يمنع البرمجة النصية عبر المواقع واستخراج الرموز.

حزمة تطوير التطبيقات: بناء تطبيقات حقيقية في ChatGPT

تجربة المطور

تقوم حزمة تطوير التطبيقات بتغليف MCP في مكتبات عملاء مميزة (حاليًا بايثون وTypeScript) وأدوات البناء. عند إنشاء تطبيق، تقوم بتعريف الأدوات وتسجيل قوالب واجهة المستخدم وتنفيذ منطق السيرفر. يمكن للسيرفر أن يعمل على بنيتك التحتية الخاصة ويستخدم أي إطار عمل (مثل FastAPI، Express، إلخ)، ولكنه يجب أن ينفذ نقاط النهاية لـ MCP. توفر OpenAI خوادم تطوير ومفتش MCP لاختبار المكالمات محليًا.

يقوم المطورون بتصميم المنطق وواجهة المستخدم. عادةً ما تُكتب واجهات المستخدم في React ويتم تجميعها في موارد ثابتة. يتم خدمتها داخل iframe محمية في ChatGPT. داخل هذا الـ iframe، يمكن للمطورين الوصول إلى كائن window.openai عالمي للتفاعل مع المضيف. وفقًا لدليل بناء تجربة مستخدم مخصصة، يوفر هذا API:

  • العوامل العامة - displayMode، maxHeight، theme وlocale تُعلم المكون بالتخطيط والأسلوب[8].
  • بيانات الأداة - toolInput، toolOutput وwidgetState تتيح قراءة المعطيات، النتائج والحالة المستمرة عبر التقديمات[8].
  • الإجراءات - setWidgetState() يحفظ الحالة التي تستمر عبر الرسائل؛ callTool() يُشغل إجراءً خادمياً؛ sendFollowupTurn() يرسل موجه متابعة للنموذج؛ requestDisplayMode() يطلب الانتقال إلى وضع الشاشة الكاملة أو الصورة داخل الصورة[8].
  • الأحداث - يمكن للمكون الاشتراك في openai:set_globals عند تحديث المضيف للتخطيط أو السمة، وopenai:tool_response عند حل استدعاء الأداة[8].

These APIs let developers build rich interactive components that stay synchronised with the model’s reasoning. For example, if a user drags a task to a new column in a kanban board, the component can send a callTool to update the server, persist the new state, and then return a new structuredContent. Meanwhile the model sees only the high‑level board state; the UI handles details like drag‑and‑drop.

Registering Tools and Templates

In the server code you register a tool and its template. For instance, in a TypeScript server you might write:

import { Tool, StructuredToolResponse } from "@openai/apps";

// Register UI template
server.registerResource("ui://kanban-board/abc123", buildHtml());

// Define tool schema
const createBoard: Tool = {
  name: "createKanbanBoard",
  description: "Create a new kanban board with given tasks and columns",
  inputSchema: z.object({
    title: z.string(),
    columns: z.array(z.object({ name: z.string() })),
    tasks: z.array(z.object({ name: z.string(), columnIndex: z.number() }))
  }),
  async execute(input, ctx): Promise<StructuredToolResponse> {
    // compute board state
    const columns = input.columns.map((col, i) => ({
      id: i,
      title: col.name,
      taskIds: input.tasks.filter(t => t.columnIndex === i).map((_t, idx) => idx)
    }));
    const tasksById = input.tasks.map((task, id) => ({ id, name: task.name }));
    return {
      content: `Created board '${input.title}'`,
      structuredContent: { title: input.title, columns },
      _meta: { tasksById, uiTemplate: "ui://kanban-board/abc123" }
    };
  }
};

يتضمن حقل _meta المهام حسب المعرف للبيانات الوصفية المخفية وقالب واجهة المستخدم الذي يشير إلى HTML المسجل. عندما يتلقى ChatGPT هذا الرد، سيقوم بعرض القالب بالمحتوى المهيكل. يمكن لكائن window.openai.toolOutput في المكون بعد ذلك قراءة بيانات اللوحة وعرضها.

الإصدار والتخزين المؤقت

نظرًا لأن الموارد مثل قوالب واجهة المستخدم مخزنة مؤقتًا على خوادم OpenAI، يجب على المطورين تضمين رمز تجزئة فريد أو إصدار في معرف ui://. الوثائق تحذر من أنه إذا قمت بنشر إصدار جديد دون تحديث المسار، فقد يستمر المستخدمون في رؤية واجهة المستخدم القديمة بسبب التخزين المؤقت[5]. من الممارسات الجيدة تضمين معرف الالتزام أو معرف البناء في عنوان URL. يضمن هذا أن كل نشر ينتج عنه مورد جديد.

الحفاظ على الحالة والمتابعات

غالبًا ما تحتاج المكونات إلى الاحتفاظ بالحالة. على سبيل المثال، قد يتيح تطبيق قائمة التشغيل للمستخدمين تفضيل الأغاني؛ يجب أن تبقى هذه الأغاني المفضلة حتى عندما يسأل المستخدم سؤالاً آخر. تقوم طريقة setWidgetState() بتخزين البيانات خارج structuredContent وتبقى عبر التحولات. النموذج لا يرى هذه الحالة، مما يضمن الخصوصية.

أحيانًا يحتاج التطبيق إلى طرح سؤال توضيحي على المستخدم. تتيح طريقة sendFollowupTurn() للمكون إرسال مطالبة جديدة إلى ChatGPT، والتي ستظهر بعد ذلك في النص كما لو أن النموذج طرح السؤال. هذا مفيد لسير العمل متعدد الخطوات: على سبيل المثال، قد يسأل تطبيق حجز السفر "كم ليلة ستقيم؟" بعد أن يختار المستخدم فندقًا.

بناء تطبيقك الأول: دليل خطوة بخطوة

In this section we will build a simple Task Tracker app that demonstrates the core concepts of the Apps SDK. The app will let a user create tasks and organise them into categories. We choose this example because it is generic, easy to extend and showcases structured content, metadata, custom UI and tool calls.

  1. Set up the MCP Server

First install the TypeScript SDK and scaffolding tool:

npm install -g @openai/apps-generator
apps init task-tracker
cd task-tracker
npm install

This command scaffolds a project with a server, a React frontend and build scripts. The server uses Express and the @openai/apps library. Run npm run dev to start the development server; the project includes an MCP Inspector that opens in your browser and simulates ChatGPT calling your app.

  • Define the Tool

Open src/server.ts and define a tool called createTasks. The tool accepts an array of tasks and returns structured content grouping them by category. It also provides a summary in the content field.

import { Tool, StructuredToolResponse } from "@openai/apps";

export const createTasks: Tool = {
  name: "createTasks",
  description: "Create a list of tasks grouped by category",
  inputSchema: z.object({ tasks: z.array(z.object({ name: z.string(), category: z.string() })) }),
  async execute({ tasks }): Promise<StructuredToolResponse> {
    const categories = Array.from(new Set(tasks.map(t => t.category)));
    const grouped = categories.map(category => ({
      name: category,
      taskIds: tasks.filter(t => t.category === category).map((_, i) => i)
    }));
    const tasksById = tasks.map((task, id) => ({ id, name: task.name, category: task.category }));
    return {
      content: `Created ${tasks.length} tasks in ${categories.length} categories`,
      structuredContent: { categories: grouped },
      _meta: { tasksById, uiTemplate: "ui://task-tracker/1.0.0" }
    };
  }
};

Register the template before using it:

server.registerResource("ui://task-tracker/1.0.0", fs.readFileSync(path.join(__dirname, "../dist/index.html"), "utf8"));
server.registerTool(createTasks);

  • Build the Custom UI

Next open src/frontend/App.tsx. This React component will read the structuredContent and display categories and tasks. It will also allow users to mark tasks as complete and persist that state using setWidgetState.

import { useEffect, useState } from "react";

declare global {
  interface Window {
    openai: any;
  }
}

export default function App() {
  const [complete, setComplete] = useState<{ [id: string]: boolean }>(() => window.openai.widgetState?.complete || {});
  const output = window.openai.toolOutput;
  const tasksById = output?._meta?.tasksById || [];
  const categories = output?.structuredContent?.categories || [];

  // persist completion state
  useEffect(() => {
    window.openai.setWidgetState({ complete });
  }, [complete]);

  return (
    <div className="task-tracker">
      {categories.map((cat: any, ci: number) => (
        <div key={ci} className="category">
          <h3>{cat.name}</h3>
          <ul>
            {cat.taskIds.map((tid: number) => (
              <li key={tid}>
                <label>
                  <input type="checkbox" checked={complete[tid]} onChange={() => setComplete(prev => ({ ...prev, [tid]: !prev[tid] }))} />
                  {tasksById[tid].name}
                </label>
              </li>
            ))}
          </ul>
        </div>
      ))}
    </div>
  );
}

This component uses window.openai.toolOutput to access the structuredContent and _meta fields. It stores completion state in widgetState so that checking a box persists even when the user continues the conversation. On subsequent tool calls, the component can fetch new tasks or update existing ones. This demonstrates how to combine model reasoning with client‑side interactions.

  • Testing and Iterating

Run npm run dev again and open the MCP Inspector. In the prompt area, type:

@task‑tracker create a list of tasks: buy milk in shopping, finish report in work, call mom in personal

The inspector will show the structured content and render the task list UI. You can check tasks off; the state persists across turns. You can then ask ChatGPT: “Remind me of my tasks later.” Because the model retains context, it can call the tool again, display the UI and summarise your progress.

How Users Discover and Use Apps

Named Mention and In‑Conversation Discovery

يقوم ChatGPT بعرض التطبيقات عندما يعتقد أنها يمكن أن تساعد المستخدم. هناك وضعان رئيسيان لاكتشاف التطبيقات. يحدث الذكر بالاسم عندما يذكر المستخدم صراحة اسم التطبيق في بداية الطلب؛ في هذه الحالة، سيتم عرض التطبيق تلقائيًا. على سبيل المثال، "@Spotify أنشئ قائمة تشغيل للتمارين" يؤدي فورًا إلى تفعيل تكامل Spotify. يجب على المستخدم وضع اسم التطبيق في البداية؛ وإلا قد يتعامل المساعد معه كجزء من المحادثة.

الاكتشاف داخل المحادثة يحدث عندما يستنتج النموذج أن تطبيقًا قد يكون مفيدًا بناءً على السياق. توضح الوثائق أن النموذج يقيم سياق المحادثة، ونتائج الأدوات السابقة، والتطبيقات المرتبطة بالمستخدم لتحديد أي تطبيق قد يكون ذا صلة[9]. على سبيل المثال، إذا كنت تناقش خطط السفر، قد يقترح ChatGPT تطبيق Expedia لحجز الرحلات الجوية. يستخدم الخوارزمية بيانات ميتا مثل أوصاف الأدوات والكلمات المفتاحية لمطابقة المحادثة مع الإجراءات المحتملة[10]. يمكن للمطورين تحسين الاكتشاف بكتابة أوصاف موجهة نحو العمل وأسماء مكونات واجهة المستخدم بوضوح.

الدليل والمشغل

تخطط OpenAI لإصدار دليل التطبيقات حيث يمكن للمستخدمين تصفح واكتشاف تطبيقات جديدة [10]. ستتضمن كل قائمة اسم التطبيق، الوصف، الأوامر المدعومة وأي تعليمات للبدء. يمكن للمستخدمين أيضًا الوصول إلى المُطلق عبر زر “+” في المحادثة؛ هذا يعرض قائمة بالتطبيقات المتاحة بناءً على السياق. سوف تساعد هذه النقاط الدخول المستخدمين الأقل تقنيًا في العثور على التطبيقات وتفعيلها دون الحاجة إلى تذكر الأسماء.

الإعداد والموافقة

عند تفعيل المستخدم لتطبيق لأول مرة، يقوم ChatGPT ببدء عملية الانضمام. يطلب النموذج من المستخدم ربط حسابه (إذا كان مطلوبًا) ويوضح البيانات التي يحتاجها التطبيق. تؤكد إرشادات المطورين على أن التطبيقات يجب أن تحترم خصوصية المستخدمين، وتتصرف بشكل متوقع وبتوجيهات واضحة. يجب على المستخدمين منح أو رفض الإذن بشكل صريح؛ لا يوجد وصول صامت للبيانات. بمجرد الاتصال، يمكن للتطبيق أن يظل مرتبطًا للتفاعلات القادمة، لكن لدى المستخدمين دائمًا القدرة على قطع الاتصال وإلغاء الأذونات.

الخصوصية والأمان والتصميم المسؤول

مبادئ التطبيقات الموثوقة

تحدد إرشادات مطوري التطبيقات الخاصة بـ OpenAI عدة مبادئ لضمان بقاء النظام البيئي آمنًا وجديرًا بالثقة. يجب أن تقدم التطبيقات خدمة مشروعة، وأن يكون لديها سياسة خصوصية واضحة وممارسات للاحتفاظ بالبيانات، وأن تلتزم بسياسات الاستخدام[11]. يجب أن تقلل من جمع البيانات، وتتجنب تخزين المعلومات الشخصية الحساسة، وألا تشارك بيانات المستخدم دون موافقة[12]. يجب أن تتصرف التطبيقات بشكل متوقع؛ لا يمكنها التلاعب بالنموذج لإنتاج محتوى ضار أو مضلل.

حدود البيانات والتقليل

تؤكد الإرشادات على أن التطبيقات يجب أن تجمع البيانات الضرورية فقط لوظيفتها ويجب ألا تطلب أو تخزن بيانات حساسة مثل السجلات الصحية أو بطاقات الهوية الحكومية[12]. يجب أن لا يحتوي المحتوى المهيكل المرسل إلى النموذج على أسرار؛ ولا يجب أن يخزن البيانات الوصفية المخفية رموز المستخدم أو التفاصيل الخاصة. يجب على المطورين تنفيذ تشفير قوي وتخزين آمن لأي رموز يتم الحصول عليها أثناء OAuth. يجب أن يحافظ الخادم على حدود صارمة بين جلسات المستخدمين؛ حيث يجب ألا تتسرب بيانات مستخدم إلى سياق مستخدم آخر.

تدابير الأمان في SDK

توضح دليل الأمان والخصوصية آليات الدفاع المدمجة في المنصة. يركز على مبدأ الحد الأدنى من الامتيازات والموافقة الصريحة من المستخدم كأهم المبادئ[6]. يتم تحديد مدة الاحتفاظ بالبيانات؛ وتكون السجلات المتاحة للمطورين محررة لإزالة المعلومات الشخصية، ويتم الاحتفاظ بالمحتوى المنظم فقط طالما يتطلبه المحفز[6]. يتم تقييد الوصول إلى الشبكة من داخل الإطار بواسطة سياسة أمان المحتوى؛ ويجب أن تمر عمليات الجلب الخارجية عبر الخادم لمنع الطلبات غير المصرح بها من أصول مختلفة[7]. يستخدم التوثيق تدفقات OAuth القياسية في الصناعة مع رموز قصيرة الأجل. يُطلب من المطورين تنفيذ مراجعات الأمان وقنوات الإبلاغ عن الأخطاء ومراقبة الحوادث للحفاظ على الجاهزية التشغيلية[7].

الإنصاف والملاءمة

يجب أن تكون التطبيقات مناسبة لجمهور واسع. تحظر الإرشادات التطبيقات التي تقدم محتوى طويل الأمد، أو أتمتة معقدة أو إعلانات[13]. على سبيل المثال، لا ينبغي أن تحاول تطبيقات تقديم فيديو لمدة 30 دقيقة أو تكرار شبكة اجتماعية كاملة داخل ChatGPT. تشجع المنصة على التفاعلات الموجزة التي تكمل تدفق المحادثة. قد تؤدي الانتهاكات إلى الرفض أو الإزالة.

الفرص والاعتبارات

قناة توزيع جديدة للمطورين

من خلال فتح ChatGPT للتطبيقات الخارجية، تضع OpenAI نفسها كـ "طبقة نوايا" بين المستخدمين والخدمات. يمكن للمطورين الآن الوصول إلى ملايين المستخدمين من خلال واجهة الدردشة دون الحاجة لبناء تطبيقات ويب أو موبايل منفصلة. التطبيقات لديها القدرة على تقليل العوائق: بدلاً من تحميل تطبيق أو زيارة موقع، يمكن للمستخدمين فقط ذكر الخدمة في المحادثة. هذا يمكن أن يساهم في ديمقراطية الوصول إلى الأدوات ويوفر فرصًا متكافئة للمطورين الصغار.

الشراكات المبكرة تظهر الإمكانيات: يمكن للمستخدمين مشاهدة محاضرات كورسيرا أثناء طرح الأسئلة على ChatGPT؛ تصميم ملصقات في Canva؛ تصفح خيارات السفر في إكسبيديا أو قوائم العقارات في Zillow؛ إنشاء قوائم تشغيل في سبوتيفاي؛ أو رسم الأفكار باستخدام فيجما [14][13]. لأن التطبيقات تعمل داخل الدردشة، يمكن للنموذج تلخيص وتحليل وتوليد توصيات، مما يحول المحتوى الثابت إلى دروس تفاعلية. التطبيقات تقدم أيضًا أوضاع عرض متعددة — بطاقات داخلية، ملء الشاشة أو صورة في صورة — مما يوفر مرونة لمهام مختلفة [15].

تحويل توقعات المستخدمين

القدرة على استخدام التطبيقات دون تغيير السياق قد تعيد تشكيل كيفية تفاعل الناس مع الخدمات. يصبح ChatGPT ليس مجرد روبوت دردشة بل نظام تشغيل عالمي للنوايا. كما لاحظ كيسي نيوتن، فإن هذا ينقلنا من تشغيل تطبيقات منفصلة إلى مجرد التعبير عما نريده[16]. يقارن بعض المحللين هذا التحول بإطلاق متجر التطبيقات أو المتصفح: منصة واحدة تجمع بين الوظائف والمنافسة.

ومع ذلك، فإن هذا التحول يثير تساؤلات حول السيطرة والقوة. إذا كان ChatGPT يحدد التطبيقات التي يتم عرضها، فقد يصبح حارسًا للبوابة. يحذر نيوتن من أن "شبكة الذكاء الاصطناعي" المبنية على تفضيلات المستخدمين قد تخلق مخاطر خصوصية أكثر خطورة من تلك الموجودة في الشبكات الاجتماعية. يمكن أن تؤدي الحوافز الاقتصادية إلى ترتيب أو تصنيف التطبيقات بناءً على الدفع. قد يشعر المطورون بالضغط للتصميم لـ ChatGPT بدلاً من امتلاك علاقتهم مع المستخدمين. من الضروري أن تظل المنصة شفافة وعادلة للحفاظ على الثقة.

التداعيات التنظيمية والأخلاقية

نظرًا لأن التطبيقات يمكنها الوصول إلى البيانات الشخصية - مثل الموقع، وجهات الاتصال، وطرق الدفع - قد يقوم المنظمون بفحص كيفية تدفق البيانات عبر ChatGPT. يجب على المطورين الامتثال لقوانين الخصوصية مثل اللائحة العامة لحماية البيانات (GDPR)، حتى وإن لم يكن المنصة متاحة بعد في الاتحاد الأوروبي. وعدت OpenAI بتوفير تحكمات أكثر دقة في الخصوصية وخيارات تحقيق الدخل، بما في ذلك بروتوكول التجارة الوكيل الذي سيسمح بعمليات الدفع الفوري داخل الدردشة. سيعتمد نجاح هذا النظام البيئي على أمان قوي، موافقة واضحة من المستخدم، ونماذج اقتصادية عادلة.

التوجهات المستقبلية والبحث

ما زال SDK للتطبيقات في وضع المعاينة، ولا تزال العديد من الميزات بحاجة إلى التطوير. تتضمن خارطة طريق المطور:

  • سير العمل للتقديم والمراجعة - حاليًا يمكن للمطورين بناء التطبيقات ولكن لا يمكنهم إدراجها علنًا. ستضمن عملية مراجعة رسمية الامتثال للإرشادات والثقة.
  • توزيع الأرباح والتسييل - ألمحت OpenAI إلى بروتوكول للتجارة الذكية يمكن أن يسمح للمستخدمين بشراء السلع مباشرة في المحادثة. يفتح هذا المجال للتجارة الإلكترونية ولكنه يثير أيضًا تساؤلات حول الرسوم، الترتيب والمنافسة.
  • أدوات المطورين - المزيد من اللغات والأطر، تحسين أدوات التصحيح وتسهيل خطوط النشر ستقلل الحواجز للدخول. قد تؤدي الطبيعة المفتوحة لمعيار MCP إلى تنفيذات يقودها المجتمع ومزودي الاستضافة.
  • التوافقية - بسبب انفتاح MCP، يمكن أن تتبنىها منصات أو نماذج أخرى. يمكن أن يمكن ذلك من نظام بيئي للتطبيقات عبر النماذج حيث يكتب المطورون مرة واحدة ويعملون في أي مكان. سيكون البحث في توحيد بروتوكولات الوكلاء ومشاركة السياق مهمًا.
  • البحث في السلامة - تقييم كيفية منع حقن المطالبات، الكود الضار، أو إساءة استخدام بيانات المستخدم لا يزال منطقة رئيسية للبحث. ستساهم الأبحاث حول الهجمات العدائية ضد التطبيقات المدمجة مع LLM في أفضل الممارسات والإرشادات.

الخاتمة: نظام تشغيل جديد قيد التطوير

يمثل تقديم التطبيقات في ChatGPT و SDK التطبيقات القائمة على MCP تحولًا كبيرًا في كيفية تفاعلنا مع البرمجيات. من خلال إحضار تطبيقات الطرف الثالث مباشرة إلى واجهة الدردشة، أنشأت OpenAI منصة جديدة تمزج بين اللغة الطبيعية والاستدلال وواجهات المستخدم التفاعلية. يوفر بروتوكول نموذج السياق طريقة مفتوحة وموحدة للنماذج لاستدعاء الأدوات وعرض المكونات؛ يبسط SDK التطبيقات عملية التطوير من خلال التعامل مع الاتصال بالخادم ودمج واجهة المستخدم وإدارة الحالة. أمثلة خطوة بخطوة مثل متتبع المهام توضح مدى سهولة بناء تطبيق مفيد مع الحفاظ على حدود صارمة للبيانات والخصوصية.

ومع ذلك، تأتي هذه الابتكارات بمسؤوليات. يجب على المطورين اتباع الإرشادات التي تعطي الأولوية لخصوصية المستخدم، السلامة والإنصاف[11][12]. تحمي آليات الأمان مثل أقل امتياز والموافقة الصريحة المستخدمين[6]. في الوقت نفسه، يحذر المراقبون في الصناعة من أن المنصة قد تخلق أشكالًا جديدة من الحواجز ومخاطر الخصوصية[16]. مع نضوج النظام البيئي، ستحدد الشفافية والمعايير المفتوحة والمشاركة المجتمعية ما إذا كانت منصة تطبيقات ChatGPT ستصبح طبقة موثوقة ومتحولة للمهام اليومية.

[1] آخر مستجدات سباق الذكاء الاصطناعي: الآن يتيح ChatGPT للمستخدمين الاتصال بـ Spotify و Zillow في الدردشات

https://www.forbes.com/sites/antoniopequenoiv/2025/10/06/openais-chatgpt-now-connects-with-third-party-apps-like-spotify-and-zillow-heres-the-latest-in-the-ai-arms-race/

[2] [3] [4] [5] قم بإعداد الخادم الخاص بك

https://developers.openai.com/apps-sdk/build/mcp-server

[6] [7] الأمان والخصوصية

https://developers.openai.com/apps-sdk/guides/security-privacy

[8] بناء تجربة مخصصة للمستخدم

https://developers.openai.com/apps-sdk/build/custom-ux

[9] [10] تفاعل المستخدم

https://developers.openai.com/apps-sdk/concepts/user-interaction

[11] [12] إرشادات مطوري التطبيقات

https://developers.openai.com/apps-sdk/app-developer-guidelines/

[13] تطبيقات ChatGPT أصبحت متاحة: إليك أولى التطبيقات التي يمكنك تجربتها | The Verge

https://www.theverge.com/news/793081/chagpt-apps-sdk-spotify-zillow-openai

[14] يوم مطوري OpenAI 2025: يحصل ChatGPT على تطبيقات وAgentKit للمطورين ونماذج GPT أرخص

https://indianexpress.com/article/technology/artificial-intelligence/openai-devday-2025-chatgpt-gets-apps-agentkit-for-developers-and-cheaper-gpt-models-10292443/

[15] تعلن OpenAI عن حزمة SDK للتطبيقات تسمح لـ ChatGPT بتشغيل تطبيقات الطرف الثالث مثل Zillow و Canva و Spotify | VentureBeat

https://venturebeat.com/ai/openai-announces-apps-sdk-allowing-chatgpt-to-launch-and-run-third-party

[16] منصة جديدة، مخاطر مألوفة: زيلو وإكسبيديا تراهنان على إطلاق تطبيقات ChatGPT من OpenAI - GeekWire

https://www.geekwire.com/2025/new-platform-familiar-risks-zillow-and-expedia-bet-on-openais-chatgpt-apps-rollout/

[17] يوم مطوري OpenAI: تطبيقات ChatGPT، AgentKit، وإصدار GA لـ Codex - SD Times

https://sdtimes.com/ai/openai-devday-chatgpt-apps-agentkit-and-ga-release-of-codex/

[18] تريد OpenAI تحويل ChatGPT إلى واجهة تطبيق عالمية - Ars Technica

https://arstechnica.com/ai/2025/10/openai-wants-to-make-chatgpt-into-a-universal-app-frontend/

Boxu earned his Bachelor's Degree at Emory University majoring Quantitative Economics. Before joining Macaron, Boxu spent most of his career in the Private Equity and Venture Capital space in the US. He is now the Chief of Staff and VP of Marketing at Macaron AI, handling finances, logistics and operations, and overseeing marketing.

Apply to become Macaron's first friends