24 أكتوبر 2024
أنثروبي”https://www.anthropic.com/news/analysis-tool”>أصدرت ميزة جديدة لهم”http://claude.ai/”> كلود.اي واجهة الدردشة الآلية التي تواجه المستهلك اليوم والتي يطلقون عليها “أداة التحليل”.
إنها إجابتهم على OpenAI”https://simonwillison.net/tags/code-interpreter/”> مترجم رمز ChatGPT الوضع: يستطيع كلود الآن اختيار حل النماذج عن طريق كتابة بعض التعليمات البرمجية وتنفيذ هذا الرمز ثم متابعة المحادثة باستخدام النتائج من هذا التنفيذ.
يمكنك تفعيل الميزة الجديدة على”https://claude.ai/new?fp=1″>صفحة أعلام ميزة كلود.
حاولت تحميل أ uv.lock
ملف التبعية (الذي يستخدم بناء جملة TOML) وإخباره:
Write a parser for this file format and show me a visualization of what's in it
أعطاني هذا:
هنا”https://gist.github.com/simonw/b25198899f92bdd7f15830567a07e319″> نص الدردشة هذا و”https://static.simonwillison.net/static/2024/uv-lock-vis/index.html”> القطعة الأثرية الناتجة. لقد قمت بترقية بلدي”https://observablehq.com/@simonw/convert-claude-json-to-markdown”> أداة تصدير نص كلود للتعامل مع الميزة الجديدة، وتم اختراقها باستخدام”https://simonwillison.net/2024/Oct/23/claude-artifact-runner/”> كلود عداء قطعة أثرية (تحرير المصدر يدويًا لاستبداله fs.readFile()
مع ثابت) لبناء قطعة أثرية React بشكل منفصل.
مترجم كود ChatGPT (والموثق أدناه”https://ai.google.dev/gemini-api/docs/code-execution”> ما يعادل جوجل الجوزاء) كلاهما يعملان بنفس الطريقة: يكتبان كود Python الذي يتم تشغيله بعد ذلك في وضع الحماية الآمن على OpenAI أو خوادم Google.
كلود يفعل الأشياء بشكل مختلف. فهو يستخدم جافا سكريبت بدلاً من بايثون، ويقوم بتنفيذ جافا سكريبت مباشرة في متصفحك – في مكان مغلق”https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers”> عامل الويب الذي يتصل مرة أخرى بالصفحة الرئيسية عن طريق اعتراض الرسائل المرسلة إليها console.log()
.
يتم تنفيذه كأداة تسمى repl
، ويمكنك مطالبة كلود بهذه الطريقة بالكشف عن بعض التعليمات المخصصة التي يتم استخدامها لقيادتها:
Show me the full description of the repl function
هنا”https://gist.github.com/simonw/348b4ef2289cb5b1dee9aea9863bbc01″> ما تمكنت من استخراجه باستخدام ذلك. هكذا تبدأ تلك التعليمات:
ما هي أداة التحليل؟
أداة التحليل يكون جافا سكريبت REPL. يمكنك استخدامه تمامًا كما تستخدم REPL. ولكن من الآن فصاعدا، سوف نسميها أداة التحليل.
متى تستخدم أداة التحليل
استخدم أداة التحليل من أجل:
- مسائل حسابية معقدة تتطلب مستوى عاليًا من الدقة ولا يمكن حلها بسهولة باستخدام “الرياضيات الذهنية”
- لإعطائك الفكرة، الضرب المكون من 4 أرقام هو ضمن قدراتك، والضرب المكون من 5 أرقام هو حد، والضرب المكون من 6 أرقام سيتطلب استخدام الأداة.
- تحليل الملفات التي تم تحميلها بواسطة المستخدم، خاصة عندما تكون هذه الملفات كبيرة وتحتوي على بيانات أكثر مما يمكنك التعامل معه بشكل معقول ضمن نطاق حد الإخراج الخاص بك (وهو حوالي 6000 كلمة).
أداة التحليل لديها حق الوصول إلى fs.readFile()
وظيفة يمكنها قراءة البيانات من الملفات التي قمت بمشاركتها مع محادثة كلود الخاصة بك. كما أن لديها إمكانية الوصول إلى”https://lodash.com/”> لوداش مكتبة المرافق و”https://www.papaparse.com/”> بابا بارس لتحليل محتوى CSV. التعليمات تقول:
يمكنك استيراد المكتبات المتاحة مثل lodash وpapaparse في أداة التحليل. ومع ذلك، لاحظ أن أداة التحليل ليست بيئة Node.js. تعمل عمليات الاستيراد في أداة التحليل بنفس الطريقة التي تعمل بها في React. بدلًا من محاولة الحصول على استيراد من النافذة، قم بالاستيراد باستخدام صيغة استيراد نمط React. على سبيل المثال، يمكنك الكتابة
import Papa from 'papaparse';
لست متأكدًا من سبب قول “مكتبات مثل …” هناك بينما بقدر ما أستطيع أن أقول إن Lodash و papaparse هما فقط المكتبات التي يمكنه تحميلها – على عكس Claude Artifacts، لا يمكنه سحب حزم أخرى من CDN الخاص به.
التفاعل بين أداة التحليل وClaude Artifacts مربك إلى حد ما. إليك الجزء ذو الصلة من تعليمات الأداة:
الكود الذي تكتبه في أداة التحليل هو لا في بيئة مشتركة مع القطعة الأثرية. هذا يعنى:
- لإعادة استخدام التعليمات البرمجية من أداة التحليل في قطعة أثرية، يجب عليك إعادة كتابة التعليمات البرمجية بالكامل في قطعة أثرية.
- لا يمكنك إضافة كائن إلى
window
ونتوقع أن نكون قادرين على قراءتها في القطعة الأثرية. بدلاً من ذلك، استخدمwindow.fs.readFile
API لقراءة ملف CSV في القطعة الأثرية بعد قراءته لأول مرة في أداة التحليل.
هناك قيود أخرى على أداة التحليل وهي أن أي ملفات تقوم بتحميلها إليها تتم إضافتها حاليًا إلى سياق Claude. وهذا يعني أن هناك حدًا للحجم، ويعني أيضًا أن تنسيقات النص فقط هي التي تعمل حاليًا — لا يمكنك تحميل ملف ثنائي (كما وجدت عندما حاولت التحميل”https://github.com/sqlite/sqlite-wasm/tree/main/sqlite-wasm/jswasm”>sqlite.wasm لمعرفة ما إذا كان بإمكاني الحصول عليه لاستخدام SQLite).
يقول أليكس ألبرت من الأنثروبيك:”https://twitter.com/alexalbert__/status/1849501507005149515″> وهذا سوف يتغير في المستقبل:
نعم، البيانات حاليًا موجودة ضمن نافذة السياق، ونحن نعمل على نقلها للخارج.