전체 아키텍처에서 현재 위치
⚙️코어 엔진
→🔧도구 시스템
→🛡️보안
→🧠컨텍스트
→🤝멀티 에이전트
→🌐생태계
→⚡인프라
1
7가지 태스크 타입
LocalShell, LocalAgent, Remote, InProcess, Dream 등
태스크 유니온진행률 추적태스크 생명주기|
tasks/types.tstasks/LocalAgentTask/LocalAgentTask.tsxtasks/RemoteAgentTask/RemoteAgentTask.tsxClaude Code는 7가지 태스크 타입을 지원합니다. 각 타입은 독립적인 상태와 생명주기를 가집니다.
src/tasks/LocalAgentTask/LocalAgentTask.tsx
1// src/tasks/LocalAgentTask/LocalAgentTask.tsx — 태스크 상태2 3export type ToolActivity = {💡4 toolName: string5 input: Record<string, unknown>6 activityDescription?: string // "Reading src/foo.ts"7 isSearch?: boolean8 isRead?: boolean9}10 11export type AgentProgress = {💡12 toolUseCount: number13 tokenCount: number14 lastActivity?: ToolActivity15 recentActivities?: ToolActivity[] // 최근 5개16 summary?: string17}18 19export function createProgressTracker(): ProgressTracker {20 return {21 toolUseCount: 0,22 latestInputTokens: 0, // 누적 (최신 값 유지)💡23 cumulativeOutputTokens: 0, // 합산 (턴마다 더함)💡24 recentActivities: [],25 }26}27 28// 입력 토큰은 누적이므로 최신 값만, 출력은 합산29export function getTokenCountFromTracker(tracker: ProgressTracker): number {30 return tracker.latestInputTokens + tracker.cumulativeOutputTokens31}2
태스크 관리 도구
TaskCreate/Get/Update/List/Stop/Output 도구
태스크 CRUD상태 전환결과 출력|
tools/TaskCreateTool/TaskCreateTool.tstools/TaskUpdateTool/TaskUpdateTool.ts태스크 관리 도구(TaskCreate/Get/Update/List/Stop/Output)는 에이전트가 자신의 작업을 추적하는 인터페이스입니다.
태스크 관리 도구 (CRUD)
1// 태스크 생명주기2 3// 1. TaskCreateTool → 태스크 생성4TaskCreate({ description: "파일 리팩터링", priority: "high" })5 6// 2. TaskUpdateTool → 상태 전환7TaskUpdate({ id: "task-1", status: "in_progress" })8TaskUpdate({ id: "task-1", status: "completed" })9 10// 3. TaskListTool → 태스크 목록 조회11TaskList() // → [{ id, description, status, ... }]12 13// 4. TaskGetTool → 특정 태스크 상세14TaskGet({ id: "task-1" })15 16// 5. TaskStopTool → 실행 중인 태스크 중지17TaskStop({ id: "task-1" })18 19// 6. TaskOutputTool → 태스크 결과 직접 출력20TaskOutput({ id: "task-1" })21 22// 상태 전환 흐름:23// pending → in_progress → completed24// → failed25// → cancelled◈
멀티 에이전트 패턴 비교
클릭하여 탐색👤단독 에이전트
모든 도구를 직접 사용, 순차 실행
한계: 복잡한 작업에서 느림
병렬 처리 불가, 컨텍스트 소모 큼
VS
👥코디네이터-워커
코디네이터가 작업 분배, 워커가 병렬 실행
장점: 빠르고 확장 가능
격리된 도구 풀, 독립적 실행
?
이해도 확인 퀴즈
하위 에이전트에서 AgentTool을 제외하는 이유는?
✅ 학습 체크리스트
이해한 항목을 체크하고 학습 진도를 확인하세요
0/5 완료0%
📋 멀티 에이전트 파트 요약
이 챕터에서 배운 핵심 개념을 정리합니다
1
에이전트 생성
AgentTool이 동기/비동기/포크/원격/Worktree 5가지 모드로 하위 에이전트를 생성합니다.
2
격리와 재귀 방지
도구 풀 필터링으로 AgentTool을 제외하여 무한 재귀를 원천 차단합니다.
3
코디네이터-워커
코디네이터는 Agent/TaskStop/SendMessage만 사용하고, 워커는 제한된 도구로 독립 실행합니다.
4
스웜 통신
UDS/인프로세스 백엔드로 에이전트 간 메시지를 전달합니다.
