KaibanJS está inspirado en la probada metodología Kanban, conocida por ayudar a los equipos a organizar y gestionar su trabajo. Hemos adaptado estos conceptos para enfrentar los desafíos únicos de la gestión de agentes de IA .
Si ha utilizado herramientas como Trello, Jira o ClickUp, estará familiarizado con cómo Kanban ayuda a gestionar las tareas. Ahora, KaibanJS usa ese mismo sistema para ayudarte a administrar los agentes de IA y sus tareas en tiempo real.
Con KaibanJS, puedes:
Cree, visualice y administre agentes, tareas, herramientas y equipos de IA
Orqueste flujos de trabajo de IA sin problemas
Visualice los flujos de trabajo en tiempo real
Realice un seguimiento del progreso a medida que las tareas pasan por diferentes etapas
Colabore de forma más eficaz en proyectos de IA
Explora el tablero Kaiban: es como Trello o Asana, pero para agentes de IA y humanos.
Comience con KaibanJS en menos de un minuto:
1. Ejecute el inicializador KaibanJS en el directorio de su proyecto:
npx kaibanjs@último inicio
2. Agregue su clave API de servicio de IA al archivo .env
:
VITE_OPENAI_API_KEY=your-api-key-here
3. Reinicia tu tablero Kaiban:
npm ejecutar kaiban
Haga clic en "Iniciar flujo de trabajo" para ejecutar el ejemplo predeterminado.
Observe a los agentes completar tareas en tiempo real en el panel de tareas.
Vea el resultado final en la descripción general de resultados.
KaibanJS no se limita a la Junta Kaiban. Puede integrarlo directamente en sus proyectos, crear UI personalizadas o ejecutar agentes sin una UI. Explore nuestros tutoriales para la integración de React y Node.js para liberar todo el potencial de KaibanJS en diversos contextos de desarrollo.
Si prefieres configurar KaibanJS manualmente, sigue estos pasos:
npm instala kaibanjs
// Usando la sintaxis de importación de ES6 para NextJS, React, etc.import {Agente, Tarea, Equipo} de 'kaibanjs';
// Usando la sintaxis CommonJS para NodeJSconst {Agente, Tarea, Equipo} = require('kaibanjs');
// Definir un agenteconst researchAgent = new Agent({ nombre: 'Investigador', rol: 'Recolector de información', objetivo: 'Encontrar información relevante sobre un tema determinado',});// Crear una tareaconst researchTask = new Task({ descripción: 'Investigar desarrollos recientes de IA', agente: agente de investigación,});// Configurar un equipoconst equipo = nuevo equipo({ nombre: 'Equipo de investigación de IA', agentes: [agente de investigación], tareas: [tarea de investigación], env: { OPENAI_API_KEY: 'your-api-key-here' },});// Iniciar el equipo de flujo de trabajo .comenzar() .then((salida) => {console.log('Flujo de trabajo completado:', salida.resultado); }) .catch((error) => {console.error('Error de flujo de trabajo:', error); });
Agentes Los agentes son entidades autónomas diseñadas para desempeñar funciones específicas y alcanzar objetivos en función de las tareas que se les asignan. Son como LLM superpoderosos que pueden ejecutar tareas en un bucle hasta llegar a la respuesta final.
Tareas Las tareas definen las acciones específicas que cada agente debe realizar, sus resultados esperados y marcan los resultados críticos como entregables si son los productos finales.
Equipo El Equipo coordina a los agentes y sus tareas. Comienza con una entrada inicial y gestiona el flujo de información entre tareas.
Mire este video para aprender más sobre los conceptos: KaibanJS Concepts
Los tableros Kanban son excelentes herramientas para mostrar los flujos de trabajo del equipo en tiempo real, proporcionando una instantánea clara e interactiva del progreso de cada miembro.
Hemos adaptado este concepto para los agentes de IA.
Ahora puede visualizar el flujo de trabajo de sus agentes de IA como miembros del equipo, con las tareas pasando de "Por hacer" a "Listo" ante sus ojos. Esta representación visual simplifica la comprensión y la gestión de operaciones complejas de IA, haciéndola accesible para cualquier persona, en cualquier lugar.
Aproveche el poder de la especialización configurando agentes de IA para que destaquen en funciones distintas y críticas dentro de sus proyectos. Este enfoque mejora la eficacia y eficiencia de cada tarea, yendo más allá de las limitaciones de la IA genérica.
En este ejemplo, nuestro equipo de desarrollo de software está impulsado por tres agentes de IA especializados: Dave, Ella y Quinn. Cada agente está diseñado de manera experta para su función específica, lo que garantiza un manejo eficiente de las tareas y una sinergia que acelera el ciclo de desarrollo.
importar {Agente} de 'kaibanjs';const daveLoper = nuevo Agente({ nombre: 'Dave Loper', rol: 'Desarrollador', objetivo: 'Escribir y revisar código', antecedentes: 'Experimentado en JavaScript, React y Node.js',});const ella = new Agent({ nombre: 'Ella', rol: 'Gerente de producto', objetivo: 'Definir la visión del producto y gestionar la hoja de ruta', antecedentes: 'Experto en análisis de mercado y estrategia de producto',});const quinn = new Agente({ nombre: 'Quinn', rol: 'Especialista en control de calidad', objetivo: "Garantizar la calidad y la coherencia", experiencia: 'Experto en pruebas, automatización y seguimiento de errores',});
Así como los profesionales utilizan herramientas específicas para sobresalir en sus tareas, permita que sus agentes de IA utilicen herramientas como motores de búsqueda, calculadoras y más para realizar tareas especializadas con mayor precisión y eficiencia.
En este ejemplo, uno de los agentes de IA, Peter Atlas, aprovecha la herramienta Tavily Search Results para mejorar su capacidad de seleccionar las mejores ciudades para viajar. Esta herramienta le permite a Peter analizar datos de viajes considerando el clima, los precios y la estacionalidad, asegurando las recomendaciones más adecuadas.
importar {Agente, Herramienta} desde 'kaibanjs'; const tavilySearchResults = nueva herramienta ({ nombre: 'Resultados de búsqueda de Tavily', resultados máximos: 1, apiKey: 'ENV_TRAVILY_API_KEY',});const peterAtlas = nuevo Agente({ nombre: 'Pedro Atlas', rol: 'Selector de ciudad', objetivo: 'Elija la mejor ciudad basándose en datos completos de viajes', Antecedentes: 'Experiencia en análisis de datos geográficos y tendencias de viajes', herramientas: [tavilySearchResults],});
KaibanJS es compatible con todas las herramientas compatibles con LangchainJS y ofrece un enfoque versátil para la integración de herramientas. Para más detalles, visite la documentación.
Optimice sus soluciones de IA integrando una gama de modelos de IA especializados, cada uno de ellos diseñado para sobresalir en distintos aspectos de sus proyectos.
En este ejemplo, los agentes (Emma, Lucas y Mia) utilizan diversos modelos de IA para manejar etapas específicas del desarrollo de especificaciones de funciones. Este uso específico de modelos de IA no solo maximiza la eficiencia, sino que también garantiza que cada tarea esté alineada con los recursos de IA más rentables y apropiados.
importar {Agente} de 'kaibanjs'; const emma = nuevo Agente({ nombre: 'Ema', rol: 'Redacción inicial', objetivo: 'Resumir las funcionalidades principales', llmConfig: {proveedor: 'google', modelo: 'gemini-1.5-pro', },});const lucas = nuevo Agente({ nombre: 'Lucas', rol: 'Especificación técnica', objetivo: 'Proyecto de especificaciones técnicas detalladas', llmConfig: {proveedor: 'antrópico', modelo: 'claude-3-5-sonnet-20240620', },});const mia = nuevo Agente({ nombre: 'Mía', rol: 'Revisión final', objetivo: "Garantizar la precisión y la integridad del documento final", llmConfig: {proveedor: 'openai', modelo: 'gpt-4o', },});
Para obtener más detalles sobre la integración de diversos modelos de IA con KaibanJS, visite la documentación.
KaibanJS emplea una arquitectura inspirada en Redux, lo que permite un enfoque unificado para gestionar los estados de los agentes de IA, las tareas y el flujo general dentro de sus aplicaciones. Este método garantiza una gestión del estado coherente en interacciones complejas de agentes, proporcionando mayor claridad y control.
Aquí hay un ejemplo simplificado que demuestra cómo integrar KaibanJS con la administración del estado en una aplicación React:
importar myAgentsTeam desde './agenticTeam';const KaibanJSComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {agentes, resultado de flujo de trabajo} = useTeamStore((estado) => ({agentes: estado.agentes,resultado de flujo de trabajo: estado.flujo de trabajoResultado, })); return (<div> <button onClick={myAgentsTeam.start}>Iniciar flujo de trabajo del equipo</button> <p>Resultado del flujo de trabajo: {workflowResult}</p> <div><h2>♂️ Agentes</h2>{agents .map((agente) => ( <p clave={agente.id}>{agente.nombre} - {agente.role} - Estado: ({agent.status}) </p>))} </div></div> );};exportar KaibanJSComponent predeterminado;
Para profundizar en la gestión estatal con KaibanJS, visite la documentación.
Agregue fácilmente capacidades de IA a sus proyectos NextJS, React, Vue, Angular y Node.js.
KaibanJS está diseñado para una integración perfecta en una amplia gama de entornos JavaScript. Ya sea que esté mejorando las interfaces de usuario en React, Vue o Angular, creando aplicaciones escalables con NextJS o implementando soluciones del lado del servidor en Node.js, el marco se integra sin problemas en su flujo de trabajo existente.
importar React desde 'react';importar myAgentsTeam desde './agenticTeam';const TaskStatusComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {tareas} = useTeamStore((estado) => ({tareas: estado.tasks.map((tarea) => ({ id: tarea.id, descripción: tarea.descripción, estado: tarea.status,})) , })); return (<div> <h1>Estados de tareas</h1> <ul>{tasks.map((task) => ( <li key={task.id}>{task.description}: Estado - {task.status } </li>))} </ul></div> );};exportar el componente de estado de tarea predeterminado;
Para una inmersión más profunda, visite la documentación.
Integradas en KaibanJS, las funciones de observabilidad le permiten realizar un seguimiento de cada cambio de estado con estadísticas y registros detallados, lo que garantiza total transparencia y control. Esta funcionalidad proporciona información en tiempo real sobre el uso de tokens, los costos operativos y los cambios de estado, lo que mejora la confiabilidad del sistema y permite la toma de decisiones informadas a través de una visibilidad integral de los datos.
El siguiente fragmento de código demuestra cómo se utiliza el enfoque de gestión de estado para monitorear y reaccionar ante cambios en los registros de flujo de trabajo, proporcionando control granular y conocimientos profundos sobre la dinámica operativa de sus agentes de IA:
const useStore = myAgentsTeam.useStore();useStore.subscribe( (estado) => estado.workflowLogs, (nuevosLogs, anteriorLogs) => {if (nuevoLogs.length > anteriorLogs.length) { const {tarea, agente, metadatos } = nuevosLogs[newLogs.length - 1]; if (newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {switch (task.status) { case TASK_STATUS_enum.DONE:console.log('Tarea completada', { taskDescription: task.description, agentName: agente.nombre, agenteModelo: agente.llmConfig.modelo, duración: metadatos.duración, llmUsageStats: metadata.llmUsageStats, costDetails: metadata.costDetails,});break; case TASK_STATUS_enum.DOING: case TASK_STATUS_enum.BLOCKED: case TASK_STATUS_enum.REVISE: case TASK_STATUS_enum.TODO:console.log('Actualización del estado de la tarea', { taskDescription: task.description, taskStatus: task.status, agentName: agent.name,} );romper; default:console.warn('Encontré un estado de tarea inesperado:', task.status);break;} }} });
Para obtener más detalles sobre cómo utilizar las funciones de observabilidad en KaibanJS, visite la documentación.
Documentación oficial
Únase a nuestra discordia
KaibanJS pretende ser compatible con los principales frameworks front-end como React, Vue, Angular y NextJS, lo que lo convierte en una opción versátil para los desarrolladores. El ecosistema JavaScript es un "poco complejo...". Si tienes algún problema, dínoslo y te ayudaremos a solucionarlo.
Hay alrededor de 20 millones de desarrolladores de JavaScript en todo el mundo, pero la mayoría de los marcos de IA están escritos originalmente en Python. Otros son meras adaptaciones para JavaScript.
Esto nos pone a todos los desarrolladores de JavaScript en desventaja en la carrera de la IA . Pero ya no...
KaibanJS cambia las reglas del juego al ofrecer un marco multiagente de IA robusto y fácil de usar diseñado específicamente para el ecosistema JavaScript.
const writeBy = `Otro desarrollador de JS que no quiere aprender Python para hacer cosas significativas de IA.`;console.log(writeBy);
Únase a la comunidad de Discord para conectarse con otros desarrolladores y obtener soporte. Síganos en Twitter para conocer las últimas actualizaciones.
Agradecemos las contribuciones de la comunidad. Lea las pautas de contribución antes de enviar solicitudes de extracción.
KaibanJS tiene licencia del MIT.