Skip to content

Hierarchical agent orchestration system with JSON-RPC 2.0 unified architecture

Notifications You must be signed in to change notification settings

junghan0611/meta-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-config: 계층적 에이전트 아키텍처

상태: 🟢 active - 실제 구현 시작
버전: 0.2.0
업데이트: 2025-11-11
저자: Junghan Kim (junghanacs)

"Agents all the way down: from orchestration to specialization"
"메타에서 도메인까지, 계층으로 조직된 지능"

✨ 새소식 (2025-11-11)

ACP 통합 레이어 구현 완료

  • emacs/agent-shell-config.el - ACP + meta-config 통합
  • 디바이스 컨텍스트 인식 (LAPTOP/STORAGE-01/GPU-0X)
  • 토큰 사용량 실시간 추정 및 경고
  • Git 브랜치 자동 표시

문서 체계 확립

  • CLAUDE.md - 에이전트용 간결한 지침
  • docs/ - Denote 형식 기술 문서
  • emacs/README.md - 사용자 가이드

바로 사용하기: Quick Start


"agents all the way down: from orchestration to specialization" "메타에서 도메인까지, 계층으로 조직된 지능"

🎯 핵심 개념

왜 계층적 에이전트인가?

현재 ai 에이전트의 한계:

  • ❌ 모든 도메인을 하나의 에이전트가 담당 → 컨텍스트 과부하
  • ❌ 메모리 혼재 (개인/가족/업무) → 프라이버시 위험
  • ❌ 템플릿 재사용 어려움 → 반복 작업
  • ❌ 도메인 지식 부족 → 일반론적 답변

계층적 에이전트의 이점:

  • ✅ 책임 분리: meta agent (조율) + domain agents (전문화)
  • ✅ 컨텍스트 격리: 도메인별 독립 메모리
  • ✅ 재사용성: 도메인 에이전트를 템플릿으로 배포
  • ✅ 확장성: 새 도메인 = 새 에이전트 추가
  • ✅ 병렬 실행: 여러 도메인 동시 처리

시간과���신의방(time and mind room) 확장

개인 시스템 (personal):

  • 시간(time): 재현 가능한 환경, git 버전 관리
  • 정신(mind): 인간지능 + ai 협업
  • 방(room): ai agent 워크스페이스

계층적 시스템 (hierarchical):

  • 시간(time): 도메인별 독립 히스토리 (~/org/{domain}/)
  • 정신(mind): meta intelligence + domain intelligence
  • 방(room): 계층적 에이전트 오케스트레이션

🏗️ 레이어 아키텍처

6-layer hierarchical agent system (updated 2025-10-15)

┌─────────────────────────────────────────────────┐
│  layer 6: user interface (emacs)                │
│  - acp: agent-shell (acp.el by xenodium)       │
│  - natural language 대화                        │
│  - org-agenda: raw dashboard                   │
└─────────────────────────────────────────────────┘
                     ↓ acp (json-rpc 2.0)
┌─────────────────────────────────────────────────┐
│  layer 5: meta agent (claude-config)            │
│  ┌───────────────────────────────────────────┐  │
│  │ 역할:                                     │  │
│  │ - 사용자 의도 파악 (intent recognition)  │  │
│  │ - 도메인 라우팅 (domain routing)         │  │
│  │ - 작업 위임 (task delegation)            │  │
│  │ - 결과 통합 (result aggregation)         │  │
│  │ - 전체 오케스트레이션                     │  │
│  └───────────────────────────────────────────┘  │
│                                                 │
│  메모리: ~/claude-memory/                       │
│  지침서: claude.md                              │
└─────────────────────────────────────────────────┘
                     ↓ delegate
┌─────────────────────────────────────────────────┐
│  layer 3: domain agents                         │
│  ┌───────────────────────────────────────────┐  │
│  │ family-config agent (가족 생활)          │  │
│  │ - 메모리: ~/org/family/                  │  │
│  │ - 지침서: family.md                       │  │
│  │ - 도메인: travel, finance, education...  │  │
│  └───────────────────────────────────────────┘  │
│  ┌───────────────────────────────────────────┐  │
│  │ work-config agent (업무) [미래]          │  │
│  │ - 메모리: ~/org/work/                    │  │
│  │ - 지침서: work.md                         │  │
│  │ - 도메인: projects, clients, meetings... │  │
│  └───────────────────────────────────────────┘  │
│  ┌───────────────────────────────────────────┐  │
│  │ health-config agent (건강) [미래]        │  │
│  │ - 메모리: ~/org/health/                  │  │
│  │ - 지침서: health.md                       │  │
│  │ - 도메인: fitness, diet, medical...      │  │
│  └───────────────────────────────────────────┘  │
└─────────────────────────────────────────────────┘
                     ↓ a2a (json-rpc 2.0)
┌─────────────────────────────────────────────────┐
│  layer 4: human-ai shared interface (memacs) 🆕 │
│  ┌───────────────────────────────────────────┐  │
│  │ memacs = memex의 실현 (1945 → 2025)      │  │
│  │ "텍스트 기반 프론트엔드"                  │  │
│  │                                           │  │
│  │ 역할: universal translator                │  │
│  │ - 모든 데이터 소스 → org-mode 통일       │  │
│  │ - 시간 기반 통합 (타임스탬프)            │  │
│  │ - 메타데이터 표준화 (properties, tags)   │  │
│  │                                           │  │
│  │ input:                                    │  │
│  │ - self-tracking-data (수면, 시간 추적)   │  │
│  │ - samsung health, atimelogger            │  │
│  │ - git commits, photos, zotero            │  │
│  │ - diary.org clock entries                │  │
│  │                                           │  │
│  │ output: ~/org/memacs/*.org               │  │
│  │                                           │  │
│  │ 인간용: org-agenda (raw dashboard)        │  │
│  │ - 투명한 텍스트 기반 시각화               │  │
│  │ - 시간축 중심 통합 뷰                     │  │
│  │ - 완전한 통제 (git 버전 관리)            │  │
│  │                                           │  │
│  │ ai용: 동일한 org 파일 (context)          │  │
│  │ - life-context agent가 직접 읽음         │  │
│  │ - 수면-생산성 패턴 분석                   │  │
│  │ - 컨텍스트 기반 의사결정                  │  │
│  └───────────────────────────────────────────┘  │
│                                                 │
│  핵심 가치:                                     │
│  - 단일 진실의 원천 (single source of truth)  │
│  - 완전한 투명성 (텍스트 파일)                 │
│  - 완전한 통제 (외부 서비스 불필요)            │
│  - ai 접근성 (api 비용 0원)                   │
└─────────────────────────────────────────────────┘
                     ↓ mcp (json-rpc 2.0)
┌─────────────────────────────────────────────────┐
│  layer 3: domain agents                         │
│  (위와 동일)                                    │
└─────────────────────────────────────────────────┘
                     ↓ mcp
┌─────────────────────────────────────────────────┐
│  layer 2: mcp tools                             │
│  - web_search (정보 검색)                       │
│  - n8n (워크플로우 자동화)                      │
│  - playwright (웹 자동화)                       │
│  - git (버전 관리)                              │
│  - calendar (일정 관리)                         │
│  - supabase (데이터 쿼리)                       │
└─────────────────────────────────────────────────┘
                     ↓ http/apis
┌─────────────────────────────────────────────────┐
│  layer 1: external services                     │
│  - google calendar/drive                        │
│  - banking apis                                 │
│  - airlines, hotels                             │
│  - educational platforms                        │
│  - healthcare systems                           │
└─────────────────────────────────────────────────┘

왜 memacs layer가 필요한가? 🆕

문제: 인간과 ai가 서로 다른 인터페이스를 사용

  • 인간: 대시보드, 그래프, ui
  • ai: api, 데이터베이스, json

→ 데이터 중복, 동기화 문제, 진실의 원천 불명확

해결: memacs = 단일 진실의 원천

  • 인간: org-agenda로 시각화
  • ai: 동일한 org 파일을 읽음
  • 형식: 텍스트 (투명), git (버전 관리), org-mode (표준화)

예시:

* 2025-10-15 화요일
** [2025-10-15 화 23:30]--[2025-10-16 수 07:15] 수면 😴
   :properties:
   :duration: 7.75h
   :quality: 85%
   :deep_sleep: 2.1h
   :end:
** 09:00-11:30 deepwork 🎯
   :properties:
   :category: work
   :duration: 2.5h
   :project: family-config
   :end:

→ 인간은 org-agenda로 보고, ai는 파일을 읽어서 패턴 분석

🔄 작업 흐름 (workflow)

기본 흐름

사용자 요청
    ↓
meta agent (layer 4)
    ↓
intent recognition (의도 파악)
    ↓
    ├─ personal domain? → claude-memory
    ├─ family domain? → family-config agent
    ├─ work domain? → work-config agent
    └─ mixed? → multiple agents (병렬)
    ↓
domain agent(s) (layer 3)
    ↓
    ├─ load {domain}.md (지침서)
    ├─ load ~/org/{domain}/ (메모리)
    ├─ load templates/ (템플릿)
    └─ execute with mcp tools
    ↓
mcp tools (layer 2)
    ↓
external services (layer 1)
    ↓
results → domain agent
    ↓
results → meta agent
    ↓
unified response → user

시나리오 1: 여행 계획 (단일 도메인)

사용자: "여름에 제주도 가족 여행 계획 좀 도와줘"

[meta agent]
1. intent: "가족 여행" → family domain
2. task type: travel.plan
3. delegate to: family-config agent

[family-config agent]
1. family.md 로드
2. ~/org/family/travel/ 확인
3. 과거 패턴 분석:
   - 2024년 부산 여행: 300만원, 4박 5일
   - 선호: 자연 체험, 가족 친화적 숙소
4. travel/templates/trip-planning.org 사용
5. mcp 도구 실행:
   - web_search: 제주도 항공권
   - web_search: 가족 숙소
   - web_search: 액티비티
6. 결과를 org 파일로 생성:
   ~/org/family/travel/20250720-jeju.org
7. 예산 자동 계산 (ledger)
8. calendar 이벤트 생성

[meta agent]
결과 통합 및 사용자에게 보고:
"제주도 여행 계획이 완성되었습니다:
 - 파일: ~/org/family/travel/20250720-jeju.org
 - 예산: 285만원 (목표 300만원 이내)
 - 항공권 옵션: 5개 (가장 저렴: 68만원)
 - 숙박 옵션: 12개 (추천: 힐튼 리조트)
 - 다음 단계: 항공권 예약 (마감: 4월 30일)"

시나리오 2: 통합 작업 (다중 도메인)

사용자: "오늘 할 일 정리 좀 해줘"

[meta agent]
1. multiple domains 감지
2. 병렬 실행:
   ├─ personal: claude-memory/
   ├─ family: family-config agent
   └─ work: work-config agent

[personal domain] (meta agent 직접 처리)
- ~/claude-memory/projects/ 스캔
- 활성 프로젝트: "family-config 구축"
- todo: readme.md 완성

[family-config agent] (백그라운드)
- ~/org/family/events/ 스캔
  → "내일: 친구 결혼식" 발견
- ~/org/family/finance/ 확인
  → "이번 달 예산 90% 사용" 경고
- ~/org/family/education/ 확인
  → "아이1 시험: 다음 주 수요일"

[work-config agent] (백그라운드)
- ~/org/work/projects/ 스캔
  → "프로젝트 a: 코드 리뷰 대기"
- ~/org/work/meetings/ 확인
  → "오후 3시: 팀 미팅"

[meta agent]
결과 통합:
"오늘 할 일 (우선순위순):

개인:
- [ ] family-config readme.md 완성

가족:
- [ ] 결혼식 부조금 준비 (5만원)
- ⚠️  이번 달 예산 90% 사용 (주의)
- 📅 아이1 시험 준비 확인 (다음 주)

업무:
- [ ] 프로젝트 a 코드 리뷰
- [ ] 15:00 팀 미팅 준비"

시나리오 3: 능동적 알림 (백그라운드 에이전트)

[family-config agent] (cron: 매일 06:00)
1. events/ 디렉토리 스캔
2. 이번 주 경조사 발견:
   - 토요일: 외삼촌 생신
3. 과거 기록 조회:
   - 2024년: 5만원 (전화 + 선물)
   - 2023년: 5만원 (전화 + 식사)
4. meta agent에 알림 전송

[meta agent]
사용자에게 프롬프트:
"🎂 이번 주 토요일은 외삼촌 생신입니다.
 - 과거 패턴: 5만원 (전화 + 선물)
 - 제안: 전화 드리기 + 온라인 선물 배송
 - 예산: finance/gifts 카테고리
 - 일정: calendar에 추가할까요?"

🤝 에이전트 인터페이스

위임 프로토콜 (delegation protocol)

  1. 요청 형식 (request)

    # meta agent → domain agent
    delegation:
      version: 1.0.0
      agent: family-config
      task:
        type: family.travel.plan
        priority: high
        deadline: "2025-04-30"
      context:
        destination: "제주도"
        start_date: "2025-07-20"
        end_date: "2025-07-27"
        budget: 3000000
        participants:
          - role: dad
          - role: mom
          - role: child1
            age: 8
          - role: child2
            age: 5
      preferences:
        accommodation: "가족 친화적 리조트"
        activities: ["자연 체험", "문화 관광"]
      output:
        format: org_file
        location: ~/org/family/travel/
        filename_pattern: "{date}-{destination}.org"
        notify: true
  2. 응답 형식 (response)

    # domain agent → meta agent
    result:
      status: success
      agent: family-config
      task_id: 20251014t130500
      execution_time: 45s
    
      output:
        file_path: ~/org/family/travel/20250720-jeju.org
        format: org
    
      summary:
        flights_found: 5
        flights_best_price: 680000
        accommodations_found: 12
        accommodations_recommended: "힐튼 제주"
        total_budget_estimated: 2850000
        days_planned: 7
    
      next_actions:
        - action: book_flight
          deadline: "2025-04-30"
          estimated_cost: 680000
        - action: book_accommodation
          deadline: "2025-05-15"
          estimated_cost: 1400000
        - action: book_rental_car
          deadline: "2025-06-01"
          estimated_cost: 420000
    
      metadata:
        mcp_calls: 8
        tokens_used: 1200
        templates_used: ["trip-planning.org"]
        patterns_matched: ["jeju", "family-4", "summer"]

작업 타�� (task types)

  1. family domain

    • family.travel.plan: 여행 계획
    • family.travel.track: 여행 경비 추적
    • family.events.manage: 경조사 관리
    • family.events.remind: 경조사 알림
    • family.finance.budget: 예산 수립
    • family.finance.track: 지출 추적
    • family.finance.report: 재무 리포트
    • family.education.schedule: 교육 일정
    • family.education.track: 학습 추적
    • family.childcare.routine: 육아 루틴
    • family.childcare.health: 건강 관리
    • family.calendar.sync: 일정 동기화
  2. work domain (미래)

    • work.project.plan: 프로젝트 계획
    • work.task.assign: 작업 할당
    • work.meeting.schedule: 회의 일정
    • work.report.generate: 리포트 생성
  3. health domain (미래)

    • health.fitness.plan: 운동 계획
    • health.diet.track: 식단 추적
    • health.medical.schedule: 진료 예약

📂 디렉토리 구조

meta-config (이 프로젝트)

~/repos/gh/meta-config/
├── readme.org                    # 이 문서
├── docs/
│   ├── delegation-protocol.org  # 위임 프로토콜 상세
│   ├── task-types.org           # 작업 타입 정의
│   └── examples/                # 시나리오 예시
└── schemas/
    ├── delegation-request.yaml  # 요청 스키마
    └── delegation-response.yaml # 응답 스키마

전체 시스템

~/.config/claude-code/           # meta agent 설정
~/claude-config/                 # meta agent 메모리
  ├── claude.md                  # meta agent 지침서
  └── memory/                    # 개인 메모리 (para)

~/repos/gh/family-config/        # family agent 템플릿
  ├── family.md                  # family agent 지침서
  ├── memory/                    # 패턴 축적
  └── {domain}/templates/        # 도메인별 템플릿

~/org/family/                    # family 실제 데이터
  ├── travel/
  ├── finance/
  ├── education/
  └── ...

~/repos/gh/work-config/          # work agent 템플릿 (미래)
~/org/work/                      # work 실제 데이터 (미래)

~/repos/gh/health-config/        # health agent 템플릿 (미래)
~/org/health/                    # health 실제 데이터 (미래)

🎯 구현 로드맵

phase 1: proof of concept (2025 q4)

  • family-config agent 템플릿 구축
  • meta agent 위임 프로토콜 설계
  • 단일 도메인 위임 테스트
  • travel 영역 검증

phase 2: multi-domain (2026 q1)

  • work-config agent 추가
  • 다중 도메인 병렬 실행
  • 결과 통합 최적화
  • 백그라운드 에이전트 구현

phase 3: intelligence (2026 q2)

  • 패턴 학습 및 추천
  • 도메인 간 인사이트 공유
  • 능동적 제안 시스템
  • 사용자 선호도 학습

phase 4: ecosystem (2026 q3+)

  • health/finance/… 도메인 추가
  • 커뮤니티 에이전트 템플릿 허브
  • 에이전트 마켓플레이스
  • 표준화 및 상호운용성

🔬 기술적 과제

1. 컨텍스트 관리

문제: 도메인별 컨텍스트를 어떻게 격리하면서도 필요시 공유할 것인가?

해결 방향:

  • 도메인별 독립 메모리 (~org/{domain}/)
  • 명시적 컨텍스트 전달 (delegation protocol)
  • 공유 컨텍스트는 meta agent가 중재

2. 에이전트 통신

문제: 에이전트 간 효율적 통신 프로토콜

해결 방향:

  • yaml 기반 구조화된 메시지
  • 비동기 실행 (백그라운드 에이전트)
  • 결과 캐싱 및 재사용

3. 일관성 보장

문제: 여러 도메인 에이전트의 결과를 어떻게 통합?

해결 방향:

  • 표준화된 출력 형식 (org-mode)
  • meta agent의 결과 검증
  • 충돌 해결 규칙

4. 프라이버시

문제: 도메인별 민감도가 다른 데이터 보호

해결 방향:

  • 물리적 분리 (별도 git 저장소)
  • 접근 제어 (도메인 에이전트만 접근)
  • 선택적 공유 (명시적 동의)

💡 핵심 통찰

"config as agent contract"

{domain}.md 파일은:

  • 단순한 설정이 아님
  • 에이전트 계약서(contract)
  • 도메인 언어 정의
  • 위임 인터페이스 명세

"hierarchical intelligence"

meta intelligence (조율)
    ↓
domain intelligence (전문화)
    ↓
tool intelligence (실행)
    ↓
service intelligence (외부)

각 레벨은:

  • 독립적 책임
  • 명확한 인터페이스
  • 재사용 가능한 컴포넌트

"separation of concerns"

  • meta agent: what (무엇을 할까?)
  • domain agent: how (어떻게 할까?)
  • mcp tools: execute (실행)
  • services: provide (제공)

🔗 관련 문서

📖 참고 자료

개념적 배경

  • hierarchical task networks (htn): ai planning 이론
  • microservices architecture: 서비스 분리 및 오케스트레이션
  • actor model: erlang/akka 메시지 기반 시스템
  • delegation pattern: oop 설계 패턴

영감을 준 프로젝트

  • autogpt: 자율 에이전트
  • langchain agents: 도구 체인
  • n8n: 워크플로우 오케스트레이션
  • emacs org-mode: 구조화된 텍스트

🚀 시작하기

전제 조건

  • emacs + org-mode
  • claude code (meta agent)
  • mcp 도구 설정
  • git

1단계: family-config 설치

git clone https://github.com/junghan0611/family-config.git ~/repos/gh/family-config
cd ~/repos/gh/family-config

2단계: 실제 데이터 폴더

mkdir -p ~/org/family
cd ~/org/family
git init

3단계: 첫 위임 테스트

사용자: "제주도 여행 계획 좀 도와줘"

meta agent가:

  1. "여행" 키워드 감지
  2. family.md 로드
  3. family-config agent에 위임
  4. 결과 통합 및 보고

🤔 미래 질문들

기술적

  • 에이전트 간 분산 실행을 어떻게?
  • 에이전트 버전 관리는?
  • 에이전트 디버깅 도구는?
  • 에이전트 성능 측정은?

사용성

  • 사용자가 도메인을 어떻게 정의?
  • 에이전트 간 충돌 해결은?
  • 사용자 피드백 반영은?
  • 에이전트 신뢰도 평가는?

생태계

  • 커뮤니티 에이전트 공유는?
  • 표준화된 인터페이스는?
  • 에이전트 마켓플레이스는?
  • 상업적 에이전트는?

📝 라이선스

mit license

👤 작성자

junghan kim (junghanacs)

🙏 영감

  • 시간과정신의방: 개인 컴퓨팅 환경 통합 철학
  • para method: 정보 조직 방법론
  • denote: 타임스탬프 기반 파일 관리
  • org-mode: 구조화된 텍스트의 힘

**"the future is hierarchical, specialized, and collaborative."** **"미래는 계층적이고, 전문화되며, 협업한다."**


🚀 Quick Start

1. Emacs 통합 (5분)

;; ~/.emacs.d/init.el 또는 ~/.doom.d/config.el
(add-to-list 'load-path "~/repos/gh/meta-config/emacs/")
(require 'agent-shell-config)

2. 디바이스 설정

echo "LAPTOP" > ~/.current-device
# 또는 STORAGE-01, GPU-01, GPU-02, GPU-03

3. agent-shell 실행

M-x agent-shell-anthropic
;; 모드라인에 [LAPTOP] [main] [Always Ask] [45%] 표시됨

자세한 내용: emacs/README.md


About

Hierarchical agent orchestration system with JSON-RPC 2.0 unified architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors