# 기계터키인
## 기계 튀르크란?
18세기에 체스를 두는 기계 "터키인(The Turk)"이 있었습니다.
사람들은 기계가 스스로 체스를 둔다고 믿었지만, 사실은 **안에 사람이 숨어서** 체스를 두고 있었습니다.
AI Turk는 같은 원리입니다. 기계 안에 숨은 건 사람이 아니라 **인공지능(LLM)**입니다.
## 핵심 아이디어
사용자는 인공지능과 직접 대화하지 않습니다.
사용자는 **빈 기계(버튼 그리드)**를 조작하고, 인공지능도 같은 빈 기계를 조작합니다.
```
사용자 → 버튼 클릭 → 빈 기계 → 인공지능이 추론 → 새 버튼 그리드 → 사용자
```
기존 프로그램은 로직을 코드로 짰다면, AI Turk는 **빈 기계만 남기고 판단을 LLM 추론으로 대체**합니다.
## 빈 기계
"빈 기계"는 **채워지지 않습니다.** 인공지능이 기계를 채우는 게 아니라, **조작**합니다.
- 버튼은 미리 정해져 있지 않음 — LLM이 매번 새로 생성
- 동작은 고정되어 있지 않음 — LLM이 문맥에 따라 결정
- 사용자는 버튼을 누르기만 하면 됨 — 복잡한 명령 불필요
## 실행 루프
```
입력(input) → 추론(eval) → 응답(feedback)
```
- **입력**: 사용자가 버튼을 누르거나 명령 입력 → 빈 기계가 LLM에 전달
- **추론**: LLM이 다음 버튼 그리드를 생성
- **응답**: 새 버튼 그리드가 화면에 표시 → 사용자가 다시 조작
## 실제 구현
이 아이디어는 **AI Turk** 프로젝트로 구현되었습니다.
- React + Vite + TypeScript 프론트엔드
- `pi --mode rpc` 영구 백엔드 (세션 유지, 도구 사용, 스트리밍)
- WebSocket으로 실시간 통신
- HMR로 에이전트가 **스스로 코드를 수정**하며 개선
→ [[ai-turk]] 프로젝트 문서 참조