Skip to content

@robota-sdk/team - Multi-Agent Team Collaboration

npm version

복잡한 작업을 위한 멀티 에이전트 팀워크 기능 - 동적 에이전트 조정 및 작업 위임

개요

@robota-sdk/team은 Robota SDK의 핵심 기능으로, 사용자의 복잡한 작업을 여러 전문 에이전트들이 협업하여 해결하는 시스템입니다. 팀 코디네이터가 작업을 분석하고 필요한 전문 에이전트들을 동적으로 생성하여 업무를 분산하고 결과를 취합합니다.

핵심 특징: AI가 사용자의 자연스러운 요청을 분석하여 자동으로 적절한 전문가 템플릿을 선택합니다. 사용자는 템플릿 이름을 알 필요가 없습니다.

설치

bash
npm install @robota-sdk/team

주요 기능

🤝 동적 에이전트 조정

  • 전담 태스크 코디네이터가 사용자 요청을 분석하고 전문 에이전트들에게 위임
  • 작업별로 필요한 에이전트만 동적 생성
  • 자동 리소스 정리 및 메모리 관리

🎯 지능적 템플릿 선택

  • AI가 자동으로 작업 내용을 분석하여 적절한 전문가 템플릿 선택
  • 사용자는 템플릿 이름을 몰라도 자연스러운 요청만으로 전문가 협업 가능
  • 6개 기본 제공 템플릿: 태스크 코디네이터, 요약 전문가, 윤리 검토자, 창의적 아이디어 생성가, 빠른 실행자, 도메인 리서처

통합된 delegateWork 도구

  • 모든 작업 위임을 위한 단일 도구 인터페이스
  • 복잡한 작업 분해를 위한 재귀적 위임 지원

🚀 병렬 작업 처리

  • 같은 AI 응답에서 받은 여러 작업을 동시에 병렬 처리 (기본 활성화)
  • Rate limit 방지를 위한 지능적 딜레이 시스템
  • AI Provider별 맞춤 설정 가능

아키텍처

핵심 컴포넌트

  • TeamContainer: 메인 조정 클래스
  • AgentFactory: 적절한 프롬프트로 작업별 에이전트 생성
  • AgentTemplateManager: 전문가 템플릿 관리 및 자동 선택
  • Internal Task Assignment: 내부적으로 작업을 전문가 에이전트들에게 자동 위임

기본 사용법

typescript
import { createTeam } from '@robota-sdk/team';
import { OpenAIProvider } from '@robota-sdk/openai';
import { AnthropicProvider } from '@robota-sdk/anthropic';

const openaiProvider = new OpenAIProvider({
  client: new OpenAI({ apiKey: process.env.OPENAI_API_KEY }),
  // 병렬 처리 설정 (모두 optional, 아래는 기본값)
  enableParallelToolCalls: true,     // 기본값: true (자동 활성화)
  maxConcurrentToolCalls: 3,         // 기본값: 3
  toolCallDelayMs: 150               // 기본값: 100ms (OpenAI rate limit 고려)
});

const anthropicProvider = new AnthropicProvider({
  client: new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }),
  // Anthropic은 더 보수적인 설정 (병렬 처리는 기본 활성화)
  maxConcurrentToolCalls: 2,
  toolCallDelayMs: 200
});

// 간소화된 템플릿 기반 API
const team = createTeam({
  aiProviders: {
    openai: openaiProvider,
    anthropic: anthropicProvider
  },
  maxMembers: 5,
  maxTokenLimit: 50000,
  logger: console,
  debug: true
});

// AI가 자동으로 적절한 전문가들에게 위임
// 여러 작업이 동시에 위임되면 병렬 처리됨
const result = await team.execute(
  'Create a comprehensive marketing strategy for our new SaaS product'
);

병렬 처리 동작 방식

typescript
// AI가 한 번에 5개 작업을 위임하는 경우:
// 1. 첫 번째 배치: [task1, task2, task3] - 0ms, 150ms, 300ms 딜레이로 시작
// 2. 배치 완료 대기
// 3. 두 번째 배치: [task4, task5] - 추가 150ms 딜레이 후 시작
// 4. 모든 결과 수집 후 AI에게 전달

// 순차 처리 비활성화도 가능
const sequentialProvider = new OpenAIProvider({
  client: openaiClient,
  enableParallelToolCalls: false  // 순차 처리로 되돌리기
});

에이전트 템플릿 시스템

기본 제공 템플릿

  • Task Coordinator: 복잡한 작업 분석과 전문가 위임을 담당하는 팀 리더 (OpenAI gpt-4o-mini, temp: 0.4)
  • Summarizer: 문서 요약 및 핵심 포인트 추출 (OpenAI gpt-4o-mini, temp: 0.3)
  • Ethical Reviewer: 윤리적 검토 및 컴플라이언스 평가 (Anthropic claude-3-5-sonnet-20241022, temp: 0.2)
  • Creative Ideator: 창의적 사고 및 혁신적 아이디어 생성 (OpenAI gpt-4o-mini, temp: 0.8)
  • Fast Executor: 신속하고 정확한 작업 실행 (OpenAI gpt-4o-mini, temp: 0.1)
  • Domain Researcher: 도메인별 연구 및 분석 (Anthropic claude-3-5-sonnet-20241022, temp: 0.4)

템플릿 관리

typescript
// 템플릿 매니저 접근
const templateManager = team.getTemplateManager();

// 커스텀 템플릿 추가
templateManager.addTemplate({
  name: "data_scientist",
  description: "Expert in data analysis, machine learning, and statistical modeling. Use for: analyzing datasets, building ML models, statistical analysis, data visualization, predictive analytics, A/B testing, data preprocessing, feature engineering.",
  llm_provider: "openai",
  model: "gpt-4",
  temperature: 0.3,
  system_prompt: "You are a data science expert...",
  tags: ["data", "ml", "statistics"],
  version: "1.0.0",
  createdAt: new Date()
});

고급 설정

커스텀 템플릿 매니저 및 리더 지정

typescript
import { AgentTemplateManager } from '@robota-sdk/agents';

// 커스텀 템플릿 매니저 생성
const templateManager = new AgentTemplateManager();
templateManager.addTemplate({ 
  name: "custom_coordinator", 
  description: "Custom task coordination specialist",
  llm_provider: "anthropic",
  model: "claude-3-5-sonnet-20241022",
  temperature: 0.3,
  system_prompt: "You are a specialized coordinator...",
  tags: ["coordination", "management"],
  version: "1.0.0",
  createdAt: new Date()
});

const team = createTeam({
  aiProviders: {
    openai: openaiProvider,
    anthropic: anthropicProvider
  },
  templateManager: templateManager,  // 커스텀 템플릿 매니저 주입
  leaderTemplate: "custom_coordinator",  // 커스텀 리더 지정
  maxMembers: 10,
  debug: true
});

API 레퍼런스

createTeam(options)

typescript
interface TeamOptions {
  aiProviders: Record<string, AIProvider>;   // 필수: AI 프로바이더들
  maxMembers?: number;                       // 기본값: 5
  debug?: boolean;                           // 기본값: false
  maxTokenLimit?: number;                    // 기본값: 50000
  logger?: any;                              // 기본값: console
  templateManager?: AgentTemplateManager;    // 옵셔널: 커스텀 템플릿 매니저
  leaderTemplate?: string;                   // 옵셔널: 기본값 "task_coordinator"
}

AI Provider 병렬 처리 옵션

typescript
interface ProviderOptions {
  // 기존 옵션들...
  
  // 병렬 처리 옵션 (모두 optional)
  enableParallelToolCalls?: boolean;      // 기본값: true
  maxConcurrentToolCalls?: number;        // 기본값: 3
  toolCallDelayMs?: number;               // 기본값: 100ms
}

주요 메서드

  • team.execute(userPrompt): 팀 협업으로 작업 처리
  • team.getTemplateManager(): 템플릿 매니저 접근
  • team.getWorkflowHistory(): 워크플로우 히스토리 조회
  • team.getStats(): 팀 성능 통계 조회

구현 완료 사항

✅ Task Coordinator 템플릿 시스템

  • 팀 리더 역할: task_coordinator 템플릿이 기본 팀 리더로 동작
  • 자동 템플릿 선택: AI가 자연어 요청을 분석하여 적절한 전문가 템플릿 자동 선택
  • 단순화된 API: AI 프로바이더만 제공하면 템플릿이 모든 설정 관리
  • 완전한 백워드 호환성: 기존 코드 수정 없이 새 기능 사용 가능

✅ 병렬 작업 처리 시스템

  • 지능적 병렬 처리: 같은 AI 응답 내 여러 tool calls 동시 실행
  • Rate Limit 보호: 요청 간 딜레이로 API 제한 방지
  • 배치 처리: maxConcurrentToolCalls로 동시 실행 수 제한
  • Provider별 맞춤 설정: 각 AI Provider별 최적화된 설정 가능
  • 완전한 백워드 호환성: 기본값으로 자동 활성화, 비활성화 가능

주요 개선사항

  • 템플릿 기반 설정으로 복잡한 구성 옵션 제거
  • 각 템플릿이 최적화된 AI 프로바이더/모델/온도 자동 선택
  • 6개 전문화된 기본 템플릿 제공
  • 커스텀 템플릿 및 팀 리더 지정 지원
  • 병렬 처리로 다중 작업 성능 대폭 향상

핵심: 사용자는 템플릿 이름을 몰라도 됩니다. 자연스러운 요청만 하면 AI가 자동으로 최적의 전문가들을 선택하여 협업합니다. 여러 작업이 동시에 위임되면 자동으로 병렬 처리되어 빠른 결과를 제공합니다.

Template Specifications

  • general: General-purpose agent for diverse tasks (OpenAI gpt-4o-mini, temp: 0.5)
  • task_coordinator: Team coordination and work distribution (OpenAI gpt-4o-mini, temp: 0.4)
  • domain_researcher: Research, analysis, and market studies (Anthropic claude-3-5-sonnet-20241022, temp: 0.4)
  • creative_ideator: Innovation, brainstorming, and creative solutions (OpenAI gpt-4o-mini, temp: 0.8)
  • summarizer: Document summarization and key point extraction (OpenAI gpt-4o-mini, temp: 0.3)
  • ethical_reviewer: Ethics review and compliance evaluation (Anthropic claude-3-5-sonnet-20241022, temp: 0.2)
  • fast_executor: Quick and accurate task execution (OpenAI gpt-4o-mini, temp: 0.1)

Released under the MIT License.