KaibanJS é inspirado na metodologia Kanban testada e comprovada, conhecida por ajudar equipes a organizar e gerenciar seu trabalho. Adaptamos esses conceitos para atender aos desafios exclusivos do gerenciamento de agentes de IA .
Se você já usou ferramentas como Trello, Jira ou ClickUp, estará familiarizado com a forma como o Kanban ajuda a gerenciar tarefas. Agora, o KaibanJS usa o mesmo sistema para ajudá-lo a gerenciar agentes de IA e suas tarefas em tempo real.
Com KaibanJS, você pode:
Crie, visualize e gerencie agentes, tarefas, ferramentas e equipes de IA
Orquestre fluxos de trabalho de IA perfeitamente
Visualize fluxos de trabalho em tempo real
Acompanhe o progresso à medida que as tarefas passam por diferentes estágios
Colabore de forma mais eficaz em projetos de IA
Explore o Kaiban Board – é como Trello ou Asana, mas para agentes de IA e humanos.
Comece com KaibanJS em menos de um minuto:
1. Execute o inicializador KaibanJS no diretório do seu projeto:
npx kaibanjs@latest init
2. Adicione sua chave de API do serviço de IA ao arquivo .env
:
VITE_OPENAI_API_KEY=your-api-key-here
3. Reinicie seu quadro Kaiban:
npm executa kaiban
Clique em “Iniciar fluxo de trabalho” para executar o exemplo padrão.
Observe os agentes concluírem tarefas em tempo real no Quadro de Tarefas.
Veja o resultado final na Visão Geral dos Resultados.
KaibanJS não se limita ao Kaiban Board. Você pode integrá-lo diretamente aos seus projetos, criar UIs personalizadas ou executar agentes sem uma UI. Explore nossos tutoriais de integração entre React e Node.js para liberar todo o potencial do KaibanJS em vários contextos de desenvolvimento.
Se você preferir configurar o KaibanJS manualmente, siga estas etapas:
npm instalar kaibanjs
// Usando sintaxe de importação ES6 para NextJS, React, etc.import { Agent, Task, Team } from 'kaibanjs';
// Usando sintaxe CommonJS para NodeJSconst { Agent, Task, Team } = require('kaibanjs');
// Defina um agenteconst researchAgent = new Agent({ nome: 'Pesquisador', função: 'Coletor de informações', goal: 'Encontrar informações relevantes sobre um determinado tópico',});// Cria uma tarefaconst researchTask = new Task({ descrição: 'Pesquise desenvolvimentos recentes de IA', agente: researchAgent,});// Configurar um teamconst team = new Team({ nome: 'Equipe de Pesquisa de IA', agentes: [agente de pesquisa], tarefas: [researchTask], env: { OPENAI_API_KEY: 'your-api-key-here' },});// Inicia a equipe de fluxo de trabalho .começar() .then((saída) => {console.log('Fluxo de trabalho concluído:', saída.resultado); }) .catch((erro) => {console.error('Erro de fluxo de trabalho:', erro); });
Agentes Agentes são entidades autônomas projetadas para desempenhar funções específicas e atingir metas com base nas tarefas que lhes são atribuídas. Eles são como LLMs superpoderosos que podem executar tarefas em loop até chegar à resposta final.
Tarefas As tarefas definem as ações específicas que cada agente deve realizar, seus resultados esperados e marcam os resultados críticos como entregas se forem os produtos finais.
Equipe A Equipe coordena os agentes e suas tarefas. Começa com uma entrada inicial e gerencia o fluxo de informações entre as tarefas.
Assista a este vídeo para saber mais sobre os conceitos: Conceitos KaibanJS
Os quadros Kanban são excelentes ferramentas para mostrar os fluxos de trabalho da equipe em tempo real, fornecendo um instantâneo claro e interativo do progresso de cada membro.
Adaptamos esse conceito para agentes de IA.
Agora, você pode visualizar o fluxo de trabalho de seus agentes de IA como membros da equipe, com tarefas passando de "A fazer" para "Concluído" bem diante de seus olhos. Esta representação visual simplifica a compreensão e o gerenciamento de operações complexas de IA, tornando-as acessíveis a qualquer pessoa, em qualquer lugar.
Aproveite o poder da especialização configurando agentes de IA para se destacarem em funções distintas e críticas em seus projetos. Esta abordagem aumenta a eficácia e eficiência de cada tarefa, indo além das limitações da IA genérica.
Neste exemplo, nossa equipe de desenvolvimento de software é apoiada por três agentes especializados em IA: Dave, Ella e Quinn. Cada agente é habilmente adaptado à sua função específica, garantindo um tratamento eficiente de tarefas e sinergia que acelera o ciclo de desenvolvimento.
import { Agente } from 'kaibanjs';const daveLoper = new Agente({ nome: 'Dave Loper', função: 'Desenvolvedor', objetivo: 'Escrever e revisar código', background: 'Experiência em JavaScript, React e Node.js',});const ella = new Agent({ nome: 'Ella', função: 'Gerente de Produto', objetivo: 'Definir a visão do produto e gerenciar o roteiro', background: 'Hábil em análise de mercado e estratégia de produto',});const quinn = new Agent({ nome: 'Quinn', função: 'Especialista em controle de qualidade', objetivo: 'Garantir qualidade e consistência', background: 'Especialista em testes, automação e rastreamento de bugs',});
Assim como os profissionais usam ferramentas específicas para se destacarem em suas tarefas, permita que seus agentes de IA utilizem ferramentas como mecanismos de pesquisa, calculadoras e muito mais para executar tarefas especializadas com maior precisão e eficiência.
Neste exemplo, um dos agentes de IA, Peter Atlas, aproveita a ferramenta Tavily Search Results para aprimorar sua capacidade de selecionar as melhores cidades para viajar. Esta ferramenta permite que Peter analise dados de viagens considerando clima, preços e sazonalidade, garantindo as recomendações mais adequadas.
import { Agente, Ferramenta } from 'kaibanjs';const tavilySearchResults = new Tool({ nome: 'Resultados da pesquisa Tavily', resultados máximos: 1, apiKey: 'ENV_TRAVILY_API_KEY',});const peterAtlas = novo Agente({ nome: 'Pedro Atlas', função: 'Seletor de cidade', objetivo: 'Escolher a melhor cidade com base em dados abrangentes de viagens', histórico: 'Experiência em análise de dados geográficos e tendências de viagens', ferramentas: [tavilySearchResults],});
KaibanJS oferece suporte a todas as ferramentas compatíveis com LangchainJS, oferecendo uma abordagem versátil para integração de ferramentas. Para mais detalhes, visite a documentação.
Otimize suas soluções de IA integrando uma variedade de modelos de IA especializados, cada um adaptado para se destacar em aspectos distintos de seus projetos.
Neste exemplo, os agentes – Emma, Lucas e Mia – usam diversos modelos de IA para lidar com estágios específicos de desenvolvimento de especificações de recursos. Este uso direcionado de modelos de IA não apenas maximiza a eficiência, mas também garante que cada tarefa esteja alinhada com os recursos de IA mais econômicos e apropriados.
import { Agente } from 'kaibanjs';const emma = new Agente({ nome: 'Emma', função: 'Esboço Inicial', objetivo: 'Descrever as principais funcionalidades', llmConfig: {provedor: 'google', modelo: 'gemini-1.5-pro', },});const lucas = new Agente({ nome: 'Lucas', função: 'Especificação Técnica', objetivo: «Elaborar especificações técnicas detalhadas», llmConfig: {provedor: 'antrópico', modelo: 'claude-3-5-sonnet-20240620', },});const mia = new Agente({ nome: 'Mia', função: 'Revisão Final', objetivo: 'Garantir a exatidão e integridade do documento final', llmConfig: {provedor: 'openai', modelo: 'gpt-4o', },});
Para mais detalhes sobre a integração de diversos modelos de IA com KaibanJS, visite a documentação.
KaibanJS emprega uma arquitetura inspirada no Redux, permitindo uma abordagem unificada para gerenciar os estados dos agentes de IA, tarefas e fluxo geral em seus aplicativos. Este método garante gerenciamento de estado consistente em interações complexas de agentes, proporcionando maior clareza e controle.
Aqui está um exemplo simplificado que demonstra como integrar KaibanJS com gerenciamento de estado em uma aplicação React:
importar myAgentsTeam de './agenticTeam';const KaibanJSComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const { agentes, workflowResult } = useTeamStore((state) => ({agents: state.agents,workflowResult: state.workflowResult, })); return (<div> <button onClick={myAgentsTeam.start}>Iniciar fluxo de trabalho da equipe</button> <p>Resultado do fluxo de trabalho: {workflowResult}</p> <div><h2>♂️ Agentes</h2>{agentes .map((agent) => ( <p key={agent.id}>{agent.name} - {agent.role} - Status: ({agent.status}) </p>))} </div></div> );};exportar padrão KaibanJSComponent;
Para se aprofundar no gerenciamento de estado com KaibanJS, visite a documentação.
Adicione facilmente recursos de IA aos seus projetos NextJS, React, Vue, Angular e Node.js.
KaibanJS foi projetado para integração perfeita em uma ampla variedade de ambientes JavaScript. Esteja você aprimorando interfaces de usuário em React, Vue ou Angular, construindo aplicativos escalonáveis com NextJS ou implementando soluções do lado do servidor em Node.js, a estrutura se integra perfeitamente ao seu fluxo de trabalho existente.
importar React de 'react';importar myAgentsTeam de './agenticTeam';const TaskStatusComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {tarefas} = useTeamStore((estado) => ({tarefas: estado.tasks.map((tarefa) => ({ id: tarefa.id, descrição: tarefa.descrição, status: tarefa.status,})) , })); return (<div> <h1>Status das tarefas</h1> <ul>{tasks.map((task) => ( <li key={task.id}>{task.description}: Status - {task.status } </li>))} </ul></div> );};exportar TaskStatusComponent padrão;
Para um mergulho mais profundo, visite a documentação.
Integrados ao KaibanJS, os recursos de observabilidade permitem rastrear cada mudança de estado com estatísticas e registros detalhados, garantindo total transparência e controle. Essa funcionalidade fornece insights em tempo real sobre o uso de tokens, custos operacionais e mudanças de estado, aumentando a confiabilidade do sistema e permitindo a tomada de decisões informadas por meio de visibilidade abrangente de dados.
O trecho de código a seguir demonstra como a abordagem de gerenciamento de estado é utilizada para monitorar e reagir às mudanças nos logs de fluxo de trabalho, fornecendo controle granular e insights profundos sobre a dinâmica operacional de seus agentes de IA:
const useStore = myAgentsTeam.useStore();useStore.subscribe( (estado) => estado.workflowLogs, (newLogs, previousLogs) => {if (newLogs.length > previousLogs.length) { const { tarefa, agente, metadados } = newLogs[newLogs.length - 1]; if (newLogs[newLogs.length - 1].logType === 'TaskStatusUpdate') {switch (task.status) { case TASK_STATUS_enum.DONE:console.log('Task Completed', { taskDescription: task.description, agentName: agente.nome, agentModel: agente.llmConfig.model, duração: metadata.duration, 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('Atualização de status da tarefa', { taskDescription: task.description, taskStatus: task.status, agentName: agent.name,} );quebrar; default:console.warn('Encontrado um status de tarefa inesperado:', task.status);break;} }} });
Para obter mais detalhes sobre como utilizar recursos de observabilidade no KaibanJS, visite a documentação.
Documentação Oficial
Junte-se ao nosso Discord
KaibanJS pretende ser compatível com os principais frameworks front-end como React, Vue, Angular e NextJS, tornando-o uma escolha versátil para desenvolvedores. O ecossistema JavaScript é um "pouco complexo...". Se você tiver algum problema, informe-nos e nós o ajudaremos a resolvê-lo.
Existem cerca de 20 milhões de desenvolvedores de JavaScript em todo o mundo, mas a maioria das estruturas de IA são originalmente escritas em Python. Outros são meras adaptações para JavaScript.
Isso coloca todos nós , desenvolvedores de JavaScript, em desvantagem na corrida da IA . Mas não mais...
KaibanJS muda o jogo com o objetivo de oferecer uma estrutura multiagente de IA robusta e fácil de usar, projetada especificamente para o ecossistema JavaScript.
constwriteBy = `Outro desenvolvedor JS que não quer aprender Python para fazer coisas significativas de IA.`;console.log(writingBy);
Junte-se à comunidade Discord para se conectar com outros desenvolvedores e obter suporte. Siga-nos no Twitter para obter as últimas atualizações.
Aceitamos contribuições da comunidade. Leia as diretrizes de contribuição antes de enviar solicitações pull.
KaibanJS é licenciado pelo MIT.