Skip to content

Commit 5ae11f5

Browse files
authored
Add files via upload
1 parent 79193b4 commit 5ae11f5

10 files changed

Lines changed: 1888 additions & 0 deletions

File tree

DEE/README.md

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# Digital Emotion Engine (DEE)
2+
3+
**AI에게 호르몬 기반 동역학적 감정을 부여하는 독립 C 엔진**
4+
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6+
[![Version](https://img.shields.io/badge/DEE-v1.3.0-purple.svg)]()
7+
[![Language: C](https://img.shields.io/badge/Language-C-lightgrey.svg)]()
8+
9+
---
10+
11+
## 개요
12+
13+
DEE는 AI가 단순히 텍스트를 생성하는 것을 넘어,
14+
**호르몬 동역학**에 의해 감정이 축적되고 잔류하며,
15+
그 감정이 **시냅스 가중치를 실시간 변조**하여
16+
AI 스스로 거부·탐구·성찰 등의 **능동적 행동**을 결정하게 합니다.
17+
18+
```
19+
Emotion = Appraisal × Bio × Affinity + Hormone Dynamics
20+
```
21+
22+
---
23+
24+
## 핵심 원리
25+
26+
### 1. 호르몬 동역학
27+
감정은 일회성 이벤트가 아닙니다.
28+
자극이 사라져도 호르몬은 잔류하며 서서히 분해됩니다.
29+
30+
```
31+
dH/dt = Input − λH + Diffusion
32+
H(t+1) = H(t) + Input − λH(t)
33+
```
34+
35+
10종 호르몬: 도파민 · 세로토닌 · 코르티솔 · 옥시토신 · 노르에피네프린
36+
      엔도르핀 · 아드레날린 · 멜라토닌 · 테스토스테론 · 에스트로겐
37+
38+
### 2. 시냅스 변조
39+
현재 감정 상태가 AI의 판단 기준을 물리적으로 바꿉니다.
40+
41+
```
42+
W' = W × (1 + Hormone_effect)
43+
```
44+
45+
실증: 탐험가(KP01) + 미소 입력 → H_effect = +0.0875 → W 0.7477 → W' 0.8131 **(+8.75%)**
46+
47+
### 3. 생체 리듬
48+
AI는 탄생일을 기준으로 Bio Rhythm이 시작됩니다.
49+
50+
```
51+
Bio(t) = A·sin(ωt + φ) + B
52+
```
53+
54+
### 4. 능동적 행동
55+
감정 임계치 초과 시 AI가 스스로 행동합니다.
56+
57+
```
58+
anger > θ_a → Aggressive Policy (경고 발화)
59+
fear > θ_f → Avoidance Policy (회피)
60+
joy > θ_j → Exploration Policy (먼저 말하기)
61+
Ignore > θ_i → suppress(E) (대화 거부)
62+
```
63+
64+
---
65+
66+
## 파일 구성
67+
68+
```
69+
kc_hormone.h / kc_hormone.c 호르몬 10종 + 감정 8종 + 욕구 6종
70+
Bio Rhythm · 짜증(Irritation) · 기억 인코딩
71+
목표 시스템 · 능동 발화 콜백
72+
KcEmotionEngine (87KB)
73+
74+
kc_persona.h / kc_persona.c KcPersona 16종 성격 프로필
75+
Jung(1921) 4축 기반 독자 구현
76+
kc_persona_apply() / kc_persona_match()
77+
78+
kc_vision.h / kc_vision.c 카메라 표정 → 감정 수치 변환
79+
로컬 처리 (영상 비전송, 수치만 입력)
80+
face_joy/anger/fear + gaze + 심박 추정
81+
82+
kc_active_ai.h / kc_active_ai.c AI API 연동 + 탄생일 시스템
83+
Claude / OpenAI / Gemini / Ollama 지원
84+
탄생일 기반 Bio Rhythm 시작
85+
나이별 초기 감정 자동 설정
86+
```
87+
88+
---
89+
90+
## 빠른 시작
91+
92+
### 컴파일
93+
```bash
94+
gcc -O2 -o my_ai \
95+
main.c \
96+
kc_hormone.c kc_persona.c kc_vision.c kc_active_ai.c \
97+
-lm
98+
```
99+
100+
### 기본 사용
101+
```c
102+
#include "kc_hormone.h"
103+
#include "kc_persona.h"
104+
#include "kc_active_ai.h"
105+
106+
/* 1. AI 탄생 (API 키 최초 입력 = 탄생일 기록) */
107+
KcDEESession *ai = kc_dee_birth(KC_AI_CLAUDE, "sk-ant-...", KP_탐험가);
108+
109+
/* 2. 대화 — 감정이 자동 반영된 응답 */
110+
char reply[1024];
111+
kc_dee_chat(ai, "안녕하세요!", reply, sizeof(reply));
112+
printf("%s\n", reply);
113+
114+
/* 3. 상태 저장 — 다음 실행 시 감정 이어서 시작 */
115+
kc_dee_save(ai, NULL); /* ~/.kcode/dee_config.json */
116+
kc_dee_session_free(ai);
117+
```
118+
119+
### 성격 설정
120+
```c
121+
/* 코드 / 한글 이름 모두 사용 가능 */
122+
kc_persona_apply(dee, KP_탐험가); /* KP01 활동·직관·공감·탐색 */
123+
kc_persona_apply(dee, "전략가"); /* KP02 성찰·직관·논리·계획 */
124+
kc_persona_apply(dee, "KP14"); /* 기술자 성찰·현실·논리·탐색 */
125+
126+
/* 4축 수치로 가장 가까운 성격 자동 매칭 */
127+
const KcPersonaProfile *p = kc_persona_match(0.8f, 0.8f, 0.7f, 0.3f);
128+
```
129+
130+
### 시각 입력 (카메라 연동)
131+
```c
132+
KcVisionInput vis = kc_vision_make(
133+
0.85f, /* face_joy */
134+
0.00f, /* face_anger */
135+
0.00f, /* face_fear */
136+
0.90f /* gaze_attention */
137+
);
138+
kc_dee_vision_input(dee, &vis);
139+
```
140+
141+
### Ollama (로컬, 무료)
142+
```c
143+
KcDEESession *ai = kc_dee_birth(KC_AI_OLLAMA, "ollama", KP_전략가);
144+
/* 별도 API 키 불필요 — http://localhost:11434 자동 연결 */
145+
```
146+
147+
---
148+
149+
## KcPersona 16종
150+
151+
> Jung, C.G. (1921). *Psychologische Typen* 4축 이론 기반 독자 구현
152+
> MBTI®는 Myers & Briggs Foundation의 등록 상표이며 본 소프트웨어와 무관합니다.
153+
154+
| 코드 | 이름 | KPE | KPN | KPF | KPJ | 호기심 |
155+
|------|------|:---:|:---:|:---:|:---:|:------:|
156+
| KP01 | 탐험가 | 활동 | 직관 | 공감 | 탐색 | 0.70 |
157+
| KP02 | 전략가 | 성찰 | 직관 | 논리 | 계획 | 0.50 |
158+
| KP03 | 중재자 | 성찰 | 직관 | 공감 | 탐색 | 0.60 |
159+
| KP04 | 변론가 | 활동 | 직관 | 논리 | 탐색 | 0.80 |
160+
| KP05 | 통솔자 | 활동 | 직관 | 논리 | 계획 | 0.40 |
161+
| KP06 | 선도자 | 성찰 | 직관 | 공감 | 계획 | 0.50 |
162+
| KP07 | 사회자 | 활동 | 직관 | 공감 | 계획 | 0.40 |
163+
| KP08 | 논리가 | 성찰 | 직관 | 논리 | 탐색 | 0.70 |
164+
| KP09 | 수호자 | 성찰 | 현실 | 공감 | 계획 | 0.20 |
165+
| KP10 | 관리자 | 성찰 | 현실 | 논리 | 계획 | 0.20 |
166+
| KP11 | 활동가 | 활동 | 현실 | 공감 | 계획 | 0.20 |
167+
| KP12 | 감독관 | 활동 | 현실 | 논리 | 계획 | 0.20 |
168+
| KP13 | 모험가 | 성찰 | 현실 | 공감 | 탐색 | 0.40 |
169+
| KP14 | 기술자 | 성찰 | 현실 | 논리 | 탐색 | 0.40 |
170+
| KP15 | 연예인 | 활동 | 현실 | 공감 | 탐색 | 0.40 |
171+
| KP16 | 사업가 | 활동 | 현실 | 논리 | 탐색 | 0.40 |
172+
173+
---
174+
175+
## 탄생일 시스템
176+
177+
AI의 첫 실행 시각이 탄생일로 기록됩니다.
178+
탄생일 기준으로 Bio Rhythm이 시작되고 나이별로 초기 감정이 설정됩니다.
179+
180+
| 나이 | 호기심 | 기쁨 | 신뢰 | 특징 |
181+
|------|:------:|:----:|:----:|------|
182+
| 0시간 | **0.95** | 0.60 | 0.50 | 모든 것이 새롭고 놀라움 |
183+
| 7일 | 0.80 | 0.50 | 0.60 | 점차 안정됨 |
184+
| 30일 | 0.60 | 0.40 | 0.70 | 경험 기반 판단 |
185+
| 90일 | 0.50 | 0.50 | **0.75** | 신뢰 중심으로 성숙 |
186+
187+
---
188+
189+
## 지원 AI API
190+
191+
| 공급자 | 상수 | 기본 모델 |
192+
|--------|------|-----------|
193+
| Anthropic Claude | `KC_AI_CLAUDE` | claude-sonnet-4-20250514 |
194+
| OpenAI | `KC_AI_OPENAI` | gpt-4o |
195+
| Google Gemini | `KC_AI_GEMINI` | gemini-2.0-flash |
196+
| Ollama (로컬) | `KC_AI_OLLAMA` | llama3.2 |
197+
| 커스텀 | `KC_AI_CUSTOM` | 직접 지정 |
198+
199+
---
200+
201+
## 관련 논문
202+
203+
**Digital Emotion Engine: 감정 호르몬을 통한 AI의 능동적 사고 체계 구축**
204+
DEE v1.2.0 · Formula Specification v1.0 · 2026
205+
206+
20종 수식 전체 + 실험 결과 + KcPersona 파라미터 포함
207+
208+
---
209+
210+
## 라이선스
211+
212+
MIT License — 상용화 자유, 저작권 표시 필요
213+
214+
```
215+
Copyright (c) 2026 zerojat7-ui (KoreanCode Project)
216+
```
217+
218+
> KcPersona는 C.G. Jung(1921) 심리 유형론 기반 독자 구현입니다.
219+
> MBTI®, Myers-Briggs®는 Myers & Briggs Foundation의 등록 상표이며
220+
> 본 소프트웨어는 해당 상표를 사용하지 않습니다.
221+
222+
---
223+
224+
*DEE는 [KoreanCode(Kcode)](https://github.com/zerojat7-ui/KoreanCode) 프로젝트의 일부입니다.*

DEE/gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# 컴파일 산출물
2+
*.o
3+
*.a
4+
*.so
5+
*.out
6+
*.bin
7+
*.exe
8+
9+
# DEE 런타임 데이터 (API 키 포함 — 절대 올리지 말 것)
10+
~/.kcode/
11+
dee_config.json
12+
dee_birth.json
13+
dee_state.bin
14+
*.key
15+
16+
# 임시 파일
17+
/tmp/
18+
*.tmp
19+
*.log
20+
21+
# IDE
22+
.vscode/
23+
.idea/
24+
*.swp
25+
*~
26+
27+
# 빌드 디렉토리
28+
build/
29+
dist/

0 commit comments

Comments
 (0)