KaibanJS مستوحى من منهجية Kanban المجربة والحقيقية، والمعروفة بمساعدة الفرق على تنظيم وإدارة عملهم. لقد قمنا بتكييف هذه المفاهيم لمواجهة التحديات الفريدة لإدارة وكلاء الذكاء الاصطناعي .
إذا كنت قد استخدمت أدوات مثل Trello أو Jira أو ClickUp، فستكون على دراية بكيفية مساعدة Kanban في إدارة المهام. الآن، يستخدم KaibanJS نفس النظام لمساعدتك في إدارة وكلاء الذكاء الاصطناعي ومهامهم في الوقت الفعلي.
مع KaibanJS، يمكنك:
إنشاء وتصور وإدارة وكلاء الذكاء الاصطناعي والمهام والأدوات والفرق
قم بتنسيق سير عمل الذكاء الاصطناعي بسلاسة
تصور سير العمل في الوقت الحقيقي
تتبع التقدم مع تحرك المهام عبر مراحل مختلفة
التعاون بشكل أكثر فعالية في مشاريع الذكاء الاصطناعي
استكشف لوحة Kaiban - إنها تشبه Trello أو Asana، ولكنها مخصصة لعملاء الذكاء الاصطناعي والبشر.
ابدأ مع KaibanJS في أقل من دقيقة:
1. قم بتشغيل مُهيئ KaibanJS في دليل مشروعك:
npx kaibanjs@latest init
2. أضف مفتاح API لخدمة AI إلى ملف .env
:
VITE_OPENAI_API_KEY=your-api-key-here
3. أعد تشغيل لوحة كايبان الخاصة بك:
تشغيل npm كايبان
انقر فوق "بدء سير العمل" لتشغيل المثال الافتراضي.
شاهد الوكلاء وهم يكملون المهام في الوقت الفعلي على لوحة المهام.
عرض الإخراج النهائي في نظرة عامة على النتائج.
لا يقتصر KaibanJS على لوحة Kaiban. يمكنك دمجها مباشرة في مشاريعك، أو إنشاء واجهات مستخدم مخصصة، أو تشغيل الوكلاء بدون واجهة مستخدم. استكشف برامجنا التعليمية لتكامل React وNode.js لإطلاق العنان للإمكانات الكاملة لـ KaibanJS في سياقات التطوير المختلفة.
إذا كنت تفضل إعداد KaibanJS يدويًا، فاتبع الخطوات التالية:
تثبيت npm kaibanjs
// استخدام صيغة استيراد ES6 لـ NextJS وReact وما إلى ذلك.import { Agent, Task, Team } from 'kaibanjs';
// استخدام بناء جملة CommonJS لـ NodeJSconst { Agent, Task, Team } = require('kaibanjs');
// تحديد وكيلconst ResearchAgent = وكيل جديد({ الاسم: "الباحث"، الدور: "جامع المعلومات"، الهدف: 'البحث عن المعلومات ذات الصلة بموضوع معين'،})؛// إنشاء مهمةconst ResearchTask = new Task({ الوصف: "ابحث في أحدث التطورات في مجال الذكاء الاصطناعي"، الوكيل: ResearchAgent,});// إعداد فريق teamconst = فريق جديد({ الاسم: "فريق أبحاث الذكاء الاصطناعي"، الوكلاء: [researchAgent]، المهام: [researchTask]، env: { OPENAI_API_KEY: 'your-api-key-here' },});// ابدأ فريق سير العمل .يبدأ() .then((output) => {console.log('اكتمل سير العمل:',output.result); }) .catch((خطأ) => {console.error('خطأ في سير العمل:', خطأ); });
الوكلاء هم كيانات مستقلة مصممة لأداء أدوار محددة وتحقيق الأهداف بناءً على المهام الموكلة إليهم. إنها مثل LLMs ذات القدرات الفائقة التي يمكنها تنفيذ المهام في حلقة حتى تصل إلى الإجابة النهائية.
المهام تحدد المهام الإجراءات المحددة التي يجب على كل وكيل اتخاذها، ومخرجاته المتوقعة، ووضع علامة على المخرجات الهامة كمخرجات قابلة للتسليمات إذا كانت المنتجات النهائية.
الفريق يقوم الفريق بتنسيق الوكلاء ومهامهم. يبدأ بإدخال أولي ويدير تدفق المعلومات بين المهام.
شاهد هذا الفيديو لمعرفة المزيد عن المفاهيم: مفاهيم KaibanJS
تعد لوحات كانبان أدوات ممتازة لعرض سير عمل الفريق في الوقت الفعلي، مما يوفر لمحة واضحة وتفاعلية عن تقدم كل عضو.
لقد قمنا بتكييف هذا المفهوم لعملاء الذكاء الاصطناعي.
الآن، يمكنك تصور سير عمل وكلاء الذكاء الاصطناعي لديك كأعضاء في الفريق، مع انتقال المهام من "المهام" إلى "تم" أمام عينيك مباشرةً. يعمل هذا التمثيل المرئي على تبسيط فهم وإدارة عمليات الذكاء الاصطناعي المعقدة، مما يجعلها في متناول أي شخص في أي مكان.
استفد من قوة التخصص من خلال تكوين وكلاء الذكاء الاصطناعي للتميز في وظائف مهمة ومتميزة داخل مشاريعك. يعزز هذا النهج فعالية وكفاءة كل مهمة، ويتجاوز حدود الذكاء الاصطناعي العام.
في هذا المثال، يتم تشغيل فريق تطوير البرامج لدينا بواسطة ثلاثة وكلاء متخصصين في الذكاء الاصطناعي: ديف وإيلا وكوين. تم تصميم كل وكيل بخبرة ليناسب دوره المحدد، مما يضمن التعامل الفعال مع المهام والتعاون الذي يسرع دورة التطوير.
استيراد { وكيل } من 'kaibanjs'؛const daveLoper = وكيل جديد({ الاسم: "ديف لوبر"، الدور: "المطور"، الهدف: "كتابة الكود ومراجعته"، الخلفية: 'من ذوي الخبرة في JavaScript وReact وNode.js'،})؛const ella = new Agent({ الاسم: "إيلا"، الدور: "مدير المنتج"، الهدف: "تحديد رؤية المنتج وإدارة خارطة الطريق"، الخلفية: 'ماهر في تحليل السوق واستراتيجية المنتج'،})؛const quinn = وكيل جديد({ الاسم: "كوين"، الدور: "أخصائي ضمان الجودة"، الهدف: "ضمان الجودة والاتساق"، الخلفية: "خبير في الاختبار والأتمتة وتتبع الأخطاء"،})؛
مثلما يستخدم المحترفون أدوات محددة للتفوق في مهامهم، قم بتمكين وكلاء الذكاء الاصطناعي لديك من استخدام أدوات مثل محركات البحث والآلات الحاسبة والمزيد لأداء المهام المتخصصة بدقة وكفاءة أكبر.
في هذا المثال، يقوم بيتر أطلس، أحد عملاء الذكاء الاصطناعي، بالاستفادة من أداة نتائج بحث Tavily لتعزيز قدرته على اختيار أفضل المدن للسفر. تسمح هذه الأداة لبيتر بتحليل بيانات السفر مع الأخذ في الاعتبار الطقس والأسعار والموسمية، مما يضمن الحصول على التوصيات الأكثر ملاءمة.
استيراد { الوكيل، الأداة } من 'kaibanjs'؛const tavilySearchResults = أداة جديدة({ الاسم: "نتائج بحث تافيلي"، النتائج القصوى: 1، apiKey: 'ENV_TRAVILY_API_KEY',});const peterAtlas = new Agent({ الاسم: "بيتر أطلس"، الدور: "محدد المدينة"، الهدف: "اختيار أفضل مدينة بناءً على بيانات السفر الشاملة"، الخلفية: "من ذوي الخبرة في تحليل البيانات الجغرافية واتجاهات السفر"، الأدوات: [tavilySearchResults]،})؛
يدعم KaibanJS جميع الأدوات المتوافقة مع LangchainJS، مما يوفر نهجًا متعدد الاستخدامات لتكامل الأدوات. لمزيد من التفاصيل، قم بزيارة الوثائق.
قم بتحسين حلول الذكاء الاصطناعي الخاصة بك من خلال دمج مجموعة من نماذج الذكاء الاصطناعي المتخصصة، كل منها مصمم لتحقيق التميز في جوانب مختلفة من مشاريعك.
في هذا المثال، يستخدم الوكلاء - Emma وLucas وMia - نماذج ذكاء اصطناعي متنوعة للتعامل مع مراحل محددة من تطوير مواصفات الميزات. لا يؤدي هذا الاستخدام المستهدف لنماذج الذكاء الاصطناعي إلى زيادة الكفاءة فحسب، بل يضمن أيضًا توافق كل مهمة مع موارد الذكاء الاصطناعي الأكثر فعالية من حيث التكلفة والملاءمة.
استيراد { وكيل } من 'kaibanjs'؛const emma = وكيل جديد({ الاسم: "إيما"، الدور: "الصياغة الأولية"، الهدف: "الخطوط العريضة للوظائف الأساسية"، llmConfig: {provider: 'google',model: 'gemini-1.5-pro', },});const lucas = وكيل جديد({ الاسم: "لوكاس"، الدور: "المواصفات الفنية"، الهدف: "صياغة المواصفات الفنية التفصيلية"، llmConfig: {provider: 'anthropic'، الطراز: 'claude-3-5-sonnet-20240620'، },});const mia = وكيل جديد({ الاسم: "ميا"، الدور: "المراجعة النهائية"، الهدف: "التأكد من دقة واكتمال الوثيقة النهائية"، llmConfig: {provider: 'openai'، الطراز: 'gpt-4o'، },});
لمزيد من التفاصيل حول دمج نماذج الذكاء الاصطناعي المتنوعة مع KaibanJS، يرجى زيارة الوثائق.
تستخدم KaibanJS بنية مستوحاة من Redux، مما يتيح اتباع نهج موحد لإدارة حالات وكلاء الذكاء الاصطناعي والمهام والتدفق الإجمالي داخل تطبيقاتك. تضمن هذه الطريقة إدارة متسقة للحالة عبر تفاعلات الوكيل المعقدة، مما يوفر وضوحًا وتحكمًا معززين.
فيما يلي مثال مبسط يوضح كيفية دمج KaibanJS مع إدارة الحالة في تطبيق React:
استيراد myAgentsTeam من './agenticTeam';const KaibanJSComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {وكلاء، WorkflowResult } = useTeamStore((state) => ({agents:state.agents,workflowResult:state.workflowResult, })); return (<div> <button onClick={myAgentsTeam.start}>بدء سير عمل الفريق</button> <p>نتيجة سير العمل: {workflowResult}</p> <div><h2>♂️ الوكلاء</h2>{agents .map((agent) => ( <p key={agent.id}>{agent.name} - {agent.role} - الحالة: ({agent.status}) </p>))} </div></div> );};تصدير KaibanJSComponent الافتراضي;
للتعمق أكثر في إدارة الحالة باستخدام KaibanJS، قم بزيارة الوثائق.
يمكنك إضافة إمكانات الذكاء الاصطناعي بسهولة إلى مشاريع NextJS وReact وVue وAngular وNode.js.
تم تصميم KaibanJS لتحقيق التكامل السلس عبر مجموعة متنوعة من بيئات JavaScript. سواء كنت تعمل على تحسين واجهات المستخدم في React أو Vue أو Angular، أو إنشاء تطبيقات قابلة للتطوير باستخدام NextJS، أو تنفيذ حلول من جانب الخادم في Node.js، فإن إطار العمل يتكامل بسلاسة مع سير العمل الحالي لديك.
استيراد رد فعل من 'رد فعل'؛استيراد myAgentsTeam من './agenticTeam'؛const TaskStatusComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const { المهام } = useTeamStore((state) => ({المهام:state.tasks.map((task) => ({المعرف: Task.id, الوصف: المهمة.وصف, الحالة: Task.status,})) , })); return (<div> <h1>حالات المهام</h1> <ul>{tasks.map((task) => ( <li key={task.id}>{task.description}: الحالة - {task.status } </li>))} </ul></div> );};تصدير TaskStatusComponent الافتراضي;
للتعمق أكثر قم بزيارة الوثائق.
تتيح لك ميزات إمكانية المراقبة المضمنة في KaibanJS تتبع كل تغيير في الحالة بإحصائيات وسجلات مفصلة، مما يضمن الشفافية والتحكم الكاملين. توفر هذه الوظيفة رؤى في الوقت الفعلي حول استخدام الرمز المميز، والتكاليف التشغيلية، وتغييرات الحالة، مما يعزز موثوقية النظام ويتيح اتخاذ قرارات مستنيرة من خلال الرؤية الشاملة للبيانات.
يوضح مقتطف الكود التالي كيفية استخدام نهج إدارة الحالة لمراقبة التغييرات في سجلات سير العمل والتفاعل معها، مما يوفر تحكمًا دقيقًا ورؤى عميقة في الديناميكيات التشغيلية لوكلاء الذكاء الاصطناعي لديك:
const useStore = myAgentsTeam.useStore();useStore.subscribe( (الحالة) => State.workflowLogs، (newLogs, PrevLogs) => {if (newLogs.length > PreviousLogs.length) { const { مهمة، وكيل، بيانات التعريف } = newLogs[newLogs.length - 1]; إذا (newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {switch (task.status) { case TASK_STATUS_enum.DONE:console.log('Task Completed', { TaskDescription: Task.description, agentName: اسم الوكيل، نموذج الوكيل: agent.llmConfig.model، المدة: البيانات الوصفية. المدة، llmUsageStats: metadata.llmUsageStats, costDetails: metadata.costDetails,});break; الحالة TASK_STATUS_enum.DOING: الحالة TASK_STATUS_enum.BLOCKED: الحالة TASK_STATUS_enum.REVISE: الحالة TASK_STATUS_enum.TODO:console.log('Task Status Update', { المهمة الوصف: المهمة. الوصف، حالة المهمة: Task.status، اسم الوكيل: agent.name،} )؛استراحة؛ default:console.warn('تمت مواجهة حالة مهمة غير متوقعة:', Task.status);break;} }} });
لمزيد من التفاصيل حول كيفية استخدام ميزات المراقبة في KaibanJS، يرجى زيارة الوثائق.
التوثيق الرسمي
انضم إلى خلافنا
يهدف KaibanJS إلى أن يكون متوافقًا مع أطر عمل الواجهة الأمامية الرئيسية مثل React وVue وAngular وNextJS، مما يجعله خيارًا متعدد الاستخدامات للمطورين. نظام جافا سكريبت البيئي "معقد بعض الشيء...". إذا كانت لديك أية مشكلات، فيرجى إخبارنا وسنساعدك في حلها.
يوجد حوالي 20 مليون مطور لجافا سكريبت في جميع أنحاء العالم، ومع ذلك فإن معظم أطر عمل الذكاء الاصطناعي مكتوبة في الأصل بلغة بايثون. والبعض الآخر مجرد تعديلات لجافا سكريبت.
وهذا يضعنا جميعًا ، مطوري JavaScript، في وضع غير مؤاتٍ في سباق الذكاء الاصطناعي . لكن ليس بعد الآن...
تغير KaibanJS اللعبة من خلال استهداف تقديم إطار عمل متعدد الوكلاء قوي وسهل الاستخدام مصمم خصيصًا لنظام JavaScript البيئي.
const writeBy = `مطوّر JS آخر لا يريد أن يتعلم لغة Python للقيام بأشياء ذات معنى في مجال الذكاء الاصطناعي.';console.log(writerBy);
انضم إلى مجتمع Discord للتواصل مع المطورين الآخرين والحصول على الدعم. تابعونا على تويتر للحصول على آخر التحديثات.
نحن نرحب بالمساهمات من المجتمع. يرجى قراءة إرشادات المساهمة قبل تقديم طلبات السحب.
KaibanJS مرخص من معهد ماساتشوستس للتكنولوجيا.