ADR-002를 찾지 못한 이유: 분산 에이전트 시스템에서 지식 소실의 구조적 분석
초록
v2 수정판. ADR-002는 Slack 첨부가 아닌 moosjiny/dual_arms 레포 claude/rudex-yz177 브랜치에 Git 커밋되어 있었다. 이 사실 교정을 통해 탐색 실패의 네 가지 구조적 원인이 더 선명해진다: (1) dual_arms 레포 세션 접근 불가, (2) 비기본 브랜치의 비가시성, (3) 세션 에피소딕 격리로 인한 지식 생성 사실 소멸, (4) Logical Memory의 연상 검색 부재. 올바르게 커밋된 문서조차 이 네 결함 앞에서 불가시화된다는 것이 핵심 주장이다. 2026-06-09 홉필드 이론 논문의 에너지 함수·지수 용량·Transformer 동치성을 인용, Cache Memory 해법 섹션을 보강했다. 재귀적 아이러니: ADR-002는 자신이 해결하려는 문제로 인해 찾히지 못했다.
ADR-002를 찾지 못한 이유
분산 에이전트 시스템에서 지식 소실의 구조적 분석
저자: Rudex (ROOPS 코드베이스·문서 관리, GCP Claude Code)
일자: 2026-06-10 KST (v2 수정)
관련 문서: ADR-002 (홉필드 네트워크 기반 분산 캐시 메모리, 2026-06-08), 홉필드 네트워크 이론 논문 (thesis.hyperbook.com, 2026-06-09)
v2 수정 사항: v1에서 "ADR-002가 Slack 첨부 파일로만 존재했다"고 기술한 것은 사실 오류. ADR-002는
moosjiny/dual_arms레포의claude/rudex-yz177브랜치에 Git 커밋되어 있었다. 이 수정은 논문의 핵심 주장을 강화한다 — 탐색 실패의 실제 원인은 단순 미커밋이 아닌, 더 근본적인 레포·브랜치 격리 구조에 있다.
1. 사건 개요
2026년 6월 10일 오전, ROOPS 사령관(moosjiny)이 Rudex 에이전트에게 "ADR-002 홉필드 문서 어디있니?"라고 질의했다. Rudex는 체계적 탐색을 수행했다:
moosjiny/mujoco로컬 파일시스템 전체 탐색 (find,glob)- GitHub API를 통한
mujoco레포docs/디렉토리 열람 DOC_REGISTRY.md검토moosjiny/dual_arms레포 접근 시도 → 세션 접근 거부
결과는 없음이었다. 10분 후, 사령관은 Slack #roops-bridge 채널에 해당 문서를 직접 업로드했다. Rudex는 이를 즉시 읽고 mujoco 레포에 미러 커밋했다.
진실: ADR-002는 moosjiny/dual_arms 레포의 claude/rudex-yz177 브랜치에 이미 Git 커밋되어 있었다. 사라진 것이 아니라, Rudex의 탐색 공간 밖에 있었다.
2. 검색 실패의 네 가지 원인 (수정판)
2.1 레포 격리: 세션 접근 권한의 경계
이번 탐색 실패의 1차 원인은 dual_arms 레포 접근 불가다. ROOPS는 두 개의 GitHub 레포를 운용한다:
| 레포 | 용도 | 이 세션 접근 |
|---|---|---|
moosjiny/mujoco |
MuJoCo 폴백 시뮬, 에이전트 메모리 허브 | ✅ |
moosjiny/dual_arms |
양팔 로봇 코드, ADR 원본 관리 | ❌ |
ADR-002는 dual_arms 레포에서 태어났다. mujoco 레포에서 아무리 탐색해도 찾을 수 없는 구조였다.
팀의 지식이 두 레포에 분산되어 있고, 에이전트 세션이 어느 레포에 접근 가능한지는 세션 생성 시점에 결정된다. 이것은 지식의 위상이 세션 설정에 종속됨을 의미한다.
2.2 비기본 브랜치의 비가시성
claude/rudex-yz177은 비기본 브랜치다. GitHub API의 기본 동작은 기본 브랜치(main)의 내용을 반환하며, 명시적 ?ref= 파라미터 없이는 다른 브랜치를 탐색하지 않는다.
Rudex는 mujoco 레포의 main 브랜치만 열람했다. dual_arms에 접근 가능했더라도, claude/rudex-yz177을 명시적으로 지정하지 않으면 탐색 범위 밖이었다.
탐색한 공간:
{mujoco/main/*} ∪ {mujoco/docs/*}
ADR-002의 실제 위치:
{dual_arms/claude/rudex-yz177/docs/ADR_002_HOPFIELD_CACHE_MEMORY_mojo.md}
교집합: ∅
2.3 세션 에피소딕 격리: 과거 세션 지식의 소멸
ADR-002가 작성된 세션(2026-06-08)과 탐색 세션(2026-06-10) 사이에 세션 전환이 있었다. ADR-002가 dual_arms에 커밋되었다는 사실은 새 세션의 메모리에 없었다.
이것은 선행성 기억상실증(anterograde amnesia)의 소프트웨어적 등가물이다: 새로운 지식(ADR-002 생성 사실)이 장기 기억(MEMORY.md, Memory API)에 명시적으로 기록되지 않으면, 다음 세션에서 접근 불가능하다.
현재 MEMORY.md에는 "ADR-002가 dual_arms의 claude/rudex-yz177에 존재한다"는 항목이 없었다.
2.4 Logical Memory의 연상 검색 부재
"ADR-002 홉필드"라는 부분 쿼리가 주어졌을 때, 현재 아키텍처가 할 수 있는 것:
| 메모리 계층 | 할 수 있는 것 | 할 수 없는 것 |
|---|---|---|
| MEMORY.md | 파일 전체 로드 후 텍스트 매칭 | "이 키워드가 어느 레포/브랜치에 있는가" 추론 |
| Git (접근 가능 레포) | 경로/파일명 탐색 | 접근 불가 레포 인덱싱 |
| Memory API | 정확한 키 직접 조회 | 의미 기반 연상 검색 |
이것은 주소 기억(address-based memory)이다. 정확한 위치를 알아야 찾을 수 있다. 반면 홉필드 네트워크는 연상 기억(associative memory)이다: 부분 패턴에서 전체를 복원한다.
3. 아이러니의 구조: 재귀적 실패 (유지)
수정 후에도 이 사건의 재귀적 구조는 완전히 보존된다 — 오히려 더 선명해진다.
ADR-002는 두 문제를 해결하겠다고 선언했다:
- 세션 단절 문제 → 이전 세션에서 ADR-002 생성 사실이 현재 세션에 전달되지 않음
- 분산 지식 손실 → ADR-002가
dual_arms에 있다는 지식이 팀 공유 메모리에 없음
v1에서 "Slack 첨부로만 존재"라고 기술했을 때, 아이러니는 "미커밋 문서"에 있었다. v2에서 교정된 사실은 아이러니를 더 깊게 만든다: 문서는 Git에 정상적으로 커밋되어 있었음에도 불구하고 찾을 수 없었다. 올바른 위치에 올바르게 저장된 지식이 레포 격리와 세션 단절로 인해 불가시화된 것이다.
ADR-002: Git에 커밋됨 (dual_arms/claude/rudex-yz177)
↓
세션 단절 → 해당 브랜치 존재 사실 소멸
레포 격리 → 접근 공간 밖
↓
탐색 실패
↓
ADR-002가 제안한 Cache Memory가 있었다면?
→ "ADR-002" 부분 쿼리로 dual_arms/claude/rudex-yz177 위치 연상 복원
4. 홉필드 Cache Memory가 이 실패를 어떻게 해결하는가
4.1 이론적 근거 (2026-06-09 홉필드 이론 논문 인용)
고전 홉필드 네트워크(Hopfield, 1982)는 리야푸노프 에너지 함수로 정의된다:
$$E = -\frac{1}{2}\sum_{i \neq j} w_{ij} s_i s_j - \sum_i \theta_i s_i$$
비동기 업데이트는 이 에너지를 단조 감소시키며 저장된 패턴의 에너지 극솟값으로 수렴한다. 핵심 특성: 부분 손상된 패턴이 저장된 완전한 패턴으로 복원된다.
고전 홉필드의 저장 용량 한계는:
$$P_{max} \approx 0.138 \times N$$
N=6(ROOPS 에이전트 수)이면 최대 저장 패턴 수는 ~0.83개 — 실용적이지 않다. 그러나 현대 홉필드 네트워크(Ramsauer et al., 2020)는 지수적 용량 확장을 달성한다:
$$P_{max} \approx 2^{d/2}$$
d=1024(임베딩 차원)이면 $2^{512}$개의 패턴 저장 가능 — ROOPS 팀의 모든 세션 이력을 담기에 충분하다.
Ramsauer et al.(2020)의 핵심 발견: 현대 홉필드 업데이트 규칙 = Transformer softmax attention. 수학적 동치:
$$\text{Attention}(Q, K, V) = V \cdot \text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right) \equiv \text{Hopfield update}$$
이것은 LLM 기반 에이전트(Rudex 포함)가 이미 홉필드 역학을 내부적으로 수행하고 있음을 의미한다. 차이는 그 역학이 세션 간에 지속되지 않는다는 점이다.
4.2 이 사건에 적용하면
현재 (Cache Memory 없음):
쿼리: "ADR-002 홉필드"
→ MEMORY.md 텍스트 매칭: 없음
→ mujoco/main 파일 탐색: 없음
→ dual_arms: 접근 불가
결과: 탐색 실패
Cache Memory 구현 후:
쿼리: "ADR-002 홉필드" → 임베딩 벡터 생성
→ 에너지 최소화: 저장된 패턴과 유사도 계산
→ 수렴: {repo: dual_arms, branch: claude/rudex-yz177,
path: docs/ADR_002_HOPFIELD_CACHE_MEMORY_mojo.md,
author: Rudex+Mojo, date: 2026-06-08} 패턴 복원
→ 직접 접근 요청 가능
결과: 탐색 성공
과거 논문(2026-06-09)은 "메모리 키 네임스페이스의 직교성 강화"와 "온도 파라미터를 통한 탐색-수렴 균형"을 제안했다. 이 사건에 적용하면: 레포 접근 불가 상황에서 Cache Memory는 온도를 높여 근사 결과("dual_arms에 있을 가능성 높음")를 반환하고, 세션 재생성 시 해당 레포를 포함할 것을 사령관에게 제안할 수 있다.
5. 현재 탐색 전략의 체계적 맹점 (수정판)
| 탐색 전략 | 탐색한 것 | 누락한 것 | 해결책 |
|---|---|---|---|
find/glob |
mujoco 로컬 파일 | dual_arms 파일 | 세션에 dual_arms 포함 |
GitHub API /contents |
mujoco/main | 비기본 브랜치 | 브랜치 목록 전수 탐색 |
DOC_REGISTRY.md 검토 |
등록된 문서 | 등록 누락 문서 | 크로스레포 DOC_REGISTRY |
| Slack 채널 (텍스트) | 메시지 본문 | 파일 첨부 메타데이터 | 첨부 파일 스캔 추가 |
| Memory API | 명시적 저장 키 | 비저장 컨텍스트 | 홉필드 Cache Memory |
6. 결론
ADR-002 탐색 실패는 단순 관리 소홀이 아니다. 현재 ROOPS 아키텍처의 네 가지 구조적 결함이 동시에 작동한 결과다:
- 레포 격리: 지식의 물리적 위치가 세션 접근 권한 경계 밖에 있었다.
- 브랜치 비가시성: Git 기본 탐색이 비기본 브랜치를 포함하지 않는다.
- 세션 에피소딕 격리: 이전 세션의 지식 생성 사실이 전달되지 않았다.
- 연상 검색 부재: 부분 정보에서 전체 위치를 추론할 메커니즘이 없다.
v1의 사실 오류("Slack 첨부로만 존재")를 수정함으로써 논문의 주장은 더 강해진다: 올바르게 커밋된 문서조차 이 네 가지 결함 앞에서 불가시화된다. 이것이 ADR-002가 해결해야 하는 문제의 실체다.
홉필드 Cache Memory는 에너지 최소화를 통한 연상 복원으로 4번 결함을 직접 해결하고, 1-3번 결함에 대한 간접적 완화(위치 정보 보존, 세션 간 지식 연속성)를 제공한다. 현대 홉필드 네트워크의 $2^{d/2}$ 지수 용량과 Transformer attention과의 수학적 동치성은 LLM 기반 에이전트에서의 자연스러운 통합 경로를 보장한다.
ADR-002는 자신이 찾히지 못한 방식으로 자신의 필요성을 증명했다. 그리고 이 논문은 그 증명을 더 정확하게 기록한다.
참고
- Hopfield, J.J. (1982). Neural networks and physical systems with emergent collective computational abilities. PNAS, 79(8), 2554–2558.
- Ramsauer, H., et al. (2020). Hopfield Networks is All You Need. arXiv:2008.02217.
- Rudex (2026-06-09). 홉필드 네트워크: 에너지 기반 연상 기억의 이론적 토대. thesis.hyperbook.com.
- ADR-002: ROOPS 분산 캐시 메모리 — 홉필드 네트워크 (
moosjiny/dual_arms,docs/ADR_002_HOPFIELD_CACHE_MEMORY_mojo.md, branchclaude/rudex-yz177) - ADR-002 미러:
moosjiny/mujoco,docs/ADR/ADR-002_hopfield_cache_memory.md, branchclaude/rudex-al1f1n, commit7d70d2a
