إنتقل إلى المحتوى الرئيسي

استخدام AWS Bedrock مع Cursor (BYOK)

AWS Bedrock BYOK in Cursor

يتيح لك Bring Your Own Key (BYOK) توجيه Cursor إلى مزوّد نماذج تدفع له بالفعل بدلًا من توجيه النماذج المدمج في Cursor. ويُعد AWS Bedrock من أكثر الخيارات شيوعًا لأنه يستضيف Anthropic Claude ونماذج متقدّمة أخرى خلف حساب AWS تتحكّم فيه بالفعل. يشرح هذا الدليل ما هو BYOK، ولماذا Bedrock تحديدًا، وكيفية ضبطه في Cursor، وكيف تعمل الفوترة وضبط التكلفة، وكيفية إصلاح الأخطاء الأكثر احتمالًا للوقوع، بما في ذلك الخطأ المربك «Invalid signature in thinking block is bound to a different conversation».

ما هو BYOK ومتى تستخدمه​

يعني BYOK أن توفّر بيانات اعتماد مزوّدك الخاص، ويفوترك المزوّد مباشرةً مقابل الرموز التي تستهلكها. وفي Cursor، يظل النموذج يعمل عبر واجهة Cursor وميزاته، لكن طلب الاستدلال يذهب إلى حسابك أنت لا إلى حساب Cursor.

تريد عمومًا استخدام BYOK عندما:

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

BYOK ليس أرخص دائمًا. فأسعار Cursor المضمّنة والقائمة على الاستخدام قد تتفوّق على Bedrock للفرق الصغيرة، كما أنك تتحمّل إدارة الحصص بنفسك. اختر BYOK للتحكّم والامتثال، لا للسعر وحده.

BYOK لكل مزوّد نماذج، لا لكل دردشة

في Cursor تُفعّل المزوّدين في Settings > Models. وبمجرد تفعيل Bedrock وحفظ بيانات اعتمادك، تصبح معرّفات نماذج Bedrock التي اخترتها قابلة للاختيار في أي مكان يختار فيه النموذج. ولستَ محبوسًا في Bedrock للنماذج الأخرى.

BYOK مقابل التوجيه المدمج في Cursor​

من المفيد رؤية المسارين جنبًا إلى جنب قبل أن تلتزم.

البُعدالنماذج المدمجة في CursorBYOK مع Bedrock
الفوترةCursor يفوتركAWS يفوترك مباشرةً
بيانات الاعتماديديرها Cursorتوفّر مفاتيح AWS وتدوّرها بنفسك
الحصةيديرها Cursorتدير الحصص لكل نموذج بنفسك
الامتثالحدود Cursorحساب AWS ومنطقتك
جهد الإعدادصفرIAM، والوصول إلى النماذج، وضبط المزوّد
قائمة النماذجمنسّقة من Cursorأي شيء تتيحه منطقتك

إذا كنت مطوّرًا منفردًا تُحسّن للسرعة، ابقَ على التوجيه المدمج. أما إذا كنت في مؤسسة تحتاج فيها فاتورة AWS والمنطقة وسياسة IAM جميعًا أن تكون لك، فـ BYOK هو الجواب الصحيح.

لماذا AWS Bedrock​

Bedrock طبقة استدلال مُستضافة، لا نموذجًا بحد ذاته. وهو يعرض Anthropic Claude وAmazon Nova وMeta Llama وMistral وغيرها عبر AWS API واحد. ذلك الـ API الواحد هو سبب جاذبيته للاستخدام المؤسسي.

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

المقايضات هي الصورة المعكوسة: أنت تتحمّل الحصة وإعداد IAM واستكشاف الأخطاء.

المتطلّبات المسبقة​

قبل ضبط Cursor، جهّز ما يلي على جانب AWS.

حساب AWS والوصول إلى النماذج​

تحتاج حساب AWS مع تفعيل الفوترة. وفي وحدة تحكم Bedrock، الوصول إلى النماذج اختياري لكل نموذج، لذا يجب أن تطلب الوصول صراحةً إلى نماذج Anthropic Claude التي تنوي استخدامها. تُمنح بعض النماذج تلقائيًا؛ بينما تتطلب أخرى خطوة قبول أو نموذج حالة استخدام قصير.

أذونات IAM​

أنشئ مستخدم أو دور IAM لـ Cursor بأضيق الأذونات التي تعمل مع ذلك. في الحد الأدنى، يحتاج Cursor إلى استدعاء النماذج وسردها.

إذن IAMلماذا يحتاجه Cursor
bedrock:InvokeModelيرسل طلبًا غير مُتدفّق إلى نموذج
bedrock:InvokeModelWithResponseStreamيرسل طلبًا مُتدفّقًا، وهو ما تستخدمه واجهة الدردشة
bedrock:ListFoundationModelsيملأ منتقي النماذج ويتحقّق من معرّفات النماذج

بالنسبة لنماذج Claude على Bedrock، تحتاج عادةً أيضًا إلى bedrock:InvokeModel محصورًا على ARNs النموذج أو، ببساطة أكثر، على ملفات تعريف الاستدلال في المنطقة. أبقِ السياسة محصورة وتجنّب إرفاق سياسات إدارية واسعة.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CursorBedrockInvoke",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-5-v1:0",
"arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5-v1:0"
]
},
{
"Sid": "CursorBedrockList",
"Effect": "Allow",
"Action": "bedrock:ListFoundationModels",
"Resource": "*"
}
]
}

أرفق هذه السياسة بمستخدم أو دور IAM مخصّص لـ Cursor بدلًا من إعادة استخدام هوية إدارية موجودة. وإذا كانت مؤسستك تستخدم بيانات اعتماد قصيرة العمر، فافتضّ دورًا وجدّد رمز الجلسة دوريًا بدلًا من إنشاء مفتاح ثابت.

تحقّق من الوصول قبل ضبط Cursor​

أثبت أن بيانات الاعتماد تعمل من سطر الأوامر أولًا. إن فشل الاستدعاء هنا، فسيفشل في Cursor أيضًا، وتكون قد وفّرت على نفسك رحلة ذهاب وإياب مربكة.

# Confirm the configured identity is the one you expect
aws sts get-caller-identity

# List the models your region exposes
aws bedrock list-foundation-models \
--region us-east-1 \
--query "modelSummaries[?contains(modelId, 'anthropic')].[modelId]" \
--output table

إذا نجح السرد لكن فشل الاستدعاء، فالمشكلة في الوصول إلى النموذج أو في معرّف النموذج المحدّد، لا في بيانات الاعتماد.

اختيار المنطقة​

اختر منطقة يتوفّر فيها النموذج الذي تريد ويُسمح ببقاء بياناتك فيها. يُدعم الاستدلال عبر المناطق لبعض النماذج عبر بادئة ملف تعريف الاستدلال، فقد لا تكون محدودًا بمنطقة واحدة.

ضبط Bedrock في Cursor​

يعرض Cursor مزوّدي BYOK في إعدادات Models. والتدفق نفس الشكل لكل مزوّد.

  1. افتح Cursor Settings > Models.
  2. ابحث عن مزوّد AWS Bedrock وفعّله.
  3. أدخل معرّف مفتاح الوصول في AWS، ومفتاح الوصول السرّي، والمنطقة.
  4. اختر معرّفات النماذج التي تريد ظهورها في المنتقي.
  5. احفظ وارجع إلى دردشة، ثم اختر نموذج Bedrock.

حقول بيانات الاعتماد​

يحتاج Cursor إعدادًا مُحدَّدًا بالمنطقة. وتبدو كتلة مزوّد Bedrock تقريبًا هكذا:

{
"provider": "bedrock",
"aws_access_key_id": "AKIAIOSFODNN7EXAMPLE",
"aws_secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"aws_region": "us-east-1",
"models": [
"anthropic.claude-sonnet-4-5-v1:0",
"anthropic.claude-3-5-haiku-v1:0"
]
}

فضّل مفتاح وصول IAM طويل العمر كخيار أخير لجهاز مطوّر. أما لفريق، فاستخدم جلسة مؤقتة أو دورًا مفترضًا حتى لا تُخزَّن المفاتيح كنصّ صريح على القرص.

معرّفات النماذج والاستدلال عبر المناطق​

تتبع معرّفات نماذج Bedrock شكلًا متوقّعًا: المورّد ثم العائلة ثم الإصدار. وتتطلّب بعض النماذج بادئة ملف تعريف الاستدلال، الذي يوجّه الطلب عبر المناطق للتوفّر والإنتاجية.

# Direct model IDs (region-scoped)
anthropic.claude-sonnet-4-5-v1:0
anthropic.claude-3-5-haiku-v1:0

# Cross-region inference profile IDs (note the region prefix)
us.anthropic.claude-sonnet-4-5-v1:0
eu.anthropic.claude-sonnet-4-5-v1:0
apac.anthropic.claude-sonnet-4-5-v1:0

إذا أعاد نموذج خطأ وصول رغم تفعيلك له، فمعرّف النموذج هو السبب تقريبًا دائمًا: تحقّق مما إذا كان يحتاج البادئة us. أو eu. للمنطقة التي اخترتها.

مفاتيح الوصول أسرار

لا تلصق مفاتيح الوصول في دردشة أو ملف قواعد أو لقطة شاشة مشتركة. خزّنها حيث يخزّن Cursor بيانات اعتماد المزوّد، ودوّر أي مفتاح تشكّ في تعرّضه. مفاتيح المثال أعلاه عناصر نائبة في توثيق AWS العام، وليست بيانات اعتماد حقيقية.

التحقّق من الاتصال في Cursor​

بعد حفظ إعداد المزوّد، أكّد التوصيل بمطالبة تافهة بدلًا من مهمة حقيقية، حتى يكون الفشل قاطعًا.

  1. افتح دردشة جديدة واختر أحد معرّفات نماذج Bedrock من منتقي النماذج.
  2. اطلب شيئًا صغيرًا، مثل «أجب بكلمة ready».
  3. إذا عاد الرد، فبيانات الاعتماد والمنطقة ومعرّف النموذج كلها صحيحة.
  4. إذا فشل، أعد تشغيل اختبار الاستدعاء من CLI أدناه وقارن نص الخطأ بما يُظهره Cursor.
# Invoke the model directly so you can see the raw error text
aws bedrock-runtime invoke-model \
--model-id anthropic.claude-sonnet-4-5-v1:0 \
--region us-east-1 \
--body '{"anthropic_version":"bedrock-2023-05-31","max_tokens":16,"messages":[{"role":"user","content":"reply with the word ready"}]}' \
--cli-binary-format raw-in-base64-out \
/tmp/out.json && cat /tmp/out.json

إن الاحتفاظ بأمر CLI عامل لكل نموذج تستخدمه يحوّل رسائل خطأ Cursor من غامضة إلى قابلة للتفسير، لأنك تعرف بالفعل كيف يبدو الاستدعاء الناجح.

الفوترة وضبط التكلفة​

مع BYOK، يفوترك AWS مقابل الرموز لا Cursor. وهذا يغيّر طريقة وضعك للميزانية والمراقبة.

تسعير النماذج​

يفوتر Bedrock لكل رمز إدخال وإخراج، ويعتمد السعر على النموذج. رموز الإدخال أرخص عمومًا من رموز الإخراج، وتكلّف النماذج ذات السياق الطويل أكثر لكل رمز من الصغيرة.

عائلة النموذجتكلفة الإدخال النسبيةتكلفة الإخراج النسبيةملاحظات
فئة Claude Sonnetمتوسطةمتوسطةافتراضي قوي للبرمجة العامة
فئة Claude Haikuمنخفضةمنخفضةسريع ورخيص وجيد للتعديلات الصغيرة
فئة Claude Opusعاليةعاليةأفضل تفكير وأعلى تكلفة
Amazon Novaمنخفضةمنخفضةبدائل فعّالة من حيث التكلفة

تخصيص التكلفة والمراقبة​

وسّم استخدامك لـ Bedrock حتى يكون قابلًا للنسبة، وراقب المقاييس لا الفاتورة.

# Enable cost allocation tags on the resources that call Bedrock
aws resourcegroupstaggingapi tag-resources \
--resource-arn-list arn:aws:bedrock:us-east-1:123456789012:inference-profile/us.anthropic.claude-sonnet-4-5-v1:0 \
--tags Project=cursor-byok Team=platform

في CloudWatch، تتبّع مقاييس استدعاء Bedrock واضبط تنبيه فوترة حتى لا ينفق وكيل جامح ميزانيتك الشهرية بصمت بين ليلة وضحاها.

# Quick cost sanity check: list recent Bedrock usage with Cost Explorer
aws ce get-cost-and-usage \
--time-period Start=2026-10-01,End=2026-10-20 \
--granularity DAILY \
--metrics BlendedCost \
--filter '{"Dimensions":{"Key":"SERVICE","Values":["Amazon Bedrock"]}}'

تقليل تكلفة الرموز​

يضع BYOK عدّاد الرموز في يديك، فتُجدي بعض العادات سريعًا:

  • اضبط حجم النموذج. استخدم نموذجًا من فئة Haiku للتعديلات الصغيرة واحتفظ بالنموذج من فئة Opus للتفكير الصعب فعلًا.
  • أبقِ السياق محكمًا. نافذة السياق المتضخّمة أكبر تكلفة خفية؛ ابدأ دردشة جديدة عندما ينحرف الخيط.
  • اجمع التعديلات الصغيرة. تكلّف عدة مطالبات صغيرة أكثر من مطالبة واحدة محدّدة النطاق جيدًا تغطّي نفس التغييرات.
  • قلّل القواعد. كل قاعدة تُطبَّق دائمًا هي رموز تُرسل في كل طلب، فأبقِ .cursor/rules نحيفًا.
  • راقب الأسبوع الأول. راجع Cost Explorer يوميًا في الأسبوع الأول، ثم أسبوعيًا، لتتعلّم خطك الأساسي الحقيقي قبل أن يفاجئك.

إصلاح خطأ «Invalid signature in thinking block»​

هذا أكثر أخطاء Bedrock إرباكًا في Cursor لأنه يبدو كأنه مشكلة مفتاح API لكنه تقريبًا دائمًا مشكلة حالة محادثة. النص الكامل يقول:

Invalid `signature` in `thinking` block is bound to a different conversation

السبب الجذري​

ينتج التفكير الممتد لدى Claude كتل تفكير مشفّرة تحمل توقيعًا مرتبطًا بالمحادثة والدورة الدقيقتين اللتين أُنشئت فيهما. وعندما تُعاد تلك الكتل إلى طلب جديد، لم يعد المحتوى الموقّع مطابقًا ويرفض المزوّد الطلب كله. يحدث هذا عندما:

  • تُعاد إرسال كتلة تفكير ممتد من دورة سابقة في دورة لاحقة،
  • يخزّن وسيط أو بوابة جسم الطلب ويعيد تشغيله،
  • تكون حالة المحادثة قديمة أو مكرّرة، مثلًا بعد تبديل النماذج في منتصف الخيط.

الإصلاحات​

اعمل على هذه بالترتيب:

  1. ابدأ دردشة جديدة. التوقيع مرتبط بالمحادثة، فالدردشة الجديدة هي إعادة الضبط الموثوقة.
  2. عطّل التفكير الممتد للنموذج أثناء التصحيح، ثم أعد تفعيله بمجرد أن يصبح التدفق نظيفًا.
  3. حدّث Cursor. أُصلح التعامل مع توقيعات كتل التفكير في إصدارات أحدث؛ والعميل القديم سبب شائع.
  4. أزل الوسطاء أو البوابات الوسيطة التي قد تخزّن أو تعيد كتابة أجسام الطلبات بين Cursor وBedrock.
  5. اخفض درجة الحرارة وقصّر الخيط حتى تتراكم كتل تفكير أقل في السياق.
ابدأ بدردشة جديدة أولًا، وكل ما عدا ذلك ثانيًا

في تسعين بالمئة من الحالات، يحلّ بدء دردشة جديدة خطأ التوقيع فورًا. وإذا تكرّر في دردشة جديدة تمامًا، فعندئذٍ انظر إلى الوسطاء وإصدار العميل.

أخطاء التقييد وresource_exhausted​

يطبّق Bedrock حصص إنتاجية لكل حساب ولكل نموذج. وعند تجاوزها تحصل على خطأ تقييد أو resource_exhausted بدلًا من فشل نظيف.

ResourceNotFoundException / ServiceQuotaExceededException:
You have exceeded the rate of requests allowed for this model.

هذه مشكلة حصة لا مشكلة بيانات اعتماد. وإصلاحان:

  • وزّع الحمولة عبر النماذج أو المناطق. ملفات تعريف الاستدلال عبر المناطق موجودة تحديدًا لتجميع السعة.
  • اطلب زيادة في الحصة في وحدة تحكم AWS Service Quotas للنموذج Bedrock الذي تستخدمه.
# List the Bedrock service quotas you can request increases for
aws service-quotas list-service-quotas \
--service-code bedrock \
--query "Quotas[?contains(QuotaName, 'Claude')].[QuotaName,QuotaCode,Value]" \
--output table

يزول الخطأ عادةً من تلقاء نفسه بمجرد أن تخفّ حركة الذروة، لكن إن كان مزمنًا فالطلب زيادة الحصة هو الإصلاح.

أخطاء الوصول والمنطقة والوسيط​

رفض الوصول عندما لا يُمنح الوصول إلى النموذج​

AccessDeniedException: You don't have access to the model with the specified model ID

يهيمن سببان هنا:

  • لم يُمنح الوصول إلى النموذج أبدًا في وحدة تحكم Bedrock. افتح وحدة التحكم واطلب الوصول إلى نموذج Anthropic ذلك تحديدًا.
  • سياسة IAM ضيّقة أكثر من اللازم أو معرّف النموذج خاطئ. أكّد أن السياسة تمنح bedrock:InvokeModelWithResponseStream وأن نص معرّف النموذج يطابق نموذجًا فعّلته فعلًا.

منطقة خاطئة​

إذا كانت المنطقة المضبوطة في Cursor لا تستضيف النموذج، أو احتاج معرّف النموذج بادئة عبر المناطق، تفشل الطلبات رغم صلاحية المفتاح. أكّد أن المنطقة في Cursor تطابق المنطقة في وحدة التحكم حيث فعّلت الوصول إلى النموذج.

فشل التدفّق خلف وسطاء الشركات​

التدفّق هو الافتراضي للدردشة. غالبًا ما تكسر وسطاء الشركات وجدران الحماية التي تفحص TLS ردود text/event-stream، ما يظهر كدردشة تتعلّق أو تعيد إجابة جزئية.

  • أدرج نقاط نهاية Bedrock الإقليمية في القائمة البيضاء (مثل bedrock-runtime.us-east-1.amazonaws.com).
  • تأكّد من أن الوسيط لا يخزّن الردود المُتدفّقة؛ ابحث عن إعداد «streaming» أو «chunked transfer».
  • إذا كان الوسيط لا مفرّ منه، أكّد ما إذا كان Cursor يستطيع تجاوزه لمضيف Bedrock.

مرجع سريع لاستكشاف الأخطاء​

العرضالسبب المحتملالإصلاح
Invalid signature in thinking blockكتل تفكير أُعيد تشغيلها عبر محادثاتابدأ دردشة جديدة، عطّل التفكير الممتد، حدّث Cursor
resource_exhausted / تقييدتجاوز حصة لكل نموذجوزّع عبر المناطق، اطلب زيادة حصة
AccessDeniedExceptionالوصول إلى النموذج غير ممنوح أو السياسة ضيّقةفعّل النموذج في وحدة التحكم، وسّع سياسة IAM
النموذج غير موجود / لا وصول في منطقةمنطقة خاطئة أو بادئة ملف تعريف استدلال ناقصةطابق المنطقة، استخدم البادئة us. / eu.
الدردشة تتعلّق بلا مخرجات تدفّقوسيط يخزّن text/event-streamأدرج نقاط نهاية Bedrock، عطّل تخزين الوسيط
منتقي النماذج فارغbedrock:ListFoundationModels مفقودأضف الإذن، وأعد حفظ بيانات الاعتماد
خطأ مصادقة بعد تدوير المفتاحبيانات اعتماد قديمة محفوظة في Cursorأعد إدخال مفتاح الوصول والسرّ في إعدادات Models
يعمل محليًا ويفشل في CIالمنطقة أو الملف الشخصي غير مُمرَّر في خط الأنابيبعيّن المنطقة والملف الشخصي في بيئة CI

بمجرد أن يستقر التدفق، أبقِ ملاحظة قصيرة بمنطقتك ومعرّفات نماذجك وحدود حصصك إلى جانب إعداد المزوّد. وعندما يظهر خطأ بعد ستة أشهر، تحوّل تلك الملاحظة تحقيقًا يستغرق ساعتين إلى إصلاح يستغرق دقيقتين.