KaibanJS вдохновлен проверенной методологией Канбан, которая хорошо известна тем, что помогает командам организовывать и управлять своей работой. Мы адаптировали эти концепции для решения уникальных задач управления агентами ИИ .
Если вы использовали такие инструменты, как Trello, Jira или ClickUp, вы знакомы с тем, как Канбан помогает управлять задачами. Теперь KaibanJS использует ту же систему, чтобы помочь вам управлять агентами ИИ и их задачами в режиме реального времени.
С KaibanJS вы можете:
Создавайте, визуализируйте и управляйте агентами ИИ, задачами, инструментами и командами.
Беспрепятственно организуйте рабочие процессы ИИ
Визуализируйте рабочие процессы в режиме реального времени
Отслеживайте прогресс по мере прохождения задач через разные этапы
Более эффективное сотрудничество в проектах ИИ
Исследуйте доску Кайбан — это похоже на Trello или Asana, но для агентов ИИ и людей.
Начните работу с KaibanJS менее чем за минуту:
1. Запустите инициализатор KaibanJS в каталоге вашего проекта:
npx kaibanjs@latest init
2. Добавьте ключ API службы AI в файл .env
:
VITE_OPENAI_API_KEY=your-api-key-here
3. Перезапустите доску Kaiban:
npm запустить кайбан
Нажмите «Начать рабочий процесс», чтобы запустить пример по умолчанию.
Наблюдайте за выполнением задач агентами в режиме реального времени на доске задач.
Просмотрите конечный результат в обзоре результатов.
KaibanJS не ограничивается Kaiban Board. Вы можете интегрировать его непосредственно в свои проекты, создавать собственные пользовательские интерфейсы или запускать агенты без пользовательского интерфейса. Изучите наши руководства по интеграции React и Node.js, чтобы раскрыть весь потенциал KaibanJS в различных контекстах разработки.
Если вы предпочитаете настроить KaibanJS вручную, выполните следующие действия:
npm установить кайбанджс
// Использование синтаксиса импорта ES6 для NextJS, React и т. д.import { Agent, Task, Team } from 'kaibanjs';
// Использование синтаксиса CommonJS для NodeJSconst { Agent, Task, Team } = require('kaibanjs');
// Определить агентconst ResearchAgent = new Agent({ имя: 'Исследователь', роль: «Сборщик информации», Цель: 'Найти соответствующую информацию по заданной теме',});// Создать задачуconst ResearchTask = new Task({ описание: «Изучите последние разработки в области искусственного интеллекта», агент: ResearchAgent,});// Создаем команду teamconst team = new Team({ название: «Исследовательская группа ИИ», агенты: [researchAgent], задачи: [researchTask], env: { OPENAI_API_KEY: 'ваш-api-ключ-здесь' },});// Запускаем рабочую группу .начинать() .then((output) => {console.log('Рабочий процесс завершен:', output.result); }) .catch((error) => {console.error('Ошибка рабочего процесса:', error); });
Агенты Агенты — это автономные объекты, предназначенные для выполнения определенных ролей и достижения целей на основе поставленных перед ними задач. Они подобны сверхмощным LLM, которые могут выполнять задачи в цикле, пока не получат окончательный ответ.
Задачи Задачи определяют конкретные действия, которые должен предпринять каждый агент, их ожидаемые результаты и помечают критические результаты как результаты, если они являются конечными продуктами.
Команда Команда координирует агентов и их задачи. Он начинается с первоначального ввода и управляет потоком информации между задачами.
Посмотрите это видео, чтобы узнать больше о концепциях: KaibanJS Concepts.
Канбан-доски — отличные инструменты для демонстрации рабочих процессов команды в режиме реального времени, обеспечивающие четкий и интерактивный снимок прогресса каждого участника.
Мы адаптировали эту концепцию для агентов ИИ.
Теперь вы можете визуализировать рабочий процесс ваших ИИ-агентов как членов команды, при этом задачи перемещаются из состояния «Сделать» в состояние «Готово» прямо у вас на глазах. Такое визуальное представление упрощает понимание и управление сложными операциями ИИ, делая их доступными для всех и везде.
Используйте возможности специализации, настроив агентов искусственного интеллекта для выполнения отдельных важнейших функций в ваших проектах. Такой подход повышает эффективность и результативность каждой задачи, выходя за рамки ограничений обычного ИИ.
В этом примере наша команда разработчиков программного обеспечения состоит из трех специализированных агентов искусственного интеллекта: Дэйва, Эллы и Куинн. Каждый агент профессионально адаптирован для своей конкретной роли, обеспечивая эффективное выполнение задач и синергию, ускоряющую цикл разработки.
import { Agent } from 'kaibanjs';const daveLoper = new Agent({ имя: Дэйв Лопер, роль: «Разработчик», цель: «Написать и просмотреть код», фон: 'Опыт работы с JavaScript, React и Node.js',});const ella = new Agent({ имя: 'Элла', роль: «Менеджер по продукту», цель: «Определить видение продукта и управлять дорожной картой», Справочная информация: «Квалифицированный анализ рынка и продуктовая стратегия»,});const quinn = new Agent({ имя: «Куинн», должность: «Специалист по обеспечению качества», цель: «Обеспечить качество и последовательность», фон: 'Эксперт в области тестирования, автоматизации и отслеживания ошибок',});
Точно так же, как профессионалы используют специальные инструменты для достижения успеха в своих задачах, позвольте вашим агентам ИИ использовать такие инструменты, как поисковые системы, калькуляторы и многое другое, для выполнения специализированных задач с большей точностью и эффективностью.
В этом примере один из агентов ИИ, Питер Атлас, использует инструмент «Результаты поиска Тавили», чтобы расширить свои возможности по выбору лучших городов для путешествий. Этот инструмент позволяет Питеру анализировать данные о поездках с учетом погоды, цен и сезонности, обеспечивая наиболее подходящие рекомендации.
import { Agent, Tool } from 'kaibanjs';const tavilySearchResults = new Tool({ имя: 'Результаты поиска в Тавили', МаксРезультаты: 1, apiKey: 'ENV_TRAVILY_API_KEY',});const peterAtlas = новый агент({ имя: «Питер Атлас», роль: «Выбор города», цель: «Выбрать лучший город на основе полных данных о поездках», Справочная информация: «Опыт анализа географических данных и тенденций в сфере путешествий», инструменты: [tavilySearchResults],});
KaibanJS поддерживает все инструменты, совместимые с LangchainJS, предлагая универсальный подход к интеграции инструментов. Для получения более подробной информации посетите документацию.
Оптимизируйте свои решения искусственного интеллекта, интегрировав ряд специализированных моделей искусственного интеллекта, каждая из которых предназначена для достижения успеха в различных аспектах ваших проектов.
В этом примере агенты — Эмма, Лукас и Миа — используют разнообразные модели ИИ для выполнения определенных этапов разработки спецификации функций. Такое целенаправленное использование моделей ИИ не только максимизирует эффективность, но и гарантирует, что каждая задача будет согласована с наиболее экономически эффективными и подходящими ресурсами ИИ.
import { Agent } from 'kaibanjs';const emma = new Agent({ имя: 'Эмма', роль: «Первоначальный черновик», цель: «Обрисовать основные функции», llmConfig: {провайдер: «google», модель: «gemini-1.5-pro», },});const lucas = новый агент({ имя: Лукас, роль: «Техническая спецификация», цель: «Составить детальное техническое задание», llmConfig: {поставщик: «антропный», модель: «клод-3-5-сонет-20240620», },});const mia = новый агент({ имя: 'Миа', роль: «Окончательный обзор», цель: «Обеспечить точность и полноту итогового документа», llmConfig: {поставщик: «openai», модель: «gpt-4o», },});
Более подробную информацию об интеграции различных моделей искусственного интеллекта с KaibanJS можно найти в документации.
KaibanJS использует архитектуру, вдохновленную Redux, обеспечивающую унифицированный подход к управлению состояниями агентов ИИ, задачами и общим потоком данных в ваших приложениях. Этот метод обеспечивает согласованное управление состоянием при сложных взаимодействиях агентов, обеспечивая повышенную ясность и контроль.
Вот упрощенный пример, демонстрирующий, как интегрировать KaibanJS с управлением состоянием в приложении React:
импортировать myAgentsTeam из './agentTeam';const KaibanJSComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {агенты, workflowResult } = useTeamStore((state) => ({агенты: state.agents,workflowResult: state.workflowResult, })); return (<div> <button onClick={myAgentsTeam.start}>Начать рабочий процесс группы</button> <p>Результат рабочего процесса: {workflowResult</p> <div><h2>♂️ Агенты</h2>{агенты .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, фреймворк легко интегрируется в ваш существующий рабочий процесс.
импортировать React из 'реагировать';импортировать myAgentsTeam из './agenticTeam';const TaskStatusComponent = () => { const useTeamStore = myAgentsTeam.useStore(); const {задачи} = useTeamStore((state) => ({tasks: state.tasks.map((task) => ({ id: Task.id, описание: Task.description, статус: 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, previousLogs) => {if (newLogs.length > previousLogs.length) { const { задача, агент, метаданные } = 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: агент.имя, модель агента: агент.llmConfig.model, продолжительность: метаданные.длительность, llmUsageStats: метаданные.llmUsageStats, CostDetails: метаданные.costDetails,});break; случай TASK_STATUS_enum.DOING: случай TASK_STATUS_enum.BLOCKED: случай TASK_STATUS_enum.REVISE: случай TASK_STATUS_enum.TODO:console.log('Обновление статуса задачи', { TaskDescription: Task.description, TaskStatus: Task.status, AgentName: Agent.name,} );перерыв; default:console.warn('Обнаружен непредвиденный статус задачи:', Task.status);break;} }} });
Более подробную информацию о том, как использовать функции наблюдения в KaibanJS, можно найти в документации.
Официальная документация
Присоединяйтесь к нашему дискорду
KaibanJS стремится быть совместимым с основными интерфейсными платформами, такими как React, Vue, Angular и NextJS, что делает его универсальным выбором для разработчиков. Экосистема JavaScript «немного сложна…». Если у вас возникли проблемы, сообщите нам, и мы поможем вам их исправить.
Во всем мире насчитывается около 20 миллионов разработчиков JavaScript, однако большинство фреймворков искусственного интеллекта изначально написаны на Python. Другие являются просто адаптацией JavaScript.
Это ставит всех нас , разработчиков JavaScript, в невыгодное положение в гонке ИИ . Но уже нет...
KaibanJS меняет правила игры, стремясь предложить надежную и простую в использовании многоагентную среду искусственного интеллекта, разработанную специально для экосистемы JavaScript.
const writeBy = `Еще один JS-разработчик, который не хочет изучать Python, чтобы заниматься значимыми делами с искусственным интеллектом.`;console.log(writeBy);
Присоединяйтесь к сообществу Discord, чтобы общаться с другими разработчиками и получать поддержку. Следите за нами в Твиттере, чтобы быть в курсе последних обновлений.
Мы приветствуем вклад сообщества. Пожалуйста, прочтите правила участия перед отправкой запросов на включение.
KaibanJS имеет лицензию MIT.