| name | autonomous-agent-harness |
| description | Claude Code를 영구 메모리, 예약 작업, 컴퓨터 사용 및 작업 큐를 갖춘 완전 자율 에이전트 시스템으로 변환합니다. Claude Code 고유의 크론(cron), 디스패치, MCP 도구 및 메모리를 활용하여 독립형 에이전트 프레임워크(Hermes, AutoGPT)를 대체합니다. 지속적인 자율 운영, 예약 작업 또는 자기 주도형 에이전트 루프가 필요할 때 사용합니다. |
| origin | ECC |
자율 에이전트 하니스 (Autonomous Agent Harness)
기본 기능과 MCP 서버만을 사용하여 Claude Code를 지속적이고 자기 주도적인 에이전트 시스템으로 변환합니다.
활성화 시점
- 지속적으로 또는 일정에 따라 실행되는 에이전트가 필요할 때
- 주기적으로 트리거되는 자동화된 워크플로를 설정할 때
- 세션 간에 컨텍스트를 기억하는 개인용 AI 비서를 구축할 때
- 사용자가 "매일 실행해줘", "정기적으로 확인해줘", "계속 모니터링해줘"라고 요청할 때
- Hermes, AutoGPT 또는 유사한 자율 에이전트 프레임워크의 기능을 복제하고 싶을 때
- 컴퓨터 사용과 예약 실행을 결합해야 할 때
아키텍처
┌──────────────────────────────────────────────────────────────┐
│ Claude Code 런타임 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ 크론 │ │ 디스패치 │ │ 메모리 │ │ 컴퓨터 │ │
│ │ 작업 예약│ │ 원격 │ │ 저장소 │ │ 사용 │ │
│ │ │ │ 에이전트 │ │ │ │ │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────┬──────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ECC 스킬 + 에이전트 레이어 │ │
│ │ │ │
│ │ skills/ agents/ commands/ hooks/ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP 서버 레이어 │ │
│ │ │ │
│ │ memory github exa supabase browser-use │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
핵심 구성 요소
1. 영구 메모리 (Persistent Memory)
구조화된 데이터를 위해 MCP 메모리 서버로 강화된 Claude Code의 내장 메모리 시스템을 사용합니다.
내장 메모리 (~/.claude/projects/*/memory/):
- 사용자 기본 설정, 피드백, 프로젝트 컨텍스트
- 프론트매터(frontmatter)가 포함된 마크다운 파일로 저장
- 세션 시작 시 자동으로 로드됨
MCP 메모리 서버 (구조화된 지식 그래프):
- 엔티티, 관계, 관찰 내용
- 쿼리 가능한 그래프 구조
- 세션 간 지속성
메모리 패턴:
# 단기: 현재 세션 컨텍스트
세션 내 작업 추적을 위해 TodoWrite 사용
# 중기: 프로젝트 메모리 파일
세션 간 회상을 위해 ~/.claude/projects/*/memory/ 에 기록
# 장기: MCP 지식 그래프
영구 구조화된 데이터를 위해 mcp__memory__create_entities 사용
관계 매핑을 위해 mcp__memory__create_relations 사용
알려진 엔티티에 대한 새로운 사실을 위해 mcp__memory__add_observations 사용
2. 예약 작업 (크론)
Claude Code의 예약 작업을 사용하여 반복되는 에이전트 작업을 생성합니다.
크론 설정:
# MCP 도구를 통한 설정
mcp__scheduled-tasks__create_scheduled_task({
name: "daily-pr-review",
schedule: "0 9 * * 1-5", # 평일 오전 9시
prompt: "affaan-m/everything-claude-code의 모든 열린 PR을 검토해. 각 PR에 대해 CI 상태를 확인하고, 변경 사항을 리뷰하고, 이슈를 표시해. 요약본을 메모리에 저장해.",
project_dir: "/path/to/repo"
})
# 프로그래밍 방식(claude -p)을 통한 설정
echo "열린 PR 리뷰 및 요약" | claude -p --project /path/to/repo
유용한 크론 패턴:
| 패턴 | 일정 | 사용 사례 |
|---|
| 일일 스탠드업 | 0 9 * * 1-5 | PR, 이슈, 배포 상태 검토 |
| 주간 리뷰 | 0 10 * * 1 | 코드 품질 지표, 테스트 커버리지 |
| 시간별 모니터링 | 0 * * * * | 운영 환경 헬스체크, 에러율 점검 |
| 야간 빌드 | 0 2 * * * | 전체 테스트 스위트 실행, 보안 스캔 |
| 회의 준비 | */30 * * * * | 예정된 회의를 위한 컨텍스트 준비 |
3. 디스패치 / 원격 에이전트
이벤트 기반 워크플로를 위해 Claude Code 에이전트를 원격으로 트리거합니다.
디스패치 패턴:
curl -X POST "https://api.anthropic.com/dispatch" \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-d '{"prompt": "main 브랜치 빌드 실패. 원인 진단 및 수정 요청.", "project": "/repo"}'
claude -p "보안 스캔 결과를 분석하고 발견된 사항에 대해 이슈를 생성해."
4. 컴퓨터 사용 (Computer Use)
물리적 세계와의 상호작용을 위해 Claude의 컴퓨터 사용 MCP를 활용합니다.
기능:
- 브라우저 자동화 (이동, 클릭, 양식 작성, 스크린샷)
- 데스크톱 제어 (앱 열기, 타이핑, 마우스 제어)
- CLI를 넘어서는 파일 시스템 작업
하니스 내 사용 사례:
- 웹 UI 자동 테스트
- 양식 작성 및 데이터 입력
- 스크린샷 기반 모니터링
- 다중 앱 워크플로
5. 작업 큐 (Task Queue)
세션 경계를 넘어서 유지되는 영구 작업 큐를 관리합니다.
구현:
# 메모리를 통한 작업 지속성
~/.claude/projects/*/memory/task-queue.md 에 작업 큐 기록
# 작업 형식
---
name: task-queue
type: project
description: 자율 운영을 위한 영구 작업 큐
---
## 활성 작업
- [ ] PR #123: CI가 통과하면 리뷰 및 승인
- [ ] 배포 모니터링: 2시간 동안 30분마다 /health 확인
- [ ] 리서치: AI 도구 분야에서 5개의 리드(lead) 찾기
## 완료됨
- [x] 일일 스탠드업: PR 3개, 이슈 2개 검토 완료
Hermes 대체하기
| Hermes 구성 요소 | ECC 대체 기능 | 방법 |
|---|
| 게이트웨이/라우터 | Claude Code 디스패치 + 크론 | 예약된 작업이 에이전트 세션을 트리거함 |
| 메모리 시스템 | Claude 메모 + MCP 메모리 서버 | 내장 지속성 + 지식 그래프 |
| 도구 레지스트리 | MCP 서버 | 동적으로 로드되는 도구 공급자 |
| 오케스트레이션 | ECC 스킬 + 에이전트 | 스킬 정의가 에이전트 동작을 지시함 |
| 컴퓨터 사용 | computer-use MCP | 네이티브 브라우저 및 데스크톱 제어 |
| 컨텍스트 관리자 | 세션 관리 + 메모리 | ECC 2.0 세션 수명 주기 |
| 작업 큐 | 메모리에 저장된 작업 목록 | TodoWrite + 메모리 파일 |
설정 가이드
1단계: MCP 서버 구성
~/.claude.json에 다음이 포함되어 있는지 확인하십시오.
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@anthropic/memory-mcp-server"]
},
"scheduled-tasks": {
"command": "npx",
"args": ["-y", "@anthropic/scheduled-tasks-mcp-server"]
},
"computer-use": {
"command": "npx",
"args": ["-y", "@anthropic/computer-use-mcp-server"]
}
}
}
2단계: 기본 크론 생성
claude -p "예약 작업 생성: 평일 오전 9시마다 내 GitHub 알림, 열린 PR, 캘린더를 검토해. 오전 브리핑 내용을 메모리에 기록해."
claude -p "예약 작업 생성: 매주 일요일 오후 8시마다 이번 주 세션에서 패턴을 추출하고 학습된 스킬을 업데이트해."
3단계: 메모리 그래프 초기화
claude -p "다음에 대한 메모리 엔티티 생성: 나(사용자 프로필), 내 프로젝트, 주요 연락처. 현재 우선순위에 대한 관찰 내용 추가."
4단계: 컴퓨터 사용 활성화 (선택 사항)
브라우저 및 데스크톱 제어를 위해 computer-use MCP에 필요한 권한을 부여합니다.
예시 워크플로
자율 PR 리뷰어
크론: 근무 시간 동안 30분마다
1. 모니터링 중인 저장소의 새 PR 확인
2. 각 새 PR에 대해:
- 로컬에 브랜치 가져오기
- 테스트 실행
- code-reviewer 에이전트로 변경 사항 리뷰
- GitHub MCP를 통해 리뷰 코멘트 게시
3. 리뷰 상태를 메모리에 업데이트
개인 리서치 에이전트
크론: 매일 오전 6시
1. 메모리에 저장된 검색 쿼리 확인
2. 각 쿼리에 대해 Exa 검색 실행
3. 새로운 발견 사항 요약
4. 어제의 결과와 비교
5. 요약본을 메모리에 기록
6. 오전 리뷰를 위해 우선순위가 높은 항목 표시
회의 준비 에이전트
트리거: 각 캘린더 이벤트 30분 전
1. 캘린더 이벤트 상세 정보 읽기
2. 참석자에 대한 컨텍스트를 메모리에서 검색
3. 참석자와의 최근 이메일/Slack 스레드 가져오기
4. 토론 포인트 및 의제 제안 준비
5. 준비 문서를 메모리에 기록
제약 사항
- 크론 작업은 격리된 세션에서 실행됩니다. 메모리를 통하지 않고는 대화형 세션과 컨텍스트를 공유하지 않습니다.
- 컴퓨터 사용은 명시적인 권한 부여가 필요합니다. 권한이 있다고 가정하지 마십시오.
- 원격 디스패치에는 속도 제한이 있을 수 있습니다. 적절한 간격으로 크론을 설계하십시오.
- 메모리 파일은 간결하게 유지해야 합니다. 파일이 무한정 커지게 두지 말고 오래된 데이터는 아카이브하십시오.
- 예약 작업이 성공적으로 완료되었는지 항상 확인하십시오. 크론 프롬프트에 에러 처리 로직을 추가하십시오.