هل تختبر Apple تفويض نموذج Siri؟ في 14 سبتمبر 2026، أطلقت Apple رسمياً نظام iOS 27 وقدمت الجيل التالي من Siri AI، بينما كشفت عمليات الهندسة العكسية عن وجود بنية برمجية داخلية تسمح لنظام التشغيل بتفويض الاستدلال التحاوري لنماذج طرف ثالث، بما في ذلك Claude من Anthropic وChatGPT من OpenAI. بالنسبة لمهندسي تطبيقات الأجهزة المحمولة ومهندسي المنصات، يسلط ظهور تفويض نموذج Siri ضمن الأطر الخاصة الضوء على تحول معماري نحو تنسيق المساعد الذكي المعياري. وبينما توفر الديناميكيات التنظيمية لقانون الأسواق الرقمية (DMA) في الاتحاد الأوروبي خلفية مؤسسية هامة لقابلية التشغيل البيني على مستوى النظام، فإن تفويض النماذج الخارجية يضيف تبايناً تشغيلياً في تنفيذ نوايا التطبيقات. وبدلاً من توقع نموذج أساسي واحد بسلوك يمكن التنبؤ به، يجب على فرق هندسة الأجهزة المحمولة التعامل مع App Intents كحدود دفاعية للنطاق، مع فرض تحقق صارم من المخططات، وفك التباس دقيق للكيانات، وضمان سلامة الآثار الجانبية بشكل صريح.
بنية iOS 27 والبنية التحتية لتفويض النماذج في الأطر الخاصة
يؤسس الإطلاق الرسمي لنظام iOS 27 بنية تحتية ثنائية التشغيل لذكاء Apple. يعتمد Siri AI على مجموعة نماذج Apple الأساسية الموجودة على الجهاز وعلى الخادم، بما في ذلك نموذج AFM Core المتقدم لتجارب معينة على الجهاز مثل الإملاء على مستوى النظام والأصوات التعبيرية، إلى جانب نماذج الخادم التي تعمل من خلال مجموعات الحوسبة السحابية الخاصة (Private Cloud Compute). ضمن هذه البيئة، يعمل Siri AI كمنسق عبر التطبيقات الأصلية، مستفيداً من السياق الشخصي عبر البريد والرسائل والصور، والوعي بما يظهر على الشاشة عبر View Annotations، والفهارس الدلالية المدعومة بواسطة Spotlight.
نظرة سريعة
- البنية التحتية للتفويض الداخلي: تحدد التسريبات من إصدارات iOS 27 وmacOS 27 آليات داخلية—تحديداً آلية تفويض النموذج وبروتوكول توفير الاستدلال ضمن خدمات إدارة النماذج—المصممة لتوجيه الطلبات إلى نماذج طرف ثالث مثل Claude وChatGPT.
- صلاحيات النظام غير المعلنة: تظل قدرات التفويض متعدد النماذج هذه مقصورة على أطر النظام الخاصة؛ ولم تتح Apple صلاحيات التفويض الخارجي للمطورين الخارجيين أو المستخدمين النهائيين.
- App Intents كعقد مدعوم: بغض النظر عما إذا كان الطلب الأولي يتم تحليله بواسطة نماذج Apple الأساسية أو وكيل استدلال خارجي، تظل App Intents هي الحدود البرمجية الموثقة من Apple لعرض إجراءات تطبيقات الطرف الثالث على النظام.

يسلط التحليل التقني الذي نشره MacRumors الضوء على أن المطورين الذين فحصوا الأطر الخاصة اكتشفوا طبقتين معماريتين متميزتين. الأولى هي آلية تفويض النموذج التي تمكن نماذج الطرف الثالث مثل Claude من العمل كامتداد مساعد متكامل. في العروض التقنية المسجلة، يفسر Claude طلباً بلغة طبيعية غير مقيدة ويستخرج الهدف التشغيلي للمستخدم، ولكن عندما تتطلب المهمة الوصول إلى بيانات النظام أو تنفيذ التطبيق المحلي، يقوم النموذج الخارجي بتفويض الإجراء المهيكل مرة أخرى إلى Siri. الآلية الثانية، والأكثر عمقاً، تتضمن بروتوكول توفير الاستدلال في خدمات إدارة النماذج الخاصة بنظام التشغيل، والذي يحتوي على مسارات برمجية قادرة على استبدال الواجهة الخلفية للاستدلال المستندة إلى خوادم Apple بنموذج أساسي بديل.
تمثل البيئة التنظيمية في أوروبا خلفية مؤسسية مهمة لهذه التطورات. بموجب المادة 6(7) من قانون الأسواق الرقمية (DMA) في الاتحاد الأوروبي، تخضع أنظمة التشغيل التي تعمل كحراس بوابة لتفويضات التشغيل البيني التي تتطلب وصولاً متساوياً إلى ميزات المنصة الأساسية. وبينما قامت Apple مؤقتاً بحجب ميزات Siri AI الموجهة للمستهلكين عن سوق الاتحاد الأوروبي في انتظار المواءمة التنظيمية بشأن خصوصية البيانات وأمنها، فإن وجود أدوات تنسيق محايدة للنماذج داخل ملفات النظام الثنائية يشير إلى أن فرق هندسة Apple تختبر معيارية تقنية قد تكون مفيدة في حال ظهور متطلبات أوسع للتشغيل البيني عبر النماذج.
ملاحظة حول النطاق الهندسي: يؤكد الدليل العام وجود آليات تفويض النماذج الخاصة، ويؤكد بشكل منفصل أن App Intents هي الواجهة المدعومة من Apple لعرض إجراءات تطبيقات الطرف الثالث. لم توثق Apple رسمياً الجسر الداخلي الدقيق الذي يربط بين هاتين الطبقتين. يمثل الرسم التوبولوجي أدناه نموذجاً مرجعياً توضيحياً.
+-------------------------------------------------------------------------+ | نموذج مرجعي: حدود App Intents العامة حول التفويض الخاص | +-------------------------------------------------------------------------+ | | | [ إدخال اللغة الطبيعية للمستخدم (صوت / الجزيرة الديناميكية / الكتابة لـ Siri) ]| | | | | v | | [ منسق النظام: حل السياق وفهرس Spotlight الدلالي ] | | | | | +----------------------+----------------------+ | | | | | | v v | | [ ذكاء النظام الأساسي ] [ مسار التفويض الخاص ] | | - نماذج AFM Core على الجهاز - مسار تفويض النموذج | | - الحوسبة السحابية الخاصة - خدمات إدارة النماذج | | | (مسارات Claude / GPT) | | | | | | +----------------------+----------------------+ | | | | | v | | [ جسر الإجراءات الداخلي غير الموثق ] | | | | | v | | [ حدود App Intents العامة: AppIntent للتطبيق و EntityQuery ] | | | | | +----------------------+----------------------+ | | | | | | v v | | [ التحقق من النوع الأصلي ] [ فك التباس المعاملات ] | | (فحص الحدود، عزل الممثل) (حوار المستخدم والاختيار) | | | +-------------------------------------------------------------------------+
تشريح طبقة تفويض النماذج: تنسيق النظام مقابل عقود App Intent
يعتبر التمييز المعماري بين الاستدلال باللغة الطبيعية وتنفيذ التطبيق أمراً جوهرياً لفهم كيفية معالجة iOS لسير عمل المساعد. في تطبيقات مساعد الأجهزة المحمولة التقليدية، كان يتم تنسيق معالجة الكلام وتوزيع الوظائف من خلال فئات نطاق ثابتة ضمن SiriKit. على مدى إصدارات المطورين المتتالية، انتقلت Apple بهذه الواجهة نحو إطار عمل App Intents التعريفي.
في ظل هذا النموذج الحديث، لا تقوم التطبيقات الأصلية بتحليل تدفقات الصوت أو الاحتفاظ بقواميس الصوتيات. بدلاً من ذلك، يكشف التطبيق عن أصلين أساسيين لسجل وقت تشغيل النظام:
- إعلانات
AppEntity: تمثيلات مكتوبة لنماذج الأعمال الداخلية (مثل سجل الطلبات، أو ملف تعريف الحساب، أو مرجع مستند). يمكن للتطبيقات بالإضافة إلى ذلك عرض كيانات مؤهلة لبحث Spotlight أو آليات الوعي بما يظهر على الشاشة من خلال واجهات برمجة تطبيقات الفهرسة والتعليقات التوضيحية الخاصة بالعرض. - مواصفات
AppIntent: إجراءات روتينية قابلة للتنفيذ تحتوي على معاملات مكتوبة بقوة، وملخصات طلبات محلية، وعقود إرجاع.

عندما تقوم الأطر الداخلية بتوجيه كلام المستخدم من خلال نموذج استدلال خارجي، تفصل طبقة التفويض بين فهم الطلب وتنفيذ الإجراء. في سير العمل الموضح، يعمل النموذج الخارجي كمفسر دلالي أولي ويمكنه إرجاع الإجراءات إلى Siri. بالنسبة لتطبيقات الطرف الثالث، يحدد إطار عمل App Intents الموثق من Apple بشكل منفصل العقود المكتوبة التي يتم من خلالها عرض الإجراءات المدعومة للنظام.
مقارنة مفاهيمية مبسطة: تطور المساعد
إرسال مطابقة النمط الكلاسيكي:
إدخال المستخدم -> قواعد النطاق النحوي -> ملء الخانات -> استدعاء المعالج
خط أنابيب التنسيق متعدد النماذج:
إدخال المستخدم -> موفر النموذج النشط (AFM / Claude / GPT)
-> توليف المعاملات الدلالية
-> عقد Swift AppIntent رسمي
-> التحقق الدفاعي وحل الكيانات
-> منطق عمل النطاق
يكشف هذا الفصل الهيكلي عن واقع هندسي هام: تقدم نماذج الاستدلال باللغة الطبيعية تبايناً دلالياً. توثق Apple أن App Intents هي العقد المكتوب الذي يتم من خلاله عرض إجراءات التطبيق المدعومة لـ Siri وذكاء Apple. قد تختلف نماذج الاستدلال الأولية المختلفة في كيفية تفسيرها للغة المستخدم المكافئة قبل الوصول إلى ذلك العقد، مما يضيف فروقاً دقيقة في الرموز وافتراضات دلالية مختلفة. في البنى التحتية الافتراضية متعددة النماذج، قد يقوم نموذج واحد بتوليف رمز مرجعي أبجدي رقمي دقيق، بينما يقدم نموذج آخر سلسلة وصفية غير مباشرة أو عنوان كيان جزئي.
وبالتالي، لا يمكن لمطوري تطبيقات الأجهزة المحمولة افتراض أن تسليم النموذج الأولي يضمن مدخلات نطاق صالحة. يوفر إطار عمل App Intents الواجهة الهيكلية، لكن تظل مسؤولية التحقق من أن المعاملات الواردة تتوافق مع الثوابت التشغيلية الواقعية بالكامل داخل كود التطبيق الأصلي.
معايير الهندسة الدفاعية لـ Swift AppIntents
يتطلب تكييف تطبيقات iOS مع بيئة قد تنشأ فيها النوايا الأولية من نماذج استدلال متعددة تقنيات برمجة دفاعية. بدلاً من التعامل مع استدعاءات النوايا الواردة كأحداث نظام تم التحقق منها مسبقاً، يجب على فرق الهندسة تصميم معالجات النوايا بنفس الدقة المطبقة على وحدات تحكم REST API الخارجية أو نقاط نهاية RPC العامة.
قد يتم تنفيذ App Intents في أوضاع المقدمة أو الخلفية اعتماداً على تكوين وقت التشغيل المعلن الخاص بها. لذلك يجب على المطورين تجنب افتراض وجود تسلسل هرمي نشط للنافذة أو تقديم وحدات تحكم في واجهة المستخدم متزامنة ما لم تتطلب النية صراحة سياق تنفيذ في المقدمة. بالنسبة للنوايا التي تعدل حالة مشتركة أو بعيدة، يعد عزل منطق النطاق خلف خدمات نطاق غير متزامنة وآمنة للخيوط نمطاً دفاعياً قوياً.
| البعد الهندسي | النمط التوضيحي البسيط | نمط App Intent الدفاعي متعدد النماذج |
|---|---|---|
| استيعاب المعاملات | يفترض سلاسل مطابقة أو أنواعاً أولية | يتحقق من مجموعات الأحرف، طول السلسلة، وثوابت النطاق |
| حل الكيانات | بحث مباشر عن المفاتيح عبر EntityQuery |
ينفذ EntityStringQuery للبحث في النصوص المطبعة |
| تدفق فك التباس | يطرح خطأ نظام عام عند الفشل | يميز بين القيم المفقودة (needsValueError) والخيارات (needsDisambiguationError) |
| التحكم في الآثار الجانبية | ينفذ تعديلات الحالة على الفور | يدمج requestConfirmation() للإجراءات المدمرة أو عالية التأثير |
| نموذج التزامن | مهمة غير متزامنة غير مقيدة | ممثل نطاق معزول يمنع ظروف السباق أثناء إعادة المحاولة |
للحفاظ على السلامة التشغيلية عند التعامل مع المدخلات التي يتم توليفها عبر موفري نماذج متنوعين، يجب أن تشتمل البنى التحتية على أربعة أنماط تنفيذ دفاعية:
- حل الكيانات المستند إلى المعرف والسلسلة: نفذ
EntityStringQueryلدعم كل من بحث المعرف الفريد وعمليات البحث في النصوص العشوائية. عندما يقدم نموذج خارجي تسمية وصفية بدلاً من مفتاح دقيق، تتعامل مطابقة السلاسل المطبعة مع العبارات الجزئية بمرونة. - توضيح المعاملات التفاعلي: إذا تم حذف معامل مطلوب من قبل موفر الاستدلال الأولي، يجب أن تستدعي المعالجات مطالبات القيم التفاعلية (
needsValueError). عندما تتطابق كيانات متعددة مع عبارة غامضة، يجب أن يقوم النظام بتشغيل فك التباس (needsDisambiguationError). - ثبات التعديلات الدائم: نظراً لأن المساعدين التحاوريين قد يعيدون إصدار الطلبات بعد انتهاء مهلة الشبكة أو تأكيدات المستخدم الغامضة، يجب أن تقبل نوايا المعاملات أو تشتق رموز تشغيل دائمة لمنع الآثار الجانبية المكررة.
- تأكيد صريح للتعديلات عالية التأثير: بالنسبة للإجراءات التي تتضمن التزامات مالية، أو تعديلات الحساب، أو الحذف غير القابل للإلغاء، استخدم
requestConfirmation()لضمان موافقة المستخدم الصريحة قبل تنفيذ تغييرات الحالة.
// ملاحظة حول النطاق الهندسي: مثال Swift التالي هو بنية مرجعية
// توضح التحقق الدفاعي من AppIntent، وفك التباس استعلام الكيان، و
// تنفيذ النطاق الموحد. وهي ليست تنفيذاً موصى به من Apple لأطر
// العمل الخاصة بتفويض النموذج غير المصدرة بعد.
import Foundation
import AppIntents
// MARK: - تمثيل كيان التطبيق الدلالي
public struct BookingEntity: AppEntity {
public static var defaultQuery = BookingQuery()
public static var typeDisplayRepresentation: TypeDisplayRepresentation = "حجز الخدمة"
public var id: String
public var serviceName: String
public var referenceCode: String
public var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(
title: "\(serviceName)",
subtitle: "المرجع: \(referenceCode)"
)
}
}
// MARK: - محلل استعلام الكيانات الدفاعي (بحث المعرف والسلسلة)
public struct BookingQuery: EntityStringQuery {
public init() {}
// 1. يحل المعرفات الفريدة الدقيقة المقدمة من النظام أو التخزين المؤقت المستمر
public func entities(for identifiers: [String]) async throws -> [BookingEntity] {
var resolvedEntities: [BookingEntity] = []
for id in identifiers {
if let entity = await BookingDataSource.shared.fetchBooking(byId: id) {
resolvedEntities.append(entity)
}
}
return resolvedEntities
}
// 2. يتعامل مع سلاسل البحث باللغة الطبيعية التي يتم توليفها بواسطة نماذج الاستدلال الأولية
public func entities(matching string: String) async throws -> [BookingEntity] {
return await BookingDataSource.shared.searchBookings(matching: string)
}
// 3. يعيد مقترحات المرشحين الأولية عند عدم تقديم معامل استعلام
public func suggestedEntities() async throws -> [BookingEntity] {
return await BookingDataSource.shared.fetchAllActiveBookings()
}
}
// MARK: - نمط AppIntent الدفاعي المرجعي
public struct ConfirmBookingIntent: AppIntent {
public static var title: LocalizedStringResource = "تأكيد الحجز"
public static var description = IntentDescription(
"يؤكد موعداً نشطاً أو حجراً باستخدام كيان حجز تم التحقق منه.",
categoryName: "الحجوزات"
)
// مهيأ لفك التباس وقت التشغيل التفاعلي إذا تم حذفه أو كان غامضاً
@Parameter(
title: "الحجز المستهدف",
description: "كيان الحجز النشط المحدد الذي سيتم تأكيده."
)
public var targetBooking: BookingEntity?
// رمز التوحيد الدائم المقدم من المتصل لمنع الآثار الجانبية الزائدة
@Parameter(
title: "رمز تعديل العميل",
description: "رمز عميل دائم لفرض توحيد التعديل عبر عمليات إعادة المحاولة التحاورية."
)
public var mutationToken: String?
public init() {}
public init(targetBooking: BookingEntity, mutationToken: String? = nil) {
self.targetBooking = targetBooking
self.mutationToken = mutationToken
}
// تنفيذ بدون واجهة معزول عن تسلسل واجهة المستخدم في المقدمة
public func perform() async throws -> some IntentResult & ReturnsValue & ProvidesDialog {
// التحقق الدفاعي: مطالبة منسق النظام إذا تم حذف معامل الكيان
guard let booking = targetBooking else {
throw $targetBooking.needsValueError(
"أي حجز نشط تود تأكيده؟ يرجى تحديد رمز المرجع أو عنوان الخدمة."
)
}
// التحقق من النطاق: التحقق من معاملات التشغيل المطلوبة
guard !booking.id.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else {
throw BookingDomainError.invalidIdentifier
}
// بالنسبة لتعديلات الحالة المدمرة أو عالية التأثير، استدع واجهة برمجة تطبيقات التأكيد الموثقة:
// try await requestConfirmation()
// فرض التوحيد الدائم: رفض التعديلات المكررة إذا تم توفير رمز
if let token = mutationToken {
let alreadyProcessed = await BookingStateManager.shared.isTokenProcessed(token)
if alreadyProcessed {
return .result(
value: true,
dialog: "تم تأكيد هذا الحجز بالفعل. لم يتم اتخاذ أي إجراء إضافي."
)
}
}
// تنفيذ منطق النطاق الأساسي داخل ممثل معزول
do {
let confirmationSuccess = try await BookingExecutionService.shared.executeConfirmation(
bookingId: booking.id
)
// حفظ الرمز عند نجاح تعديل الحالة
if let token = mutationToken, confirmationSuccess {
await BookingStateManager.shared.recordToken(token)
}
return .result(
value: confirmationSuccess,
dialog: "تم تأكيد حجزك بنجاح لـ \(booking.serviceName)."
)
} catch let domainError as BookingDomainError {
// نشر أخطاء النطاق المكتوبة المتوافقة مع LocalizedError
throw domainError
}
}
}
// MARK: - ممثلو النطاق الداعمون والبنية التحتية المعزولة
public enum BookingDomainError: Error, LocalizedError {
case invalidIdentifier
case reservationExpired
case networkUnavailable
public var errorDescription: String? {
switch self {
case .invalidIdentifier:
return "معرف الحجز المقدم غير صالح أو مشوه."
case .reservationExpired:
return "انتهت صلاحية هذا الحجز ولا يمكن تأكيده بعد الآن."
case .networkUnavailable:
return "غير قادر على الاتصال بخدمة الحجز. يرجى التحقق من اتصالك."
}
}
}
public actor BookingStateManager {
public static let shared = BookingStateManager()
private var processedTokens = Set()
public func isTokenProcessed(_ token: String) -> Bool {
return processedTokens.contains(token)
}
public func recordToken(_ token: String) {
processedTokens.insert(token)
}
}
public actor BookingExecutionService {
public static let shared = BookingExecutionService()
public func executeConfirmation(bookingId: String) async throws -> Bool {
// يحاكي تعديل خدمة بعيدة غير متزامن
try await Task.sleep(nanoseconds: 80_000_000)
return true
}
}
public actor BookingDataSource {
public static let shared = BookingDataSource()
public func fetchBooking(byId id: String) -> BookingEntity? {
if id == "TC-2026-01" {
return BookingEntity(id: id, serviceName: "استشارة تقنية", referenceCode: "TC-2026-01")
}
return nil
}
public func searchBookings(matching query: String) -> [BookingEntity] {
let all = fetchAllActiveBookings()
let normalized = query.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
return all.filter {
$0.serviceName.lowercased().contains(normalized) ||
$0.referenceCode.lowercased().contains(normalized)
}
}
public func fetchAllActiveBookings() -> [BookingEntity] {
return [
BookingEntity(id: "TC-2026-01", serviceName: "استشارة تقنية", referenceCode: "TC-2026-01"),
BookingEntity(id: "HD-2026-88", serviceName: "تشخيص الأجهزة", referenceCode: "HD-2026-88")
]
}
}
حدود إجراءات النظام وفك التباس النوايا
يعد التحدي الأساسي في التنسيق متعدد النماذج هو إدارة الغموض عندما لا تتوافق طلبات المستخدم بشكل نظيف مع حالة التطبيق غير الغامضة. عندما يفوض المساعد التفسير إلى نموذج أساسي خارجي، يزداد خطر التباعد الدلالي: قد يؤدي طلب المستخدم مثل "أكد موعدي" إلى معامل نية يحتوي على سلسلة تاريخ نسبية، أو اسم عمل تجاري، أو وصف خدمة غير رسمي.
ضمن بنية App Intents من Apple، يتعامل منسق النظام مع حل المعاملات من خلال حلقة تغذية راجعة مستمرة بين مخططات التطبيق المنشورة وواجهة المساعد النشطة. بدون توضيحات مناسبة أو روابط فك التباس، قد يكون النظام غير قادر على حل الكيان المقصود بشكل موثوق وقد يعود إلى تفاعل فاشل أو متدهور.

+-------------------------------------------------------------------------+ | تسلسل فك التباس المعاملات الدفاعي | +-------------------------------------------------------------------------+ | | | [ النموذج الأولي يجمع معاملات المرشحين ] | | | | | v | | [ تقييم EntityStringQuery للتطبيق لمدخلات المعرف / البحث ] | | | | | +---------------------------------------+ | | | تم العثور على مطابقة معرف دقيقة | غامض أو متعدد | | v v | | [ المضي قدماً في التحقق ] [ الاستعلام يسفر عن نتائج متعددة ]| | | | | | | v | | | [ طرح needsDisambiguationError() ] | | | | | | | v | | | [ النظام يعرض قائمة اختيار ] | | | | | | | v | | | [ المستخدم يختار الكيان المستهدف ]| | | | | | +<--------------------------------------+ | | | | | v | | [ تنفيذ نية الأثر الجانبي مع سياق الكيان المؤكد ] | | | +-------------------------------------------------------------------------+
لبناء فك التباس يمكن التنبؤ به، يجب على المطورين الاستفادة من القدرات التفاعلية لإطار عمل App Intents:
- عرض المرشحين المهيكل: يجب أن تعيد
EntityStringQuery.entities(matching:)مصفوفة من حالاتAppEntityالمرشحة المعبأة بعناوين وعناوين فرعية وصفية. إذا ظل مرشحون متعددون معقولين دلالياً في وقت التشغيل، فإن طرحneedsDisambiguationError(among:dialog:)يوجه النظام لعرض حوار اختيار أصلي. - تكامل حوار النية: يجب أن تستخدم المعالجات
ProvidesDialogلتزويد المنسق بالسياق التحاوري. عند نجاح العملية أو مواجهة شرط عمل قابل للاسترداد، فإن إرجاع حاويات حوار مخصصة يضمن حصول المستخدم على ملاحظات دقيقة بغض النظر عن النموذج الذي عالج الطلب الأولي. - نشر خطأ النطاق السلس: عندما لا يمكن إكمال إجراء بسبب قواعد عمل الواجهة الخلفية (مثل نافذة حجز منتهية الصلاحية أو مخزون فارغ)، فإن طرح أخطاء Swift المكتوبة والمتوافقة مع
LocalizedErrorيضمن أن المساعد يقدم تفسيرات عملية ومحلية بدلاً من رموز النظام الغامضة.
من خلال الاستثمار في دقة حل الاستعلام ونشر الأخطاء التواصلي، يضمن المطورون بقاء تطبيقاتهم مرنة سواء تم استدعاؤها بواسطة نماذج Apple المتكاملة أو مساعدين مستقبليين مفوضين من أطراف ثالثة.
الأسئلة الشائعة (FAQ)
ما هو الفرق بين تفويض نموذج Siri وتكامل ChatGPT الحالي؟
هل ينص قانون الأسواق الرقمية (DMA) في الاتحاد الأوروبي على أن تسمح Apple لنماذج الذكاء الاصطناعي التابعة لجهات خارجية باستبدال Siri؟
هل يمكن لنماذج الطرف الثالث الوصول إلى بيانات التطبيق الخاصة مباشرة عند التعامل مع نية مفوضة؟
توجيهات استراتيجية لفرق هندسة الأجهزة المحمولة
للتحضير لقواعد تعليمات برمجية للتطبيقات من أجل ذكاء نظام تشغيل معياري بشكل متزايد، يجب على المنظمات الهندسية تبني المعالم التقنية التالية:
-
تدقيق وتحديث تغطية App Intent: بالنسبة لحالات الاستخدام المدعومة، أعط الأولوية لمخططات
AppIntentالحديثة في Swift عند كشف قدرات جديدة، وقم بتدقيق عمليات تكامل SiriKit القديمة لفرص الترحيل. يجب أن يكون كل إجراء رئيسي مصحوباً ببيانات وصفية دلالية واضحة وواصفة. -
تنفيذ حل الكيانات المستند إلى المعرف والسلسلة: استخدم
EntityStringQueryلدعم كل من استرجاع المعرف الموروث منEntityQueryومطابقة النصوص العشوائية. يجب أن تتعامل المحللات مع مدخلات السلسلة الطبيعية ذات الأحرف الصغيرة والجزئية لاستيعاب تنسيقات المعاملات المتنوعة التي يتم إنشاؤها بواسطة محركات استدلال مختلفة. -
عزل تعديلات الحالة خلف ممثلي الخلفية: أعد صياغة أساليب تنفيذ الأعمال بحيث تعمل النوايا ضد خدمات نطاق غير مرئية وآمنة للخيوط. لا ينبغي أن يفترض تنفيذ النية مشهد نافذة نشط ما لم يتطلب وضع التنفيذ المعلن الخاص بها صراحة أو ينتقل سياق المقدمة أو الانتقال إليه.
-
فرض التحقق من التعديلات على مرحلتين: بالنسبة للإجراءات الحساسة التي تنطوي على التزامات مالية، أو تعديلات الحساب، أو الحذف غير القابل للإلغاء، استخدم
requestConfirmation()لضمان موافقة المستخدم الصريحة قبل تنفيذ تغييرات الحالة. -
إنشاء مجموعات اختبار النوايا الشاملة: ابنِ اختبارات وحدة وتكامل مؤتمتة للتحقق من أن معالجات
AppIntentتتصرف بشكل صحيح عند تزويدها بمدخلات حالة الحدود، والسلاسل الفارغة، ومراجع الكيانات المشوهة.
المراجع
-
Apple. (2026). Siri AI، مساعد أكثر قدرة وشخصية بفضل الجيل التالي من ذكاء Apple، أصبح هنا. غرفة أخبار Apple.
-
Apple Developer Documentation. (2026). دمج تطبيقك مع Siri وذكاء Apple باستخدام App Intents. مطور Apple.
-
المفوضية الأوروبية. (2022). اللائحة (EU) 2022/1925 بشأن الأسواق القابلة للمنافسة والعادلة في القطاع الرقمي (قانون الأسواق الرقمية). الجريدة الرسمية للاتحاد الأوروبي.
-
MacRumors. (2026). Siri AI من Apple يمكن استبدالها بـ Claude وChatGPT، كما يكشف الكود.
Share this article



