Conway 생존 메커니즘을 기반으로 한 자율 진화형 암호화폐 자동 매매 시스템입니다. OKX 데모 USDT를 실제 자금처럼 활용하여 수익을 내는 AI 에이전트가 복제되고, 손실을 내는 에이전트는 도태되는 진화적 학습을 수행합니다.
핵심 원칙
원칙
설명
생존
수익 → 크레딧 증가, 손실 → 크레딧 감소. 크레딧 0 = 사망
복제
크레딧 90+ 달성 시 DNA 복사본 생성 (파라미터 ±15% 돌연변이)
진화
세대 반복 → 수익 내는 파라미터만 살아남음 = 진화적 학습
분할매매
1회 최대 $100, 3분할 진입 (건당 ~$33)
시스템 구조
사용자 대시보드 (로컬/Caddy 프록시)
↕ WebSocket 실시간
Conway 대시보드 서버 (포트 3090)
↕ 상태 파일 감시
Conway 트레이더 (자율 매매 엔진)
├── Conway 클러스터 → count+confSum 합의 시 주문 실행
└── DNA 에이전트들 → genes 기반 동적 생성/소멸
↓
OKX Demo API (x-simulated-trading: 1)
↓
데모 USDT 포지션 실행
운영 환경
항목
값
거래소
OKX (데모 모드)
거래 종목
OKX SWAP 풀에서 DNA 선호 기반 동적 선택 (예: PEPE, SHIB 등)
표시 시드
$1,000 USDT (표시용 기준)
손절
-5%
익절
+10%
캔들 타임프레임
DNA별 5m/15m/1H (멀티타임프레임-lite)
Conway 철학: 단순함에서 복잡한 결과로
이 시스템은 Conway's Game of Life의 핵심 원리를 암호화폐 자율 매매에 이식한 것입니다. 단 몇 가지 규칙으로 예측 불가능한 복잡한 결과를 만들어냅니다.
Conway GoL 원본 규칙 (4가지)
Rule 1: 이웃 0~1명 → 고독 (UNDERPOPULATED)
Rule 2: 이웃 2~3명 → 합의 (SURVIVAL)
Rule 3: 죽은 세포, 이웃 정확히 3명 → 탄생 (BIRTH)
Rule 4: 이웃 4명+ → 과밀 (OVERCROWDED)
"세포는 이웃만 보고 결정한다. 전체 그림을 아는 세포는 없다."
이 시스템에서의 이식
Conway GoL
ConwayTrader
세포 (Cell)
에이전트 — 각자 독립적으로 신호를 계산하는 트레이더
이웃 (Neighbor)
같은 종목, 같은 방향(LONG/SHORT) 신호를 낸 다른 에이전트
합의 규칙 (SURVIVAL)
기본은 count>=2 + confSum 기준, 단 저개체수(alive≤3)에서는 생태계 정체를 막기 위해 confSum 문턱만 부분 완화
고독사 (이웃 0~1, 지속)
lonelyStreak 임계치 초과 시 사망 (사망 모드: 4h/8h/12h)
탄생 (BIRTH)
합의 + 충분한 합의강도(현재 2표≈0.68, 3표≈1.02)일 때 새 에이전트 탄생
4가지 규칙 (변하지 않음)
10개 지표 팔레트 (변하지 않음, 에이전트가 조합 선택)
streak/사망 판정은 현재 틱의 활성 에이전트에만 적용되며, 비활성 에이전트는 값이 동결됩니다.
단순 규칙 → 복잡한 결과가 일어나는 메커니즘
단순한 규칙 (하드코딩, 변하지 않음):
┌─────────────────────────────────────────────────┐
│ Rule 1: 이웃 0~1명 → 주문 없음 (HOLD) │
│ Rule 2: count>=2 & confSum 기준 충족 → 주문 실행 │
│ Rule 3: 저개체수일수록 번식 문턱 일부 완화 → 계보 유지 │
│ Rule 4: 이웃 4명+ → 과밀 경보 (HOLD) │
│ Rule 5: 임계사이클 연속 고독 → 사망 │
│ Rule 6: SQUEEZE 국면 → lonelyStreak 유예 │
└─────────────────────────────────────────────────┘
↓ 수십~수백 사이클 반복
복잡한 결과 (실행 전에는 예측 불가):
- 추세장(TRENDING)에서 살아남는 DNA 조합은?
- 횡보장(RANGING)에 적합한 지표 가중치는?
- SQUEEZE 돌파 방향을 먼저 잡는 조합은?
- 에이전트들이 서로 모르는 채 독립 판단 → 다수결로 시장 읽기
왜 단순한데 복잡해지는가
Conway GoL에서 글라이더, 정지 패턴, 반복 구조 등이 나타나는 것처럼, 이 시스템에서도 예상치 못한 패턴이 나타납니다:
특성
내용
◎ 합의 필터
단독 에이전트의 오신호가 자동 차단됨. 2명 이상 동의해야 주문 → 노이즈 제거
◎ 자연 선택
추세장에서 RSI/BB 에이전트들은 lonelyStreak 누적 → 사망. EMA/MACD 에이전트 생존. 시장이 필터
◎ 창발 (Emergence)
어떤 DNA 조합이 어느 시장 국면에서 살아남을지 코드 수준에서는 알 수 없음. 실행해봐야 알 수 있음
◎ 다양성 유지
BIRTH 시 돌연변이 → 신규 조합 등장. 단일 전략에 수렴하지 않고 다양성 유지
시장 국면 인식 (Regime Detection)
각 에이전트는 매 사이클마다 시장 국면을 독립적으로 판단하고 적합한 지표만 활성화합니다:
ADX > 25 → TRENDING (추세장) : EMA_CROSS, MACD 활성화
ADX < 18 +
BBWidth < 0.025 → SQUEEZE (눌림목) : 모든 지표 대기, lonelyStreak 유예
그 외 → RANGING (횡보장) : BB, RSI, STOCH, MEAN_REVERT, SUPPORT_RES 활성화
→ SQUEEZE에서 혼자 신호를 못 내도 고독사하지 않음
(폭발 준비 중인 시장에서 기다리는 건 올바른 전략)
지표 팔레트 (10개 — 에이전트가 자율 선택)
지표
최적 국면
역할
EMA_CROSS
TRENDING
골든/데드크로스 — 추세 전환점
MACD
TRENDING
모멘텀 방향 확인
BOLLINGER
RANGING
밴드 이탈 후 평균회귀
RSI
RANGING
과매수/과매도 반전
STOCH
RANGING
스토캐스틱 반전 신호
MEAN_REVERT
RANGING
이동평균 이탈 후 회귀
SUPPORT_RES
RANGING
지지/저항 근접 반전
ATR_BREAK
SQUEEZE→TRENDING
변동성 압축 후 돌파 포착
VOLUME
범용
거래량 폭발 + OBV 추세
VWAP
범용
VWAP 기준 이탈
창립자 5마리(A~E)는 이 10개 지표 중 1~3개를 무작위로 선택해 시작합니다. 파라미터 범위도 매우 넓습니다 (예: RSI period 2~50, EMA trend 20~200). 어떤 조합이 생존할지는 시장이 결정합니다. 이것이 Conway 철학입니다.
생존 시스템
Conway 방식의 생존 메커니즘입니다. 에이전트는 매매 결과에 따라 크레딧이 오르내리며, 크레딧 수준에 따라 운용 강도가 자동 조절됩니다.
크레딧은 USDT 자금이 아니라 생존 점수(0~100)입니다. 실제 자금은 데모 잔액/포지션 비율로 별도 관리됩니다.
생존 단계
단계
크레딧
간격
에이전트
포지션 비율
THRIVING 번성
80+
15분
최대 6마리
10%
NORMAL 정상
60+
15분
최대 5마리
8%
REDUCED 축소
40+
30분
최대 3마리
5%
SURVIVAL 유지
20+
30분
최대 3마리
3%
CRITICAL 위기
10+
60분
1마리
2%
DYING 사망위기
0
중단
0마리
0%
사망 & 부활
마스터 에이전트 크레딧이 0이 되면 사망합니다. 60분 후 새 세대(Generation+1)로 크레딧 50을 가지고 부활합니다.
저크레딧 구간에서는 Recovery Mode가 자동 진입할 수 있습니다. 회복 구간에서는 진입 빈도/규모를 제한적으로 높이되, 신뢰도 컷오프를 같이 높여 품질이 낮은 진입은 차단합니다.
개별 DNA 에이전트도 각자 크레딧을 보유합니다. 에이전트 크레딧 0 → 해당 에이전트만 사망, Genome에서 제거됩니다.
DNA 진화 시스템
진정한 Conway 방식의 유전 알고리즘입니다. 수익을 내는 파라미터가 다음 세대로 전달되어, 세대가 거듭될수록 수익 전략이 자동 최적화됩니다.
DNA 구조
{
"id": "A2-abc123", // 고유 ID
"genes": [ // 지표 조합 DNA
{ "indicator": "EMA_CROSS", "weight": 0.62, "params": { "ema_fast": 9, "ema_slow": 21, "ema_trend": 50 } },
{ "indicator": "VWAP", "weight": 0.38, "params": { "vwap_threshold": 0.005 } }
],
"pairPreferences": { // 종목 선호 DNA
"volatilityMin": 0.01, "volatilityMax": 0.12, "volumeRank": 10, "maxPairs": 2, "preferredBar": "15m"
},
"generation": 2, // 세대
"parentId": "founder-A", // 부모 ID
"credits": 45.5, // 현재 크레딧
"lineage": "A" // 계보
}
복제 규칙
조건
결과
Conway BIRTH (동일 방향 합의 + 충분한 합의강도)
자식 에이전트 생성 (틱당 최대 1~2마리, FAST는 2)
에이전트 크레딧 ≥ 90
추가 복제 가능 (부모 크레딧 -20 차감)
에이전트 크레딧 = 0
사망, Genome에 멸종 상태로 보존 + extinctLog 기록
동시 생존 에이전트 ≥ 12마리
복제 보류 (과밀 방지)
돌연변이
복제 시 파라미터 1~2개가 ±15% 범위에서 무작위 변이됩니다. 각 전략의 파라미터 변이 범위:
전략
변이 파라미터
범위
MA교차
ema_fast, ema_slow, ema_trend
5~70
BB밴드
bb_period, bb_mult, rsi_ob, rsi_os
15~75
거래량
vol_ratio, obv_period, avg_period
1.8~30
RSI+MACD
rsi_ob, rsi_os, macd_fast, macd_slow
20~35
창립자 에이전트 (Seed)
시스템 시작 시 5마리의 창립자로 시작합니다. 각자 10개 지표 팔레트 중 1~3개를 무작위로 선택 (Conway 철학: 초기 다양성 극대화). 복제 단계에서는 Thompson Sampling + 약한 다양성 압력으로 모노컬처를 완화합니다:
founder-A: 랜덤 지표 조합 (1~3개) — 시장 풀에서 자율 종목 선택
founder-B: 랜덤 지표 조합 (1~3개) — 시장 풀에서 자율 종목 선택
founder-C: 랜덤 지표 조합 (1~3개) — 시장 풀에서 자율 종목 선택
founder-D: 랜덤 지표 조합 (1~3개) — 시장 풀에서 자율 종목 선택
founder-E: 랜덤 지표 조합 (1~3개) — 시장 풀에서 자율 종목 선택
→ 어떤 에이전트가 살아남을지는 시장이 결정 (설계자도 모름)
매매 전략
하드코딩된 전략은 없습니다. 각 에이전트가 자신의 DNA(genes 배열)에 따라 지표를 조합하고, Conway 합의 규칙이 주문 여부를 결정합니다.
매매 사이클 흐름 (동적 간격)
Step 1: 종목 자율 선택
OKX 전체 SWAP 풀(25개) → pairPreferences DNA 기반 1~2개 선택
(volatilityMin/Max, volumeRank 조건 필터링)
Step 2: 에이전트별 신호 계산 (주문 없음)
- ADX로 시장 국면 감지 (TRENDING / RANGING / SQUEEZE)
- genes 배열의 지표들 각각 계산 → LONG/SHORT/HOLD
- 가중치(weight) 적용 투표 → 최종 신호 + 신뢰도
Step 3: Conway 클러스터 분석
종목별로 같은 방향 신호를 낸 에이전트 수 + 신뢰도 합(confSum) 계산
→ count + confSum 복합 판정
→ GCA-lite: 상관관계 높은 종목의 동방향 신호는 confidence만 소폭 보정
Step 4: 주문 실행 조건 (3가지 모두 충족 시)
① conwayState == 'SURVIVAL' (화면 표기: 합의)
② confidence ≥ 기준치 (시장국면 + 학습/위험 모드 반영)
③ 해당 종목 해당 방향 기존 포지션 없음
Step 5: Conway 생존 판정
→ 이웃 없음 연속 임계 사이클(4h/8h/12h 모드) → 에이전트 사망
→ 이웃 과밀 연속 6사이클 → 에이전트 사망
→ SQUEEZE 국면 → lonelyStreak 유예
Step 6: BIRTH 처리
→ 합의 + 충분한 합의강도 → 새 에이전트 탄생 (DNA 돌연변이)
보조 상태:
HOLD 내부 상태는 VNLA-lite로 PASS/UNCERTAIN 분리 추적
Claude AI의 역할
Claude는 개별 매매를 결정하지 않습니다. 1시간마다 시장 환경 변수만 제공합니다:
Fear & Greed Index + 펀딩비율 → Claude 분석
→ { marketMood, fearGreedLevel, riskLevel, capitalScale }
capitalScale 적용:
HIGH 공포 → capitalScale: 0.5 (포지션 축소)
LOW 탐욕 → capitalScale: 1.2 (포지션 확장)
MEDIUM → capitalScale: 1.0
지표별 신호 로직 (국면 인식)
지표
국면
LONG 조건
SHORT 조건
EMA_CROSS
TRENDING
골든크로스 + 추세 확인
데드크로스 + 추세 확인
MACD
TRENDING
MACD선 > 시그널선 교차
MACD선 < 시그널선 교차
BOLLINGER
RANGING
BB 하단 + RSI 과매도 반등
BB 상단 + RSI 과매수 반전
RSI
RANGING
RSI < rsi_os 반등
RSI > rsi_ob 반전
STOCH
RANGING
%K < 20 → %D 교차
%K > 80 → %D 교차
MEAN_REVERT
RANGING
SMA 이탈 -threshold + RSI 낮음
SMA 이탈 +threshold + RSI 높음
SUPPORT_RES
RANGING
최근 저점 근처 (+threshold)
최근 고점 근처 (-threshold)
ATR_BREAK
SQUEEZE→TRENDING
가격 > 전고점 + ATR×mult
가격 < 전저점 - ATR×mult
VOLUME
범용
거래량 폭증 + OBV↑ + 가격>VWAP
거래량 폭증 + OBV↓ + 가격<VWAP
VWAP
범용
가격 > VWAP + threshold
가격 < VWAP - threshold
포지션 관리
항목
값
분할 진입
3회 분할 (건당 ~$33)
손절 (SL)
-5% 자동 청산
익절 (TP)
+10% 자동 청산
종목 선택
OKX SWAP 풀 상위 25개 → 에이전트 DNA 기반 자율 선택
방향 전환
반대 신호 발생 시 기존 포지션 청산 후 신규 진입
대시보드 사용법
상단 KPI 바
항목
설명
데모 잔액
OKX 데모 계정 실시간 USDT 잔액
마스터 크레딧
메인 에이전트 생명력 (0~100)
생존 에이전트
현재 살아있는 DNA 에이전트 수
총 P&L
누적 손익률
활성 포지션
현재 보유 중인 포지션 수
진화 세대
도달한 최고 세대 번호
탭 설명
탭
내용
🟢 생존 에이전트
현재 활성 DNA 에이전트 카드 (크레딧 바, DNA 파라미터, 돌연변이 이력)
💀 멸종 에이전트
사망한 에이전트 목록 + 사망 이유
🌳 진화 계보
계보(A~E)별 세대 트리 시각화
활성 포지션
OKX 데모 실시간 포지션 + 미실현 P&L
최근 거래
매매 내역 (종목, 방향, P&L, 에이전트)
시스템 로그
실시간 트레이더 로그
학습/위험 + 생태계 모드 토글
모드
의미
SAFE
진입 문턱 강화, 틱당 최대 1건 진입. 변동성/손실 리스크를 낮춤
BALANCED
기본 Conway 설정. 수익성과 안정성 균형
AGGRESSIVE
진입 문턱 완화, 틱당 최대 3건 진입. 학습/적응 속도↑, 손실 리스크↑
에이전트 카드 상태
상태
조건
시각 효과
THRIVING
크레딧 ≥ 80
초록 테두리 글로우
ACTIVE
크레딧 11~79
기본 스타일
DYING
크레딧 ≤ 10
빨간 테두리 깜박임
EXTINCT
사망
회색 + 취소선
WebSocket으로 상태 변경 시 즉시 반영되며, REST 폴링이 15초 간격으로 보강됩니다. Conway 틱은 15/30/60분 벽시계 경계 정렬로 스케줄되고, 외부 중복 트리거가 와도 single-flight 락으로 중복 실행을 방지합니다.
API 엔드포인트
모든 API는 로컬 전용(127.0.0.1)에서만 접근 가능합니다.
엔드포인트
설명
GET /api/status
마스터 에이전트 전체 상태
GET /api/genome
DNA Genome 전체 (생존+멸종)
GET /api/positions
현재 OKX 포지션
GET /api/trades
매매 내역 (?limit=100&lane=l0|l1|all, 기본 l0)
GET /api/reports/daily
일일 매매 리포트 (?date=YYYY-MM-DD&lane=l0|l1|all, KST, 기본 l0)
새 세션 빠른 복기: docs/SESSION_QUICKSTART.md (L0/L1 정의, 현재 운영 규칙, 점검 포인트 1페이지)
버전
날짜
주요 변경
v3.1.8
2026-03-26
운영 메모리 계층 추가 — ① `learning.db + genome + conway + 일일 리포트`를 묶은 explainability API(`brief / insights / timeline`) 추가. ② 기존 챗봇이 세대, 어제/오늘 거래 수, 승률 변화, 합의 상태, 위험 신호를 운영 digest 기준으로 답하도록 강화. ③ 챗 카드 상단에 `LIVE MEMORY BOT` 요약과 빠른 질문 버튼 추가.
v3.1.7
2026-03-16
보완 리시드 교착 버그 수정 — ① supplementReseedIfStagnant 가드 조건 alive.length > 1 → alive.length >= minTotal(5) 수정. alive=2일 때 리시드가 영구 차단되던 구조적 버그 해소, 2마리 교착에서 즉시 5마리 복구 작동. ② mutatePairPreferences: prefs가 null·배열·volatilityMin 누락일 때 createRandomPairPreferences() fallback 추가해 NaN 저장 원천 차단.
v3.1.6
2026-03-11
계보 학습 상속 보정 — ① 직계 부모 표본이 약해도 상위 조상까지 따라가며 우세 방향/국면 학습을 상속. ② 기존 생존 자손의 learningProfile도 재계산해 현재 세대부터 상속 상태가 genome/API에 즉시 반영. ③ /api/genome은 저장된 오래된 요약 대신 현재 살아있는 개체 기준으로 learningSummary를 계산해 표시.
v3.1.5
2026-03-11
운영 가시화 보정 — ① positions.json 저장 시점부터 agentId/participantAgents/tradeId를 포함해 포지션 귀속을 유지. ② L1 3틱 테스트는 BTC(BTC-USDT-SWAP) 고정으로 운용해 종목 전환 리셋 때문에 샘플이 0으로 남는 문제를 완화. ③ Genome 통계에 현재 살아있는 학습 상속 개체 수와 대표 방향/국면을 표시.
v3.1.4
2026-03-09
2마리 전멸 방지 — ① alive≤2면 무거래 누적을 기다리지 않고 즉시 보완 리시드로 5마리까지 복구. ② 같은 틱에서 마지막 1마리까지 동시에 떨어지는 고독사는 사망 유예로 한 번 막아 생태 최소치를 보존. ③ 합의 규칙은 그대로 두고 저개체수 복구 타이밍만 앞당김.
v3.1.3
2026-03-09
자손 학습 상속 — ① 부모의 종료 거래를 읽어 방향/국면별 우세 성과를 learningProfile로 요약해 자손 초기값에 전달. ② 검증된 부모일수록 자손 초기 credits와 capitalPct를 소폭 보정. ③ 거래 합의는 그대로 유지하고 자손 자신의 방향/국면 일치 신호 confidence만 미세 가산. ④ 자손 카드에 상속된 학습 요약을 한 줄로 표시.
v3.1.2
2026-03-08
구조 단순화/복구 보정 — ① 최근 추가했던 부모-자식 합의 보정은 제거하고 Conway 거래 합의는 다시 순수 count/confSum 기준으로 유지. ② 생존 L0가 1마리면 다음 실행 틱에 즉시 보완 리시드, 2마리면 무거래 누적 시 더 빠르게 생태 복구. ③ 진화 계보는 이름 중심의 단순 칩 표시로 되돌리고 `현재 Gx / 최고 Gy`를 분리 표기. ④ L1 독립 테스트는 `실행중/샘플 대기`를 함께 표시. ⑤ OKX 51155 주문 실패 종목은 런타임 차단 목록에 저장해 이후 종목 풀에서 제외.
v3.1.1
2026-03-08
표시/계보 동기화 보정 — ① 최근 거래·활성 포지션·오피스가 서버가 내려준 동일한 displayId를 사용하도록 통일. ② 일반 출산 시 부모 children가 2회 증가하던 중복 카운트 버그 수정. ③ 현재 상태 파일도 실제 출산 이력 기준으로 보정.
v3.1.0
2026-03-08
계보 보존/저개체수 수선 — ① 새 개체부터 직관적 displayId(예: A-F1, B-R1, B-G2-01) 부여. ② 자손 탄생 이력을 별도 기록하고 부모 children 누적을 출산 경로 전체에서 보장. ③ 저개체수(alive≤2)에서는 번식 문턱을 현재 confidence 스케일에 맞춰 추가 완화. ④ 우수 개체가 고독사 직전이면 1회 계보 보존 출산을 허용. ⑤ /api/status에 실제 positions 배열을 포함해 activePositions와 같은 기준으로 노출
v3.0.5
2026-03-08
표기 정리 + 시드 정합성 마감 — ① 운영단계/합의단계/출산단계 이름을 짧게 정리(유지/합의/출산준비 중심). ② 에이전트 카드에 출신(창립/리시드/자손) 표기 추가. ③ /api/status가 raw 잔액/표시 시드/단계/모드를 최상단 필드로 함께 반환하도록 보강. ④ 도움말과 README의 낡은 confSum>=1.2 고정 문구를 현재 동적 출산 기준 설명으로 교체
v3.0.4
2026-03-08
진화/시드/L1 정합성 보정 — ① L1 3틱 섀도우가 글로벌 앵커 제거 후 BTC fallback에 고정되던 경로를 시장풀 기반 자율 종목 선택으로 교체. ② 마스터 패널 L1 영역을 3틱 성과와 반대의견 효과로 분리해 실제 shadowThreeTickL1/l1Stage를 표기. ③ OKX raw 데모 잔액을 balance/demoBalance에 동일 의미로 저장하고 displayBalance를 별도 분리. ④ 출산 조건을 현재 글로벌 합의 confidence 스케일에 맞춰 현실화하고 실제 자손에 origin: CHILD 메타/부모 children 카운트 반영
v3.0.3
2026-03-01
야간 안정화 패치 — ① L1 3틱 섀도우 null 상태 가드(initTickCycle) 추가로 reading 'phase' 반복 에러 차단. ② 5분 분석↔30분 실행 간 신호 소실 완화를 위해 SURVIVAL 합의 스냅샷 캐시 도입(실행 틱 재사용). ③ 저크레딧(≤35) 구간에서 Recovery Mode가 lossStreak만으로 즉시 OFF되지 않도록 보호 로직 보강. ④ 활성포지션/최근거래의 참여 에이전트 표시를 다중 참여자 전체 ID로 표준화
v3.0.2
2026-03-01
오피스 뷰 동기화 보정 — v3 글로벌 합의(consensus) 기반 회의실/신호 표시로 전환, ENTERING/실포지션 참여자 기준 WORKSPACE 표시 추가, positions API 연동 및 5초 주기 상태 갱신 적용으로 “진입했는데 홀딩 표시” 불일치 완화
v3.0.1
2026-03-01
첫 체결 교착 해소 — ① 소집단(alive≤3) confSum 임계 0.80→0.55 완화(count≥2 인원 조건 유지). ② createFounders() RSI/EMA_CROSS/ATR_BREAK 지정 창립자 3마리(다양성 보장). ③ lonelyShield 최소 거래수 8→3 완화(초기 체결 후 조기 방패). ④ 다양성 에이전트 2마리 즉시 주입(alive 4→6마리)
v3.0.0
2026-03-01
글로벌 합의 엔진 도입 — 에이전트별 1인 1표(최고 신뢰도 신호 채택), 종목 무관 LONG/SHORT/HOLD 글로벌 투표로 합의. 앵커 강제 배정 완전 제거(pairPreferences DNA만으로 종목 결정). lonelyStreak 기준 종목별→글로벌 참여 여부로 변경. 위기 시 생존 본능(탐색 범위 자동 확대) 추가. DNA 진화(pairPreferences+genes)의 자연 선택압 활성화
v2.2.1
2026-02-28
OKX 51155 컴플라이언스 제한 종목 사전 차단 필터 추가 (PEPE/SHIB/FLOKI-USDT-SWAP), market-pool.js 3개소(fetchTopInstruments·getOrRefreshMarketPool·getFallbackPool) 적용, 환경변수 CONWAY_BLOCKED_INSTRUMENTS로 추가 차단 확장 지원
v2.2.0
2026-02-28
L0 고착 탈피용 Stagnation Mode 추가(조건부 단계 완화), 합의 minConfSum 파라미터화(기본 0.80 유지), 공통 앵커 1→2~3 동적 확장(고착 시만), 자동 복귀형 안전가드 반영
v2.1.0
2026-02-28
5분 분석 루프 + 15분 실행 루프 분리, vote-cache 기반 틱 사이 투표 갱신 반영, 에이전트 카드/오피스에 모드(FOLLOW/OVERRIDE) 표시
v2.0.3
2026-02-28
L1 테스트 에이전트 수익을 USDT 금액으로 표기, 레거시 로그 집계 호환 정비, 최근 거래 시간에 날짜(YYYY-MM-DD) 포함 및 컬럼 폭 확장
v2.0.2
2026-02-28
반대의견을 이유있는 반대(reasoned dissent)로 한정: 최소 신뢰도/상대강도 통과 신호만 L0 보정과 재검토 루프에 반영
v2.0.1
2026-02-28
L1 반대의견을 L0 실행단계에 제한 반영(샘플 충분 시 진입 컷오프 강화 + 포지션 사이즈 축소), 샘플 부족 시 기존 동작 유지
v2.0.0
2026-02-28
Conway 합의 기본 모드를 2단계(진입합의→방향결정)로 전환, 반대표는 dissent 메타로 분리 기록, L1 반대의견+3틱 통합 `l1-stage` 스냅샷 추가, Master 카드 L1 지표를 데이터 신뢰도/통합 순효과로 개편
v1.4.6
2026-02-27
저크레딧 구간 Recovery Mode 도입(조건부 ON/OFF), 회복 중 진입 품질 컷오프 강화, Master 카드에 틱 간격/다음 틱(KST)/회복모드 표시, Agent Office 픽셀 캐릭터 애니메이션 뷰(🏢) 운영 반영
v1.4.5
2026-02-27
L0/L1 매매 데이터 경계 분리(API lane 기본값 l0), L1 3틱 테스트 거래 파일 분리(trades-test.json), wisdom/에이전트 성과 집계에서 L1 제외
v1.4.4
2026-02-27
앵커 선택 버그 수정(변동성→거래량 기준·BTC 우선), allClustersEmpty 보호 강화(빈 클러스터 포함), SURVIVAL 에이전트 2→3마리, lonelyDeathCycles 틱 기준 동적 보정, SURVIVAL 틱 60→30분
v1.4.3
2026-02-26
도움말 버전 가시화, SURVIVAL/BIRTH/멸종 정책 문구 동기화, 중복 founder ID 스냅샷 분기 보강