شغّل وكلاء Letta على نقطة نهاية متوافقة مع OpenAI.

Updated 2026-07-29

يقرأ Letta ذاتي الاستضافة OPENAI_API_BASE وOPENAI_API_KEY من البيئة، لذا متغيّران يوجّهان وكلاءه ذوي الحالة نحو بوابة. يصف upstream نقاط نهاية البروكسي بأنها غير مدعومة رسمياً، وهذه الصفحة تأخذ ذلك بجدية: ما يعمل، ما المتطلبات، وأين كانت الحواف الحادة.

إجابة سريعة: متغيّرا بيئة على الخادم.

مسار Letta الموثَّق لنقاط النهاية المتوافقة مع OpenAI هو إعداد بيئة على الخادم ذاتي الاستضافة: اضبط OPENAI_API_BASE على عنوان URL لنقطة النهاية وOPENAI_API_KEY على مفتاحها عند بدء تشغيل الخادم، ويسجّل Letta النماذج التي تخدمها نقطة النهاية تلك. بالنسبة لـ APIsRouter الـ base هو https://api.apisrouter.com/v1. لا يوجد حقل base-URL لكل وكيل في الواجهة؛ نقطة النهاية قرار على مستوى الخادم، ولهذا البيئة هي السطح المهم. متطلب واحد غير قابل للتفاوض ويستحق القراءة قبل أي شيء آخر: ينص توثيق Letta على أن نقاط النهاية المتوافقة مع OpenAI يجب أن تدعم استدعاء الدوال، لأن حلقة الوكيل مبنية على استدعاءات الأدوات. نقطة نهاية تقوم فقط بإكمالات محادثة عادية لا يمكنها تشغيل وكيل Letta على الإطلاق. تتحدث نماذج الكتالوج على APIsRouter استدعاء أدوات قياسياً عبر /v1/chat/completions، وهو الشكل الذي يتوقعه Letta.

docker run \
  -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  -e OPENAI_API_KEY="$APISROUTER_API_KEY" \
  -e OPENAI_API_BASE="https://api.apisrouter.com/v1" \
  letta/letta:latest

لماذا يعتمد Letta على نموذجه بشكل أثقل من تطبيق محادثة.

نشأ Letta (letta-ai على GitHub، بنحو 24 ألف نجمة) من مشروع بحث MemGPT ويبني وكلاء ذوي حالة: وكلاء بذاكرة دائمة ذاتية التحرير تنجو عبر الجلسات. حيث يرسل عميل محادثة رسالتك ويطبع الرد، يشغّل وكيل Letta حلقة داخلية في كل تفاعل، يستدل على ما يعرفه، يستدعي أدوات ذاكرة لقراءة وإعادة كتابة ذاكرته الأساسية الخاصة وتخزينه الأرشيفي، وفقط حينها ينتج رداً. لتلك العمارة نتيجتان على توجيه نقطة النهاية. أولاً، كل خطوة في الحلقة طلب استدعاء أدوات، ولهذا استدعاء الدوال متطلب صارم لا ميزة إضافية جيدة؛ نموذج يتعثّر في مخططات الأدوات لا يتدهور بلطف هنا، بل يكسر قدرة الوكيل على التذكّر. ثانياً، حجم الطلبات لكل تفاعل أعلى مما يوحي به نص المحادثة، لأن إدارة الذاكرة تُطلَق جنباً إلى جنب مع الرد المرئي. معرّف النموذج الذي يخدم كل هذا سلسلة نصية عادية إلى نقطة النهاية، لذا مع بوابة متعددة البائعين خلف OPENAI_API_BASE، يمكن لمعرّف Claude تشغيل حلقة الوكيل بينما يخدم معرّف سريع وكلاء أخف على نفس الخادم، كل واحد يُخاطَب بمقبضه الخاص.

حالة الدعم الصادقة، مباشرة من upstream.

يقول توثيق Letta الخاص إن نقاط نهاية بروكسي OpenAI غير مدعومة رسمياً وأنك على الأرجح ستواجه أخطاء، مُوصياً باتصالات مزوّد مباشرة بدلاً من ذلك. هذا التحذير يستحق أن يُقتَبَس بدلاً من دفنه، لأن معظم الصفحات حول هذا الموضوع تتظاهر بأنه غير موجود. ما يعنيه عملياً أضيق مما يبدو: يختبر Letta مقابل APIs من الدرجة الأولى، ونقطة نهاية تنحرف عن دلالات OpenAI، خاصة حول استدعاء الأدوات، تنتج أعطالاً لن يُعطيها upstream الأولوية. نقطة نهاية تنفّذ المواصفة فعلياً، بما في ذلك استدعاءات الأدوات، تعمل بسلاسة، وهذا بالضبط معيار التوافق الذي تعيش أو تموت به البوابة. كان في تاريخ الدعم أيضاً خطأ حقيقي واحد يستحق المعرفة. حتى أوائل 2026، كانت النماذج المُسجَّلة عبر OPENAI_API_BASE تُضاف لها بادئة تلقائياً كمزوّد openai-proxy بينما كان إنشاء الوكيل يتحقق مقابل قائمة أقصر من البادئات المقبولة، لذا كانت نماذج البروكسي تُسجَّل لكن لا يمكن استخدامها لإنشاء وكلاء. أُغلقت المشكلة بإصلاح في يناير 2026؛ إذا شغّلت خادماً قديماً مثبَّت الإصدار ورفض إنشاء الوكيل نماذج يسردها الخادم بوضوح، فهذا التعارض هو ما تواجهه، والترقية هي الإصلاح. هدف متحرك آخر: كان سطح منتج Letta يتحوّل، وتوجّه توثيقاته حالياً المستخدمين الجدد نحو أوضاع نشر أحدث بينما تلاحظ أن صورة Docker الكلاسيكية لم تعد السطح المُصان بنشاط. متغيرات البيئة أعلاه هي الآلية الموثَّقة للخادم ذاتي الاستضافة؛ تحقق من التوثيق الحالي بخصوص أي مِلَف خادم يوصي به upstream في الأسبوع الذي تنشر فيه.

# after the server is up, list models Letta knows about
curl -s http://localhost:8283/v1/models/ | head -50
# use the handle exactly as listed when creating agents

اختيار النماذج للوكلاء ذوي الحالة.

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

  • تحرير الذاكرة عمل أدوات مُهيكَل. claude-sonnet-4-6 وgpt-5.5 يتعاملان مع حلقة إعادة كتابة الذاكرة الخاصة بموثوقية، وهي الكفاءة الأساسية التي يحتاجها وكيل Letta.
  • الوكلاء طويلو الأمد يراكمون سياقاً. النماذج التي تبقى متماسكة عميقاً في نافذة السياق تهم هنا أكثر من المحادثة عديمة الحالة، وهذا حيث يستحق claude-opus-4-7 فتحته للمساعدين عالي المخاطر.
  • أساطيل الوكلاء الخفيفة، واحد لكل مستخدم أو مهمة، أحمال عمل حجمية. claude-haiku-4-5-20251001 يُبقي التكلفة لكل وكيل ثابتة بينما لا يزال يقوم باستدعاءات أدوات كفؤة.
  • يستحق deepseek-v4-pro الاختبار للوكلاء الذين يمزجون الاستدلال بحركة ثنائية اللغة؛ متطلب استدعاء الأدوات هو البوابة، لذا اختبر الحلقة، لا النثر فقط.
  • أياً كان ما تختاره، اختره لكل وكيل. يسجّل الخادم الكتالوج بأكمله، وكل وكيل يرتبط بمقبض، لذا يمكن لكونسيرج ثقيل الذاكرة ووكيل مهام يمكن التخلي عنه العمل بمعرّفات مختلفة جنباً إلى جنب.

ادفع حسب الاستخدام · أقل من السعر الرسمي

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

النموذجالسعر الرسميسعرنا
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Opus 4.7$5.00 / $25.00 per M$4.00 / $20.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

أنماط الفشل الخاصة بـ Letta.

رفض إنشاء الوكيل لنموذج يسرده الخادم هو خطأ البادئة التاريخي. النماذج المُسجَّلة عبر بروكسي كانت تحمل بادئة مزوّد رفضها إنشاء الوكيل قبولها على الإصدارات المتأثرة. هبط الإصلاح في يناير 2026؛ على الإصدارات الحالية، المقبض المعروض في قائمة النماذج هو المقبض الذي يعمل. إذا كنت مثبَّتاً على صورة أقدم، هذا هو أقوى سبب واحد للترقية قبل تصحيح أي شيء آخر. وكيل يجيب لكن لا يتذكّر أبداً هو فشل استدعاء أدوات. إما أن نقطة النهاية لا تنفّذ استدعاء الدوال، أو أن النموذج خلف المعرّف يتعامل بضعف مع مخططات الأدوات. العرَض هو محادثات تعمل بينما الذاكرة الأساسية لا تتحدث أبداً. اختبر نفس الوكيل على claude-sonnet-4-6 لفصل مشاكل نقطة النهاية عن مشاكل النموذج. متغيرات البيئة المضبوطة في المكان الخاطئ هي كلاسيكية Docker: OPENAI_API_BASE المُصدَّر في shell الخاص بك لا يفعل شيئاً لحاوية بُدئت بدون أعلام -e. يجب أن تصل المتغيرات إلى عملية الخادم نفسها. ولأن نقطة النهاية على مستوى الخادم، تذكّر نصف قطر الانفجار: تغيير OPENAI_API_BASE يُحرِّك كل وكيل على ذلك الخادم. لا يوجد تجاوز نقطة نهاية لكل وكيل، لذا خادم واحد لكل بوابة هو الطوبولوجيا النظيفة، مع اختيار النموذج لكل وكيل يقوم بالتمييز.

من يوجّه Letta عبر بوابة.

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

تحقق من نقطة النهاية وصحّح أخطاء الوكيل الأول.

تحقق من البوابة قبل الخادم: اسرد النماذج بالمفتاح، وشغّل إكمال محادثة واحد مع تعريف أداة مُرفَق، لأن استدعاء الأدوات هو القدرة التي يعتمد عليها Letta فعلياً. إذا عملت الرحلة ذهاباً وإياباً لاستدعاء الأداة في curl، يثبت نصف نقطة النهاية. ثم ابدأ الخادم بالمتغيرين واقرأ قائمة نماذجه. ظهور النماذج هناك يثبت التسجيل؛ وكيل أُنشئ بنجاح من مقبض مُدرَج يثبت مسار البادئة؛ محادثة تُحدِّث الذاكرة الأساسية تثبت الحلقة من طرف إلى طرف. صحّح بذلك الترتيب، لأن كل مرحلة لها مجموعة أعطال مميزة: متغيرات البيئة، إصدار الخادم، وكفاءة النموذج في استخدام الأدوات على التوالي. بمجرد تشغيل الوكلاء، تعرض لوحة APIsRouter النموذج لكل طلب، وعدد tokens، والإنفاق. الوكلاء ذوو الحالة يُفوتَرون أكثر لكل تفاعل مما توحي به نصوصهم، لأن إدارة الذاكرة تعمل خلف كل رد، وسجل الاستخدام هو حيث يصبح ذلك المضاعِف الخفي رقماً يمكنك وضع ميزانية له.

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6",
       "messages":[{"role":"user","content":"What is 2+3?"}],
       "tools":[{"type":"function","function":{
         "name":"calc","description":"add numbers",
         "parameters":{"type":"object","properties":{
           "a":{"type":"number"},"b":{"type":"number"}}}}}]}'

الأسئلة الشائعة

كيف أوجّه Letta نحو نقطة نهاية مخصصة متوافقة مع OpenAI؟

اضبط OPENAI_API_BASE وOPENAI_API_KEY في بيئة خادم Letta ذاتي الاستضافة، مثلاً كأعلام -e على docker run. لا يوجد حقل base-URL لكل وكيل؛ نقطة النهاية مُعَدَّة على مستوى الخادم ويستخدمها كل وكيل على ذلك الخادم.

هل يدعم Letta رسمياً نقاط نهاية البروكسي؟

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

لماذا استدعاء الدوال مطلوب؟

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

لماذا يرفض إنشاء الوكيل نماذج يسردها خادمي؟

كانت إصدارات الخادم الأقدم تسجّل نماذج البروكسي تحت بادئة مزوّد رفض إنشاء الوكيل التحقق منها، وهو خطأ أُغلق بإصلاح في يناير 2026. رقِّ الخادم، ثم استخدم المقبض بالضبط كما يظهر في قائمة النماذج.

هل يمكن لوكلاء Letta مختلفين استخدام نماذج مختلفة عبر نقطة نهاية واحدة؟

نعم. يسجّل الخادم كل معرّف تخدمه نقطة النهاية، ويرتبط كل وكيل بمقبض نموذج عند الإنشاء. يمكن لوكيل كونسيرج على claude-opus-4-7 وأسطول وكلاء مهام على claude-haiku-4-5-20251001 مشاركة خادم واحد ومفتاح واحد.

هل ينطبق هذا على Letta Cloud أم الخادم ذاتي الاستضافة؟

الخادم ذاتي الاستضافة، حيث تتحكم في البيئة. يدير Letta Cloud استدعاءات نموذجه الخاصة من جانب الخادم. لاحظ أيضاً أن مِلَفات الاستضافة الذاتية الموصى بها من Letta كانت تتحوّل، لذا تحقق من التوثيق الحالي لمعرفة وضع النشر الذي يُصانه اليوم.