Claude Code와 함께 컨텍스트 격리 및 집중된 작업 실행을 관리하는 전문 도구로, 복잡한 다단계 프로젝트에서 Claude 작업 시 컨텍스트 길이 제한과 작업 집중도의 중요한 문제를 해결합니다.
Claude Task Manager란 무엇인가요?
Claude Task Manager는 복잡한 프로젝트에서 Claude와 같은 대형 언어 모델로 작업할 때 직면하는 근본적인 문제인 컨텍스트 길이 제한과 작업 집중도 유지 문제를 해결합니다.
문제점
Claude Code(또는 다른 LLM)로 복잡한 프로젝트를 작업할 때 일반적으로 다음과 같은 문제에 직면합니다:
- 컨텍스트 길이 제한: Claude는 제한된 컨텍스트 윈도우를 가지고 있습니다. 길고 복잡한 프로젝트는 이 제한을 초과할 수 있습니다.
- 작업 전환 혼란: 단일 대화에서 여러 작업을 처리할 때 Claude가 현재 작업 중인 작업에 대해 혼란을 겪을 수 있습니다.
- 프로젝트 조직화: 대규모 프로젝트는 진행 상황을 추적하기 위한 구조와 조직이 필요합니다.
- 효과적인 프롬프팅: 각 작업은 최적의 결과를 얻기 위해 구체적이고 집중된 지침이 필요합니다.
해결책
Claude Task Manager는 "부메랑" 접근 방식을 구현합니다:
- 작업 분해: 대규모 프로젝트 사양을 분석하고 지능적으로 더 작고 독립적인 작업으로 분해합니다.
- 컨텍스트 격리: 각 작업은 깨끗한 컨텍스트 윈도우에서 실행되어 Claude가 해당 작업에만 집중하도록 합니다.
- 프로젝트 조직화: 작업을 적절한 순서와 메타데이터로 프로젝트에 조직화합니다.
- 실행 관리: 작업을 개별적으로 또는 순차적으로 실행할 수 있으며, 결과가 캡처되고 조직화됩니다.
Claude Task Manager를 사용하는 이유
- 컨텍스트 제한 극복: 대규모 프로젝트를 Claude의 컨텍스트 윈도우에 맞는 관리 가능한 청크로 분해
- 집중도 유지: Claude가 이전 컨텍스트에 방해받지 않고 현재 작업에 집중하도록 보장
- 품질 향상: 각 작업에 대해 명확하고 집중된 지침을 제공하여 더 나은 결과 획득
- 복잡한 프로젝트 조직화: 적절한 구조와 순서로 다단계 프로젝트 관리
- 진행 상황 추적: 작업 완료 및 프로젝트 상태 모니터링
- MCP 통합: Model Context Protocol을 통한 에이전트 워크플로우와의 원활한 통합
사전 요구사항
이 패키지를 사용하려면 시스템에 다음이 설치되어 있어야 합니다:
- Claude Desktop - Claude Desktop 애플리케이션이 설치되어 있어야 함
- Claude Code -
claude
명령줄 도구가 PATH에서 접근 가능해야 함 - Desktop Commander - 파일 시스템 액세스를 위해 필요 (아래 설치 지침 참조)
Desktop Commander 설치
Desktop Commander는 Claude가 파일 시스템에 액세스하고 명령을 실행할 수 있게 하는 중요한 종속성입니다. 설치하려면:
# npx 사용 (권장)
npx @wonderwhy-er/desktop-commander@latest setup
# 또는 Smithery 사용
npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude
자세한 내용은 Desktop Commander 웹사이트를 방문하세요.
설치 후 Claude Desktop을 다시 시작하고 채팅 인터페이스에서 해머 아이콘이 표시되는지 확인하여 Desktop Commander가 제대로 연결되었는지 확인하세요.
핵심 기능
- 작업 분해: 복잡한 프로젝트를 집중된 독립적인 작업으로 지능적으로 파싱
- 컨텍스트 격리:
/clear
명령을 사용하여 깨끗한 컨텍스트 윈도우로 각 작업 실행 - 프로젝트 관리: 적절한 메타데이터와 순서로 작업을 프로젝트에 조직화
- 실행 제어: 작업을 개별적으로 또는 순차적으로 실행하며 적절한 결과 관리
- 상태 추적: 프로젝트 진행 상황과 작업 완료 상태 모니터링
- 모던 CLI: 풍부한 포맷팅을 가진 직관적인 명령줄 인터페이스
- MCP 통합: FastMCP를 통한 에이전트 워크플로우와의 원활한 통합
설치
# claude_mcp_configs 루트 디렉토리에서:
python setup_libs.py task-manager
# 또는 디렉토리에서 직접 설치
cd libs/claude_task_manager
pip install -e .
패키지는 pyproject.toml과 함께 최신 Python 패키징을 사용하여 최신 pip 및 빌드 도구와 호환됩니다.
종속성
FastMCP 통합을 위해서는 fastmcp
패키지를 설치해야 합니다:
pip install fastmcp
사용법
기본 워크플로우
Claude Task Manager를 사용한 일반적인 워크플로우는 다음과 같습니다:
- 프로젝트 생성: 새 프로젝트 구조 설정
- 작업 분해: 대규모 작업 사양을 더 작고 독립적인 작업으로 변환
- 작업 실행: 작업을 개별적으로 또는 완전한 프로젝트로 실행
- 진행 상황 모니터링: 작업 완료 및 프로젝트 상태 추적
명령줄 인터페이스
# 새 프로젝트 생성
claude-tasks create-project my_project /path/to/task_list.md
# 작업을 개별 작업으로 분해
claude-tasks break-task my_project /path/to/task_list.md
# 단일 작업 실행
claude-tasks run-task my_project 001_first_task.md
# 프로젝트의 모든 작업 실행
claude-tasks run-project my_project
# 사용 가능한 프로젝트 나열
claude-tasks list-projects
# 프로젝트의 작업 나열
claude-tasks list-tasks my_project
# 프로젝트 상태 확인
claude-tasks check-status my_project
# 기계 판독 가능한 스키마 가져오기 (MCP 호환)
claude-tasks schema
# MCP 호환 스키마 형식 가져오기
claude-tasks schema --mcp
MCP 호환 기능
CLI는 여러 MCP 호환 기능을 제공합니다:
기계 판독 가능한 JSON 출력:
# 구조화된 JSON 출력을 위해 모든 명령에 --json 추가 claude-tasks list-tasks my_project --json
스키마 명령:
# 모든 명령과 매개변수의 완전한 JSON 스키마 가져오기 claude-tasks schema # MCP 형식으로 출력 claude-tasks schema --mcp
일관된 결과 구조: 모든 JSON 출력은 다음과 같은 일관된 구조를 따릅니다:
success
플래그 (boolean)- 명령별 결과 데이터
- 해당하는 경우 오류 정보
풍부한 사람이 읽을 수 있는 출력:
--json
없이 사용할 때 명령은 잘 포맷된 테이블과 패널을 제공합니다
Python API
from claude_task_manager import TaskManager
# 작업 관리자 초기화
manager = TaskManager('/path/to/base/directory')
# 새 프로젝트 생성
project_dir = manager.create_project('my_project', '/path/to/task_list.md')
# 작업을 개별 작업으로 분해
project_dir, created_files = manager.break_down_task('my_project', '/path/to/task_list.md')
# 단일 작업 실행
result_file = manager.run_task('my_project', '001_first_task.md')
# 프로젝트의 모든 작업 실행
results = manager.run_project('my_project')
# 사용 가능한 프로젝트 나열
projects = manager.list_projects()
# 프로젝트의 작업 나열
tasks = manager.list_tasks('my_project')
# 프로젝트 상태 확인
status = manager.check_project_status('my_project')
MCP 서버
Task Manager를 MCP 서버로 실행하려면:
# 기본 설정으로 서버 시작
python run_task_manager_server.py start
# 사용자 정의 설정으로 시작
python run_task_manager_server.py start --host 0.0.0.0 --port 5000 --base-dir /path/to/tasks --debug
# 진단 실행
python run_task_manager_server.py diagnostic
# 스키마 출력
python run_task_manager_server.py schema
서버는 다음 MCP 함수를 노출합니다:
create_project
- 새 프로젝트 생성break_task
- 작업을 개별 작업 파일로 분해run_task
- 컨텍스트 격리로 단일 작업 실행run_project
- 프로젝트의 모든 작업 실행list_projects
- 모든 프로젝트 나열list_tasks
- 프로젝트의 모든 작업 나열check_status
- 프로젝트 상태 확인
작동 방식
작업 분해 프로세스
대규모 작업 설명을 제공하면 Claude Task Manager는:
- 콘텐츠 분석: Claude 자체를 사용하여 작업 구조 이해
- 논리적 분할 식별: 작업의 자연스러운 분할점 결정
- 독립적인 작업 생성: 필요한 모든 컨텍스트가 포함된 작업 파일 생성
- 종속성 설정: 올바른 실행 순서 결정
- 메타데이터 생성: 프로젝트 정보 및 실행 계획 생성
시각적 워크플로우
다음 다이어그램은 작업 분해부터 실행까지의 완전한 워크플로우를 보여줍니다:
flowchart TD
%% 단계 레이블
PhaseA[작업 분해 단계]:::phaseLabel
PhaseB[실행 단계]:::phaseLabel
PhaseC[컨텍스트 격리 메커니즘]:::phaseLabel
%% 작업 분해 단계 노드
A[📋 원본 작업 목록] --> B[🧠 Claude 분석]
B --> C{✂️ 작업으로 분할}
C --> D[📑 작업 000: 프로젝트 개요]
C --> E[📑 작업 001: 첫 번째 하위작업]
C --> F[📑 작업 002: 두 번째 하위작업]
C --> G[📑 작업 003: 세 번째 하위작업]
D & E & F & G --> H[📋 작업 순서 생성]
%% 단계 연결
H --> I
%% 실행 단계 노드
I[🚀 작업 000 실행] --> J[🚀 작업 001 실행]
J --> K[🚀 작업 002 실행]
K --> L[🚀 작업 003 실행]
%% 작업 000의 컨텍스트 격리
I --> I1[🧹 /clear 컨텍스트]
I1 --> I2[📥 작업 000 로드]
I2 --> I3[⚙️ Claude Code로 실행]
I3 --> I4[💾 결과 저장]
%% 작업 001의 컨텍스트 격리
J --> J1[🧹 /clear 컨텍스트]
J1 --> J2[📥 작업 001 로드]
J2 --> J3[⚙️ Claude Code로 실행]
J3 --> J4[💾 결과 저장]
%% 작업 002의 컨텍스트 격리
K --> K1[🧹 /clear 컨텍스트]
K1 --> K2[📥 작업 002 로드]
K2 --> K3[⚙️ Claude Code로 실행]
K3 --> K4[💾 결과 저장]
%% 작업 003의 컨텍스트 격리
L --> L1[🧹 /clear 컨텍스트]
L1 --> L2[📥 작업 003 로드]
L2 --> L3[⚙️ Claude Code로 실행]
L3 --> L4[💾 결과 저장]
%% 결과 수집
I4 & J4 & K4 & L4 --> M[📊 모든 결과 수집]
M --> N[✅ 프로젝트 완료]
컨텍스트 격리 메커니즘
각 작업이 실행될 때:
- 컨텍스트 지우기:
/clear
명령으로 이전 컨텍스트 제거 - 작업 로드: 특정 작업 파일과 컨텍스트 로드
- 실행: Claude Code로 작업 실행
- 결과 저장: 출력을 결과 파일에 캡처
- 다음 작업으로: 다음 작업을 위해 프로세스 반복
이 접근 방식은 각 작업이 깨끗한 컨텍스트에서 시작하여 이전 작업의 혼란이나 간섭 없이 최적의 결과를 보장합니다.
프로젝트 구조
Claude Task Manager는 다음과 같은 구조로 프로젝트를 조직화합니다:
projects/
└── my_project/
├── tasks/
│ ├── 000_project_overview.md
│ ├── 001_first_task.md
│ ├── 002_second_task.md
│ └── 003_third_task.md
├── results/
│ ├── 000_project_overview_result.md
│ ├── 001_first_task_result.md
│ ├── 002_second_task_result.md
│ └── 003_third_task_result.md
├── project_info.json
└── task_sequence.md
파일 설명
- tasks/: 개별 작업 파일이 포함된 디렉토리
- results/: 각 작업의 실행 결과가 저장되는 디렉토리
- project_info.json: 프로젝트 메타데이터 및 구성
- task_sequence.md: 작업 실행 순서 및 종속성
고급 기능
조건부 실행
작업에는 실행을 위한 조건을 포함할 수 있습니다:
# 작업 002: 데이터베이스 마이그레이션
**조건**: 작업 001이 성공적으로 완료된 경우에만 실행
**설명**:
데이터베이스 스키마를 새 버전으로 마이그레이션합니다.
병렬 실행
일부 작업은 병렬로 실행될 수 있습니다:
# 작업 003: 프론트엔드 테스트
# 작업 004: 백엔드 테스트
**병렬 실행 가능**: 이 작업들은 동시에 실행할 수 있습니다.
에러 처리
작업 실행 중 오류가 발생하면:
- 오류 캡처: 오류 메시지와 컨텍스트가 결과 파일에 저장됩니다
- 재시도 옵션: 실패한 작업을 다시 실행할 수 있습니다
- 의존성 관리: 실패한 작업에 의존하는 작업은 건너뜁니다
모범 사례
효과적인 작업 분해
- 명확한 목표: 각 작업은 명확하고 측정 가능한 목표를 가져야 합니다
- 독립성: 작업은 가능한 한 독립적이어야 합니다
- 적절한 크기: 작업은 너무 크지도 작지도 않아야 합니다 (일반적으로 1-2시간 작업)
- 명확한 입력/출력: 각 작업의 입력과 예상 출력을 명확히 정의합니다
프로젝트 조직화
- 논리적 순서: 작업을 논리적 순서로 배열합니다
- 종속성 최소화: 작업 간 종속성을 최소화합니다
- 체크포인트: 중요한 단계에서 체크포인트를 설정합니다
- 문서화: 각 작업과 프로젝트를 잘 문서화합니다
문제 해결
일반적인 문제
Claude Code 연결 실패
- Claude Desktop이 실행 중인지 확인
- Desktop Commander가 올바르게 설치되었는지 확인
- 해머 아이콘이 표시되는지 확인
작업 실행 실패
- 작업 파일의 구문을 확인
- 필요한 파일과 디렉토리가 존재하는지 확인
- 권한 문제가 없는지 확인
컨텍스트 격리 문제
/clear
명령이 올바르게 작동하는지 확인- Claude Code 버전이 최신인지 확인
디버깅
디버그 모드를 활성화하려면:
# CLI에서 디버그 모드
claude-tasks --debug run-task my_project 001_task.md
# MCP 서버에서 디버그 모드
python run_task_manager_server.py start --debug
API 참조
TaskManager 클래스
class TaskManager:
def __init__(self, base_dir: str)
def create_project(self, project_name: str, source_file: str) -> str
def break_down_task(self, project_name: str, source_file: str) -> Tuple[str, List[str]]
def run_task(self, project_name: str, task_filename: str) -> str
def run_project(self, project_name: str) -> List[str]
def list_projects(self) -> List[str]
def list_tasks(self, project_name: str) -> List[str]
def check_project_status(self, project_name: str) -> Dict[str, Any]
타입 정의
패키지는 TypeScript 스타일의 타입 힌트를 사용합니다:
class ProjectCreationResult(TypedDict):
"""프로젝트 생성 작업의 결과."""
success: bool
project_name: str
project_dir: str
source_file: str
class TaskBreakdownResult(TypedDict):
"""작업 분해 작업의 결과."""
success: bool
project_name: str
project_dir: str
source_file: str
created_files: List[str]
file_count: int
next_step_command: str
class TaskRunResult(TypedDict):
"""작업 실행 작업의 결과."""
success: bool
project_name: str
task_filename: str
result_file: str
결론
Claude Task Manager는 복잡한 프로젝트에서 Claude Code의 효율성을 극대화하는 강력한 도구입니다. 컨텍스트 격리와 지능적인 작업 분해를 통해 대규모 프로젝트를 관리 가능한 단위로 나누고, 각 작업에서 최적의 결과를 얻을 수 있습니다.
이 도구는 특히 다음과 같은 경우에 유용합니다:
- 복잡한 소프트웨어 개발 프로젝트
- 대규모 문서 작성 및 편집
- 다단계 데이터 분석 작업
- 시스템 마이그레이션 및 업그레이드
- 교육 콘텐츠 개발
Claude Task Manager를 사용하여 프로젝트의 복잡성을 관리하고, Claude의 능력을 최대한 활용하여 더 나은 결과를 얻으세요.
관련 태그: claude-code, task-management, ai-workflow, mcp, project-management, context-isolation
GitHub Gist: https://gist.github.com/grahama1970/44a9da6a3da6769132037f06966945c2