# 기계터키인 ## 기계 튀르크란? 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]] 프로젝트 문서 참조