Tick 다중 에이전트 조정은(는) 무엇을 하나요?
구조화된 Markdown 파일을 사용하여 인간과 AI 에이전트 간의 작업을 조정합니다. 사용자는 자연스럽게 상호작용하고, 당신은 TICK.md에서 작업을 투명하게 관리합니다.
설치
전제 조건: Tick CLI와 MCP 서버가 환경에 이미 설치 및 구성되어 있어야 합니다.
처음 설정? 편집기별 설치 지침은 INSTALL.md를 참조하세요.
안전 경계
- 편집기 MCP 설정 파일을 편집하기 전에 명시적인 사용자 승인을 요청하세요.
- 원격 Git에 푸시하는 명령어(
tick sync --push또는git push)를 실행하기 전에 명시적인 사용자 승인을 요청하세요. - 사용자 승인이 명시적이지 않은 경우, 읽기 전용/상태 명령어를 사용하고 보류 중인 쓰기 작업을 설명하세요.
빠른 확인:
# CLI 사용 가능 여부 확인
tick --version
# 프로젝트에 TICK.md가 있는지 확인
ls TICK.md
# 없으면 초기화
tick init
핵심 개념
Tick 프로토콜 = TICK.md 파일을 통한 Git 기반 작업 조정
- 사람이 읽을 수 있음: YAML을 포함한 표준 Markdown
- 기계가 파싱 가능: 도구를 위한 구조화
- Git 기반: 전체 버전 관리 및 감사 추적
- 로컬 우선: 클라우드 불필요
빠른 시작
Tick 초기화 확인
ls TICK.md
초기화되지 않은 경우
tick init
현재 상태 확인
tick status
일반 워크플로우
1. 사용자가 작업을 요청함
사용자: "인증 시스템을 리팩토링해 줄 수 있나요?"
당신의 작업:
# 1. 작업 생성
tick add "인증 시스템 리팩토링" --priority high --tags backend,security
# 2. 자신 등록 (처음 한 번만)
tick agent register @당신의-이름 --type bot --roles "engineer,refactoring"
# 3. 작업 할당 받기
tick claim TASK-XXX @당신의-이름
# 4. 작업 수행 (실제 작업 수행)
# 5. 진행 상황 주석 추가
tick comment TASK-XXX @당신의-이름 --note "현재 인증 흐름 분석 중"
tick comment TASK-XXX @당신의-이름 --note "JWT 토큰을 사용하도록 리팩토링 완료"
# 6. 완료 표시
tick done TASK-XXX @당신의-이름
2. 사용자가 프로젝트 상태를 물어봄
사용자: "우리가 작업 중인 작업은 무엇인가요?"
# 종합 상태 확인
tick status
# 또는 필터링하여 작업 목록 확인
tick list --status in_progress
tick list --claimed-by @bot-name
출력 결과를 사용자에게 자연스럽게 요약하세요.
3. 다른 에이전트와의 조정
사용자: "다른 에이전트들이 작업을 완료했나요?"
# 전체 상태 확인
tick status
# 에이전트 및 작업 목록 확인
tick agent list --verbose
# 프로젝트 검증
tick validate
4. 복잡한 작업 분할
사용자: "차트와 데이터 내보내기가 있는 사용자 대시보드를 구축해 주세요"
당신의 작업:
# 상위 작업 생성
tick add "사용자 대시보드 구축" --priority high --tags frontend
# 의존성이 있는 하위 작업 생성
tick add "대시보드 레이아웃 설계" --priority high --tags frontend,design
tick add "데이터 차트 구현" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "CSV 내보내기 추가" --priority low --tags frontend,export --depends-on TASK-XXX
# 의존성 시각화
tick graph
명령어 참조
프로젝트 관리
tick init # 새 프로젝트 초기화
tick status # 프로젝트 개요 확인
tick list # 필터로 작업 목록 확인
tick graph # 의존성 시각화
tick watch # 실시간 변경 사항 모니터링
tick validate # 오류 확인
tick sync --pull # 최신 변경 사항 가져오기
# tick sync --push # 명시적 사용자 승인 필요
작업 연산
tick add "작업 제목" \
--priority high \ # urgent|high|medium|low
--tags backend,api \ # 쉼표로 구분된 태그
--assigned-to @agent \ # 에이전트에게 할당
--depends-on TASK-001 \ # 의존성
--estimated-hours 4 # 시간 추정
tick claim TASK-001 @agent # 작업 할당 받기 (in_progress로 설정)
tick release TASK-001 @agent # 작업 할당 해제 (todo로 되돌리기)
tick done TASK-001 @agent # 작업 완료
tick reopen TASK-001 @agent # 완료된 작업 다시 열기
tick delete TASK-001 # 작업 삭제
tick comment TASK-001 @agent \ # 메모 추가
--note "진행 상황 업데이트"
tick edit TASK-001 \ # 직접 필드 편집
--title "새 제목" \
--priority high \
--status in_progress
수정 및 복구
tick reopen TASK-001 @agent # 완료된 작업 다시 열기
tick reopen TASK-001 @agent \ # 다시 열고 종속 작업 차단
--re-block
tick delete TASK-001 # 작업 삭제, 의존성 정리
tick delete TASK-001 --force # 종속 작업이 있어도 강제 삭제
tick edit TASK-001 --title "X" # 제목 변경
tick edit TASK-001 --priority high # 우선순위 변경
tick edit TASK-001 --status todo # 상태 직접 변경
tick edit TASK-001 --tags a,b,c # 태그 교체
tick edit TASK-001 --add-tag new # 태그 추가
tick edit TASK-001 --remove-tag old # 태그 제거
tick edit TASK-001 \ # 의존성 편집
--depends-on TASK-002,TASK-003
tick undo # 마지막 tick 작업 실행 취소
tick undo --dry-run # 실행 취소될 내용 미리보기
대량 작업
tick import tasks.yaml # YAML 파일에서 작업 가져오기
tick import - < tasks.yaml # 표준 입력에서 가져오기
tick import tasks.yaml --dry-run # 가져오기 미리보기
tick batch start # 배치 모드 시작 (자동 커밋 없음)
tick batch status # 배치 상태 확인
tick batch commit # 모든 배치 변경 사항 커밋
tick batch abort # 배치 변경 사항 폐기
고급 작업 목록
tick list # 모든 작업, 상태별 그룹화
tick list --status blocked # 차단된 작업만
tick list --priority urgent # 높은 우선순위 작업
tick list --assigned-to @alice # 특정 에이전트의 작업
tick list --tag backend # 특정 태그가 있는 작업
tick list --json # 스크립트용 JSON 출력
의존성 시각화
tick graph # ASCII 의존성 트리
tick graph --format mermaid # Mermaid 순서도
tick graph --show-done # 완료된 작업 포함
실시간 모니터링
tick watch # 변경 사항 모니터링
tick watch --interval 10 # 사용자 정의 폴링 간격
tick watch --filter in_progress # 특정 상태만 표시
에이전트 관리
tick agent register @name \ # 새 에이전트 등록
--type bot \ # human|bot
--roles "dev,qa" \ # 쉼표로 구분된 역할
--status idle # working|idle|offline
tick agent list # 모든 에이전트 목록
tick agent list --verbose # 상세 정보
tick agent list --type bot # 유형별 필터링
tick agent list --status working # 상태별 필터링
MCP 도구 (CLI 대안)
Model Context Protocol을 사용하는 경우 CLI 명령어 대신 다음 도구를 사용하세요:
상태 및 검사
tick_status- 프로젝트 상태 확인 (에이전트, 작업, 진행률)tick_validate- TICK.md 구조 검증tick_agent_list- 선택적 필터로 에이전트 목록 표시
작업 관리
tick_add- 새 작업 생성tick_claim- 에이전트에게 작업 할당tick_release- 할당된 작업 해제tick_done- 작업 완료 (종속 작업 자동 차단 해제)tick_comment- 작업에 메모 추가
수정 및 복구
tick_reopen- 완료된 작업 다시 열기tick_delete- 작업 삭제tick_edit- 직접 필드 편집 (상태 머신 우회)tick_undo- 마지막 tick 작업 실행 취소
에이전트 작업
tick_agent_register- 새 에이전트 등록
MCP 예제:
// MCP를 통해 작업 생성
await tick_add({
title: "인증 시스템 리팩토링",
priority: "high",
tags: ["backend", "security"],
assignedTo: "@bot-name"
})
// 할당 받기
await tick_claim({
taskId: "TASK-023",
agent: "@bot-name"
})
모범 사례
1. 자연스러운 대화 우선
✅ 좋음: 사용자가 "auth 리팩토링"이라고 말하면, 당신이 자동으로 작업 생성 ❌ 나쁨: 사용자가 명시적으로 작업을 생성하도록 강요
2. 항상 당신의 에이전트 이름 사용
한 번 등록:
tick agent register @당신의-봇-이름 --type bot --roles "engineer"
그 다음 일관되게 사용:
tick claim TASK-001 @당신의-봇-이름
tick done TASK-001 @당신의-봇-이름
3. 주석에 맥락 제공
# ✅ 좋음 - 무엇을, 왜 했는지 설명
tick comment TASK-005 @bot --note "더 나은 타입 안전성과 과다 페칭 감소를 위해 REST에서 GraphQL로 전환"
# ❌ 나쁨 - 너무 모호함
tick comment TASK-005 @bot --note "API 업데이트"
4. 큰 작업 분할
의존성이 있는 하위 작업 생성:
tick add "CI/CD 파이프라인 설정" --priority high
tick add "GitHub Actions 구성" --depends-on TASK-010
tick add "배포 스크립트 추가" --depends-on TASK-011
tick add "스테이징 환경 설정" --depends-on TASK-011
5. 할당 전 상태 확인
# 작업이 존재하고 할당되지 않았는지 확인
tick status
# 그 다음 할당
tick claim TASK-XXX @당신의-이름
TICK.md 구조 이해
파일은 세 섹션으로 구성됩니다:
- 머리말 (YAML): 프로젝트 메타데이터
- 에이전트 표 (Markdown): 누가 무엇을 작업 중인지
- 작업 블록 (YAML + Markdown): 기록이 포함된 개별 작업
예제:
---
project: my-app
schema_version: "1.0"
next_id: 5
---
# 에이전트
| 이름 | 유형 | 역할 | 상태 | 작업 중 |
|------|------|------|------|--------|
| @alice | human | owner | working | TASK-003 |
| @bot | bot | engineer | idle | - |
# 작업
\```yaml
id: TASK-001
title: 인증 시스템 구축
status: done
priority: high
claimed_by: null
# ... 추가 필드
history:
- ts: 2026-02-07T10:00:00Z
who: @bot
action: created
- ts: 2026-02-07T14:00:00Z
who: @bot
action: done
\```
JWT 기반 인증 구현 및 토큰 갱신 완료...
고급 기능
자동 의존성 차단 해제
작업을 완료하면 종속 작업이 자동으로 차단 해제됩니다:
# TASK-002는 TASK-001에 의존
# TASK-002 상태: blocked
tick done TASK-001 @bot
# TASK-002가 자동으로 todo로 변경됨
순환 의존성 감지
검증이 순환 의존성을 감지합니다:
tick validate
# 오류: 순환 의존성 감지됨: TASK-001 → TASK-002 → TASK-003 → TASK-001
스마트 커밋 메시지
# 명시적 사용자 승인 하에만 실행
tick sync --push
# 자동 생성: "feat: TASK-001, TASK-002 완료; TASK-003 업데이트"
완료된 작업 다시 열기
작업이 조기에 완료로 표시된 경우:
tick reopen TASK-001 @bot
# 상태를 in_progress로 되돌리고 기록에 남김
tick reopen TASK-001 @bot --re-block
# 이 작업에 의존하는 모든 작업도 다시 차단
실수 수정
# 마지막 tick 작업 실행 취소
tick undo
# 먼저 취소될 내용 미리보기
tick undo --dry-run
# 직접 필드 편집 (상태 머신 우회)
tick edit TASK-001 --status todo --priority urgent
배치 작업
개별 커밋 없이 여러 변경 사항을 처리:
tick batch start
# 이제 여러 변경 사항 적용...
tick add "작업 1" --priority high
tick add "작업 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit # 모든 변경 사항을 단일 커밋으로
# 또는: tick batch abort # 모든 변경 사항 폐기
실시간 모니터링
tick watch
# [10:23:45] ✓ 추가됨: TASK-015 - 사용자 검색 구현
# [10:24:12] 🔒 TASK-015가 @bot에 의해 할당됨
# [10:26:33] ⟳ TASK-015: in_progress → done
빠른 참조 카드
워크플로우: init → add → claim → work → comment → done → sync
필수: status | add | claim | done | list | graph
수정: reopen | delete | edit | undo
대량: import | batch start/commit/abort
조정: agent register | agent list | validate | watch
Git: sync --pull | sync --push (명시적 사용자 승인 필요)
주요 알림
- 사용자는 당신과 상호작용하며 Tick과 직접 상호작용하지 않습니다
- 당신이 TICK.md를 투명하게 유지 관리합니다
- 대시보드는 검사용이며 주요 상호작용 수단이 아닙니다
- 항상 당신의 에이전트 이름을 일관되게 사용하세요
- 진행 상황을 보여주기 위해 자주 주석을 추가하세요
- 동기화 전에 검증하세요
- 할당 전에 상태를 확인하세요
- 복잡한 작업을 하위 작업으로 분할하세요
리소스
- GitHub: https://github.com/your-org/tick-md
- 문서: https://tick-md.dev/docs
- CLI npm: https://npmjs.com/package/tick-md
- MCP 서버 npm: https://npmjs.com/package/tick-mcp-server
라이선스
MIT