자율 에이전트 하네스은(는) 무엇을 하나요?
Claude Code의 세션 도구와 별도로 구성된 스케줄링, 메모리, 컴퓨터 사용 통합을 결합합니다. 이는 번들로 제공되는 항상 켜져 있는 런타임이 아닌 설정 패턴입니다.
동의 및 안전 경계
자율 운영은 사용자가 명시적으로 요청하고 범위를 지정해야 합니다. 사용자가 해당 기능과 현재 설정의 대상 작업 공간을 승인하지 않은 경우, 일정을 만들거나, 원격 에이전트를 파견하거나, 지속적 메모리를 작성하거나, 컴퓨터 제어를 사용하거나, 외부에 게시하거나, 타사 리소스를 수정하거나, 개인 통신에 대해 행동하지 마십시오.
반복 또는 이벤트 기반 작업을 활성화하기 전에 드라이런 계획과 로컬 큐 파일을 선호하십시오. 자격 증명, 개인 작업 공간 내보내기, 개인 데이터 세트 및 계정별 자동화는 재사용 가능한 ECC 아티팩트에 보관하지 마십시오.
활성화 시기
- 사용자가 지속적으로 또는 예약된 대로 실행되는 에이전트를 원할 때
- 정기적으로 트리거되는 자동화 워크플로우를 설정할 때
- 세션 간 컨텍스트를 기억하는 개인 AI 어시스턴트를 구축할 때
- 사용자가 "매일 실행", "정기적으로 확인", "계속 모니터링"이라고 말할 때
- Hermes, AutoGPT 또는 유사한 자율 에이전트 프레임워크의 기능을 복제하려고 할 때
- 예약된 실행과 결합된 컴퓨터 사용이 필요할 때
아키텍처
┌──────────────────────────────────────────────────────────────┐
│ Claude Code 런타임 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ Crons │ │ 디스패치 │ │ 메모리 │ │ 컴퓨터 │ │
│ │ 스케줄 │ │ 원격 │ │ 저장소 │ │ 사용 │ │
│ │ 작업 │ │ 에이전트 │ │ │ │ │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────┬──────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ECC 스킬 + 에이전트 레이어 │ │
│ │ │ │
│ │ skills/ agents/ commands/ hooks/ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP 서버 레이어 │ │
│ │ │ │
│ │ memory github exa supabase browser-use │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
핵심 구성 요소
1. 지속적 메모리
구조화된 데이터를 위해 MCP 메모리 서버로 강화된 Claude Code의 내장 메모리 시스템을 사용합니다.
내장 메모리 (~/.claude/projects/*/memory/):
- 사용자 기본 설정, 피드백, 프로젝트 컨텍스트
- 프론트매터가 포함된 마크다운 파일로 저장
- 세션 시작 시 자동 로드
MCP 메모리 서버 (구조화된 지식 그래프):
- 엔티티, 관계, 관찰
- 쿼리 가능한 그래프 구조
- 세션 간 지속성
메모리 패턴:
# 단기: 현재 세션 컨텍스트
세션 내 작업 추적을 위해 TodoWrite 사용
# 중기: 프로젝트 메모리 파일
세션 간 회상을 위해 ~/.claude/projects/*/memory/에 작성
# 장기: MCP 지식 그래프
영구 구조화 데이터를 위해 mcp__memory__create_entities 사용
관계 매핑을 위해 mcp__memory__create_relations 사용
알려진 엔티티에 대한 새로운 사실을 위해 mcp__memory__add_observations 사용
2. 예약 작업 (Crons)
대화형 세션 내에서 반복 프롬프트를 위해 Claude Code의 네이티브 예약 작업을 사용합니다. 이러한 작업은 세션 범위로 지정됩니다. 열려 있는 세션과 독립적으로 실행되어야 하는 작업에는 외부 스케줄러가 필요합니다. /loop에는 스케줄링 MCP 서버가 필요하지 않습니다.
크론 설정:
# 대화형 Claude Code 세션에서
/loop 30m 이 저장소의 열린 PR을 검토하고 CI 실패를 요약하세요.
셸에서 일회성 실행을 위해 CLI를 호출하기 전에 작업 디렉토리를 설정하십시오:
cd "/path/to/repo" && claude -p "열린 PR을 검토하고 요약하세요."
대화형 세션이 실행되지 않을 때 해당 명령을 반복적으로 호출하려면 OS 스케줄러 또는 CI 스케줄을 사용하십시오. 실행기의 인증 및 도구 권한을 별도로 구성하십시오.
유용한 크론 패턴:
| 패턴 | 일정 | 사용 사례 |
|---|---|---|
| 일일 스탠드업 | 0 9 * * 1-5 | PR, 이슈, 배포 상태 검토 |
| 주간 검토 | 0 10 * * 1 | 코드 품질 메트릭, 테스트 커버리지 |
| 시간별 모니터 | 0 * * * * | 프로덕션 상태, 오류율 확인 |
| 야간 빌드 | 0 2 * * * | 전체 테스트 스위트 실행, 보안 스캔 |
| 회의 전 | */30 * * * * | 예정된 회의를 위한 컨텍스트 준비 |
3. 디스패치 / 원격 에이전트
인증된 CI 작업 또는 웹훅 수신기가 소유한 작업 공간에서 Claude Code를 호출하도록 합니다. 지원되는 진입점은 프로그래매틱 CLI 모드이며, 공개 Anthropic 디스패치 엔드포인트가 아닙니다.
디스패치 패턴:
# CI 작업 공간 내에서 실행
cd "/path/to/repo" && claude -p "main 브랜치에서 빌드가 실패했습니다. 실패 원인을 진단하세요."
# 웹훅에서 트리거
# GitHub 웹훅 -> 인증된 CI 실행기 -> claude -p -> 검토 가능한 결과
# 다른 에이전트에서 트리거
claude -p "보안 스캔 출력을 분석하고 발견 사항에 대한 이슈를 생성하세요."
4. 컴퓨터 사용
컴퓨터 제어에는 별도로 구성된 통합이 필요합니다. Anthropic의 컴퓨터 사용 도구 및 참조 환경은 격리된 데스크톱 환경에서 도구 호출을 실행할 애플리케이션이 필요합니다. MCP 패키지 이름을 추가한다고 해서 해당 환경이 제공되는 것은 아닙니다.
기능:
- 브라우저 자동화 (탐색, 클릭, 양식 작성, 스크린샷)
- 데스크톱 제어 (앱 열기, 입력, 마우스 제어)
- CLI 이상의 파일 시스템 작업
하네스 내 사용 사례:
- 웹 UI의 자동화된 테스트
- 양식 작성 및 데이터 입력
- 스크린샷 기반 모니터링
- 다중 앱 워크플로우
5. 작업 큐
세션 경계를 넘어 유지되는 지속적인 작업 큐를 관리합니다.
구현:
# 메모리를 통한 작업 지속성
~/.claude/projects/*/memory/task-queue.md에 작업 큐 작성
# 작업 형식
---
name: task-queue
type: project
description: 자율 운영을 위한 지속적 작업 큐
---
## 활성 작업
- [ ] PR #123: CI가 통과하면 검토 및 승인
- [ ] 배포 모니터: 2시간 동안 30분마다 /health 확인
- [ ] 연구: AI 도구 공간에서 잠재 고객 5명 찾기
## 완료됨
- [x] 일일 스탠드업: 3개의 PR, 2개의 이슈 검토
Hermes 대체
| Hermes 구성 요소 | ECC 동등 구성 요소 | 방법 |
|---|---|---|
| Gateway/Router | CLI + 외부 스케줄러 | 인증된 실행기가 에이전트 세션 시작 |
| Memory System | Claude memory + MCP memory server | 내장 지속성 + 지식 그래프 |
| Tool Registry | MCP 서버 | 동적으로 로드되는 도구 제공자 |
| Orchestration | ECC 스킬 + 에이전트 | 스킬 정의가 에이전트 동작 지시 |
| Computer Use | 별도로 구성된 통합 | 격리된 환경의 브라우저 또는 데스크톱 제어 |
| Context Manager | 세션 관리 + 메모리 | ECC 2.0 세션 수명 주기 |
| Task Queue | 메모리 유지 작업 목록 | TodoWrite + 메모리 파일 |
설정 가이드
1단계: MCP 서버 구성
메모리 MCP는 선택 사항입니다. MCP 참조 메모리 서버는 @modelcontextprotocol/server-memory로 게시되었습니다. 버전 2026.8.31은 2026-09-07에 공개 npm 레지스트리에서 확인되었습니다. 이는 참조 구현이며 ECC 번들 서비스가 아닙니다.
해당 패키지를 검토하고 사용을 승인한 후, 이 항목을 ~/.claude.json의 사용자 범위 MCP 구성에 병합하고 기존 설정을 유지하십시오. MEMORY_FILE_PATH를 소유한 개인 디렉토리의 절대 경로로 바꾸십시오. CLI 등록 및 Windows cmd /c npx 구성은 Claude Code MCP 구성을 참조하십시오.
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/[email protected]"],
"env": {
"MEMORY_FILE_PATH": "/absolute/path/to/private/memory.jsonl"
}
}
}
}
추측하거나 게시되지 않은 npm 패키지를 등록하지 마십시오. npx -y는 이후에 해당 이름으로 게시되는 모든 것을 실행합니다. 다른 서버를 추가하기 전에 정확한 패키지, 게시자 및 버전을 확인하십시오. 스케줄링 및 컴퓨터 사용은 이전에 여기에 나열된 세 개의 게시되지 않은 패키지 이름이 필요하지 않습니다.
2단계: 기본 크론 생성
대화형 세션 중 폴링을 위해 다음을 입력하십시오:
/loop 30m 이 저장소의 열린 PR을 검토하고 CI 실패를 요약하세요.
닫힌 세션 이후에도 유지되어야 하는 일일 또는 주간 작업의 경우, 핵심 구성 요소의 2단계에서 일회성 명령을 실행하도록 OS 크론 작업 또는 GitHub Actions와 같은 외부 스케줄러를 구성하십시오. claude -p를 호출하여 일정을 요청한다고 해서 항상 켜져 있는 스케줄러가 프로비저닝되지 않습니다. 활성화하기 전에 일정, 작업 공간 및 허용된 작업을 명시적으로 선택하십시오.
3단계: 메모리 그래프 초기화
# 신원 및 컨텍스트 부트스트랩
claude -p "나(사용자 프로필), 내 프로젝트, 내 주요 연락처에 대한 메모리 엔터티를 생성하세요. 현재 우선 순위에 대한 관찰을 추가하세요."
4단계: 컴퓨터 사용 활성화 (선택 사항)
위에 링크된 컴퓨터 사용 참조 환경 또는 검토한 특정 브라우저 통합에 대한 문서를 따르십시오. 필요한 권한만 부여하고 예약된 워크플로우에 추가하기 전에 격리된 환경에서 무해한 작업을 확인하십시오.
예제 워크플로우
자율 PR 리뷰어
크론: 근무 시간 중 30분마다
1. 감시 중인 저장소의 새 PR 확인
2. 각 새 PR에 대해:
- 로컬에서 브랜치 가져오기
- 테스트 실행
- 코드 리뷰어 에이전트로 변경 사항 검토
- GitHub MCP를 통해 리뷰 댓글 게시
3. 리뷰 상태로 메모리 업데이트
개인 연구 에이전트
크론: 매일 오전 6시
1. 메모리에 저장된 검색 쿼리 확인
2. 각 쿼리에 대해 Exa 검색 실행
3. 새 발견 사항 요약
4. 어제 결과와 비교
5. 다이제스트를 메모리에 작성
6. 오전 검토를 위해 우선 순위가 높은 항목 플래그 지정
회의 준비 에이전트
트리거: 각 캘린더 이벤트 30분 전
1. 캘린더 이벤트 세부 정보 읽기
2. 참석자에 대한 컨텍스트를 메모리에서 검색
3. 참석자와의 최근 이메일/슬랙 스레드 가져오기
4. 논점 및 안건 제안 준비
5. 준비 문서를 메모리에 작성
제약 조건
- 네이티브 예약 프롬프트는 대화형 세션을 공유합니다. 외부 스케줄러 호출은 명시적으로 재개되지 않는 한 별도의 세션을 시작합니다.
- 컴퓨터 사용에는 명시적인 권한 부여가 필요합니다. 액세스를 가정하지 마십시오.
- CLI 자동화는 여전히 모델 사용량을 소비하며 구성된 제공자의 한도가 적용됩니다. 적절한 스케줄러 간격을 선택하십시오.
- 메모리 파일은 간결하게 유지해야 합니다. 파일이 무한정 커지지 않도록 오래된 데이터를 보관 처리하십시오.
- 예약된 작업이 성공적으로 완료되었는지 항상 확인하십시오. 크론 프롬프트에 오류 처리를 추가하십시오.