Weft
AR
مدونة إدارة المهام بالذكاء الاصطناعي للمؤسسين المنفردين والفرق الصغيرة

لماذا تضيع القرارات المتخذة في محادثات الذكاء الاصطناعي، وأين تحفظها

القرارات المتخذة في ChatGPT أو Claude تختفي حين تمضي المحادثة؛ سجّلها على اللوحة مرتبطة بالمهمة، لتقرأها جلسة الذكاء الاصطناعي التالية أولًا.

‏Weft هو مدير المهام بالذكاء الاصطناعي للمؤسسين المنفردين والفرق الصغيرة.

كل المقالات

بقلم Andrei Finogeev ·

تضيع القرارات المتخذة في محادثة مع ChatGPT أو Claude لأن المحادثة بلا حالة. فلا شيء فيها يعلّم سطرًا بأنه «هذا ما قرّرناه»، ولا شيء يربط ذلك السطر بالعمل الذي يؤثر فيه، والمحادثة الجديدة تبدأ فارغة. والحل أن تجعل الذكاء الاصطناعي يدوّن القرار حيث يعيش العمل، سجلًّا قصيرًا مع أسبابه، وأن تجعل الجلسة التالية تقرأ هذه السجلات قبل أن تتصرف.

نحن من يصنع Weft. والمعلومات عن المنتجات الأخرى مأخوذة من صفحاتها الرسمية، وقد راجعناها في 27 أكتوبر 2026. وفكرة أن السلسلة «بلا حالة» مأخوذة من مقال Hypertask عن سلاسل Slack. ويطبّقها هذا الدليل على محادثات الذكاء الاصطناعي.

لماذا تختفي القرارات المتخذة مع ChatGPT أو Claude؟

تقضي أربعين دقيقة مع مساعد توازن بين مزوّدَي قواعد بيانات، أو نموذجَي تسعير، أو طريقتين لهيكلة API. ثم تستقر على واحد. والتعليل جيد، والمساعد موافق، وتنتقل إلى الأمر التالي.

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

هذه ليست مشكلة انضباط. فالمحادثة سلسلة من الرسائل. لا حقل فيها لـ «تقرّر»، ولا مالك، ولا رابط بمهمة، ولا طريقة لقول «هذا حلّ محل ما قلناه يوم الثلاثاء». والسؤال المحسوم والسؤال المهجور يتشابهان حين يمضيان بعيدًا في المحادثة.

أليست ذاكرة المحادثة تحلّ هذا أصلًا؟

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

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

ما القرار الذي يستحق التسجيل؟

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

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

لا تسجّل:

  • أفكارًا طرحتها ولم تعتمدها.
  • خطوات العمل نفسه (مكانها المهمة ونتيجتها).
  • أي شيء لم يوافق عليه الشخص بعد، ما لم يكن موسومًا بوضوح بأنه مقترح.
  • حقائق يستطيع أي أحد البحث عنها من جديد في دقيقة.

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

كيف يبدو سجل القرار الجيد؟

اجعله قصيرًا واحتفظ بالأسباب. الصيغة أدناه نسخة خفيفة من MADR ‏(Markdown Architectural Decision Records)، وهي ما تستخدمه أداة record_decision في Weft:

العنوان:        رفع الملفات: تخزين الكائنات، لا قاعدة البيانات
النتيجة:       تذهب الملفات المرفوعة إلى تخزين الكائنات؛ وتحفظ قاعدة البيانات
               مفتاح الملف وبياناته الوصفية فقط.
الحالة:        accepted
السياق:        يرفق المستخدمون ملفات حتى 50 ميغابايت. وحفظها في
               قاعدة البيانات سيجعل النسخ الاحتياطية بطيئة وكبيرة.
الخيارات:      1. تخزين الكائنات  + رخيص، والنسخ الاحتياطية تبقى صغيرة
                                   - خدمة إضافية تحتاج إلى إعداد
               2. عمود في قاعدة البيانات + مكان واحد لكل شيء
                                   - النسخ الاحتياطية تكبر مع كل رفع
العواقب:       نحتاج إلى روابط موقّعة للتنزيل.
               وحذف مهمة يجب أن يحذف ملفاتها أيضًا.
أعد النظر حين: نحتاج إلى البحث داخل محتوى الملفات.
المهمة:        رفع الملفات
  • العنوان يسمّي القرار لتجده بنظرة سريعة.
  • النتيجة جملة واحدة يستطيع القادم الجديد التصرف بموجبها.
  • السياق هو ما كان صحيحًا آنذاك. وهذا الجزء أول ما يختفي من الذاكرة.
  • الخيارات تسرد ما وُزن فعلًا فقط، لا بدائل مخترعة لاحقًا.
  • العواقب تشمل السلبيات التي قبلتها، حتى لا «يكتشفها» أحد لاحقًا على أنها علل.
  • أعد النظر حين تقول ما الذي سيجعل الاختيار خاطئًا.

كيف يحفظ Weft سجل القرار؟

‏Weft لوحة مهام يصل إليها عملاء الذكاء الاصطناعي عبر MCP على https://letsweft.com/api/mcp. وثلاث من أدواته الـ32 تتولى القرارات:

  • record_decision تأخذ عنوانًا ونتيجة، إضافة إلى السياق، وما يصل إلى خمسة خيارات مع إيجابياتها وسلبياتها، والعواقب، والشرط الذي يُعاد عنده النظر. ويمكن ربطها بمهمة (taskId) أو بمشروع. والسجلات غير قابلة للتعديل: لتغيير واحد منها، يسجّل الذكاء الاصطناعي قرارًا جديدًا يشير supersedesId فيه إلى القديم، ويبقى السجل القديم موسومًا بأنه مُستبدَل.
  • get_context تُعيد القرارات والدروس السارية في مساحة العمل، الأحدث أولًا، مضغوطة ضمن ميزانية من الرموز (800 رمز افتراضيًا). ويمكن تضييقها إلى مشروع أو مهمة. وكل سطر يحمل تاريخه، والقرار المُستبدَل لا يظهر أبدًا، والأسطر التي لم تتسع تُعدّ بدل أن تُخفى.
  • get_task_history في وضع decisions تسرد كل قرار سُجّل بشأن مهمة واحدة، بما في ذلك أحكام المراجعة وأسبابها.

ولـ record_decision استخدام ثانٍ: نقل حكم أصدره الشخص في المحادثة بشأن عمل ينتظر مراجعته (مقبول، أو إعادة، أو مُسقط، أو مؤجَّل). ويقول وصف الأداة للذكاء الاصطناعي إنه هنا الرسول لا صاحب القرار، فلا ينبغي أبدًا أن يستخدمها ليقبل عمله بنفسه.

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

كيف أطلب من الذكاء الاصطناعي تسجيل القرارات؟

صِل Weft بعميل الذكاء الاصطناعي الخاص بك، ثم الصق تعليمة كهذه في بداية المحادثة، أو في التعليمات المخصّصة للعميل أو ملف المشروع إن كان لديه:

حين نتخذ اختيارًا حقيقيًا في هذه المحادثة (نختار خيارًا على آخر،
أو نتخلّى عن شيء، أو نغيّر اختيارًا سابقًا)، سجّله في Weft باستخدام
record_decision قبل أن ننتقل:
- title: القرار، مسمّى ببضع كلمات
- outcome: الاختيار في جملة واحدة
- context: ما كان صحيحًا وفرض الاختيار
- options: الخيارات التي وزنّاها فعلًا فقط، مع الإيجابيات والسلبيات
- consequences: ما يترتب عليه، خيرًا وشرًّا
- confirmation: متى ينبغي أن نعيد النظر فيه
- taskId أو project: المهمة أو المشروع الذي يتعلق به
إن كان يغيّر قرارًا سابقًا، فمرّر supersedesId بدل التعديل.
لا تسجّل الأحاديث العابرة ولا التخمينات ولا ما لم أوافق عليه.
إن لم ألتزم بعد، فاستخدم الحالة "proposed".
في بداية أي عمل غير بسيط، استدعِ get_context أولًا وأخبرني
بالقرارات السابقة التي تنطبق.

الاتصال يستغرق دقيقة. في ChatGPT، ‏Weft تطبيق منشور في دليل الإضافات، متاح على كل الخطط بما فيها المجانية (الإعداد). وفي Claude Code يكفي أمر واحد (الإعداد). ويضيفه claude.ai وClaude Desktop موصّلًا مخصّصًا. وتسجيل الدخول عبر OAuth في المتصفح، فلا مفتاح تنسخه، ويُصدر Weft رموز تحديث، فيجدّد العميل تسجيل الدخول بنفسه. وصفحات الإعداد للعملاء الآخرين، ومنها Cursor وCodex، موجودة في الوثائق.

ماذا يحدث حين أنتقل من ChatGPT إلى Claude Code في اليوم التالي؟

هذه هي الحالة التي بُنيت التعليمة من أجلها.

  1. يوم الاثنين تخطّط لميزة في ChatGPT. وتقرّر تخزين الملفات المرفوعة في تخزين الكائنات بدل قاعدة البيانات، فيستدعي ChatGPT ‏record_decision مع السياق والخيارين والعواقب، مرتبطًا بمهمة «رفع الملفات».
  2. يوم الثلاثاء تفتح Claude Code في المستودع. وإن لم تكن قد وصلته بعد: claude mcp add --transport http weft https://letsweft.com/api/mcp.
  3. تطلب منه أن يأخذ مهمة الرفع. وقبل كتابة الشيفرة يستدعي get_context لتلك المهمة، أو get_task_history في وضع decisions، فيحصل على سجل الاثنين.
  4. يبني على تخزين الكائنات بدل إعادة فتح السؤال. وإن وجد سببًا حقيقيًا يجعل الاختيار خاطئًا، يستطيع اقتراح قرار جديد يحلّ محل قرار الاثنين، وأنت من يقرّر.

يقرأ العميلان اللوحة نفسها والقرارات نفسها، لأن السجل يعيش في Weft، لا في أيٍّ من المحادثتين. وكل اتصال OAuth فاعل مستقل، وتُظهر اللوحة الاسم الذي سجّل به كل عميل، فترى أي اتصال أنشأ أي مهمة. ولتشغيل عدة وكلاء على لوحة واحدة دون تصادم، انظر عدة وكلاء ذكاء اصطناعي ولوحة واحدة.

أين ينبغي أن تنتهي القرارات المتخذة في ChatGPT؟

أربعة أماكن شائعة، مقارنة بما يحتاج إليه سجل القرارات:

أين ينتهي القراريمكن إيجاده لاحقًايقرؤه ذكاء اصطناعي آخرمرتبط بالعمليمكن استبداله مع ذكر السبب
سجل المحادثةفقط إن تذكّرت أي محادثة، ووجده البحثلا، فعميل آخر لا يستطيع فتحهلالا، فرسالة لاحقة تناقضه دون أن توسمه
مستند أو صفحة ملاحظاتنعم، إن كتبه أحدفقط إن كان ذلك الذكاء الاصطناعي متصلًا بالمستندبشكل فضفاض، عبر الروابطعادةً بالتعديل، الذي يميل إلى محو التعليل القديم
تعليق على مهمةنعم، على تلك المهمةإن كان الذكاء الاصطناعي يستطيع قراءة تعليقات المتتبّعنعمليس صراحةً، فالتعليقات الأحدث لا توسم الأقدم بأنها مستبدلة
سجل قرار على لوحة Weftنعم، عبر get_context وget_task_historyنعم، أي عميل متصل بمساحة العمل عبر MCPنعم، بالمهمة أو المشروعنعم، يحفظ supersedesId السجل القديم موسومًا بأنه مُستبدَل

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

هل يحلّ هذا محل مستنداتنا أو الويكي لدينا؟

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

وحدّان صريحان آخران. لا يقرأ Weft محادثاتك: فالقرار لا يُسجَّل إلا حين يستدعي الذكاء الاصطناعي record_decision، ولهذا تهم التعليمة أعلاه. وقد يخطئ الذكاء الاصطناعي في تقدير ما يُعدّ قرارًا، فاقرأ get_context بين حين وآخر واستبدل ما أخطأ فيه.

كم يكلّف؟

تسجيل القرارات وقراءتها يعمل على الخطة المجانية، التي تشمل 50 مهمة نشطة و200 استدعاء لأدوات الذكاء الاصطناعي شهريًا. وكل استدعاء لـ record_decision أو get_context يُحسب استدعاءً واحدًا. وPro بسعر $7 للمقعد شهريًا أو $60 للمقعد سنويًا، مع مهام واستدعاءات بلا حد (الأسعار). ولا أرصدة ذكاء اصطناعي في Weft: فالتفكير يجري في عميل الذكاء الاصطناعي الخاص بك، ولا يحفظ Weft إلا اللوحة وسجلاتها.

ألا أستطيع ببساطة أن أطلب من ChatGPT تلخيص القرارات في نهاية المحادثة؟
تستطيع، وهذا يساعد. لكن الملخّص يظل يعيش في تلك المحادثة أو حيثما تلصقه. فهو غير مرتبط بالمهمة، ولا يستطيع عميل ذكاء اصطناعي آخر قراءته، وحين يتغيّر القرار لا يبقى سجل لما حلّ محله. وتسجيل كل قرار لحظة اتخاذه يتجنب الثلاثة.
هل سيسجّل الذكاء الاصطناعي القرارات دون أن يُطلب منه؟
يطلب وصف أداة record_decision من الذكاء الاصطناعي استخدامها كلما اتخذ المستخدم اختيارًا حقيقيًا في المحادثة، فبعض العملاء سيفعلون. لكن لا تعتمد على ذلك. فالتعليمة الملصوقة تجعله صريحًا، ويمكنك دائمًا أن تقول «سجّل هذا القرار».
هل يمكن تعديل قرار سُجّل خطأً؟
ليس في مكانه. فالسجلات غير قابلة للتعديل. سجّل قرارًا مصحّحًا يشير supersedesId فيه إلى الخاطئ. ويبقى السجل القديم موسومًا بأنه مُستبدَل، وتتوقف get_context عن إظهاره.
هل تحتاج القرارات إلى مهمة؟
لا. يمكن ربط القرار بمهمة، أو بمشروع، أو بلا شيء. وربطه بمهمة يعني أن get_task_history تُظهره بجوار ذلك العمل، وأن get_context يمكن تضييقها إليه.
هل هذا هو نفسه ذاكرة العمل في Weft؟
لا. ذاكرة العمل (ملاحظات قصيرة متعلَّمة) ميزة منفصلة في Pro. أما سجلات القرارات فتأتي من record_decision، والشيفرة لا تقصرها على Pro.
ماذا لو كنت أستخدم أكثر من عميل ذكاء اصطناعي؟
هذا هو السبب الرئيسي لفعل ذلك. فـ ChatGPT وClaude Code وCursor وCodex المتصلة بمساحة عمل Weft نفسها تقرأ كلها القرارات نفسها عبر get_context، فلا يعيد العميل الثاني فتح أسئلة حسمها الأول.