내 컴퓨터 한 대에서 잘 돌던 것이, 여러 대에 나눠 돌리는 순간 갑자기 어려워진다. 여기서 돌던 것은 하네스(harness, AI에게 코딩 작업을 시키고 "제대로 했는지"까지 감시하는 장치)다. 이 글은 그 난이도가 어디서 오는지를 상태 조합, 고장 대응, 장터 계층, 복잡도 배수의 네 갈래로 뜯어본다. 결과부터 말하면 이렇다. 컴퓨터끼리 네트워크로 신호를 주고받아야 하는 순간, 관리할 계층(레이어)이 7개나 늘어난다. 작업 하나는 대기, 배정, 접수 확인, 진행, 완료를 차례로 거치고, 거절되면 다른 일꾼에게 다시 배정되며, 시간이 넘으면 대기열로 되돌아간다. 이렇게 작업이 가질 수 있는 상태가 7가지다. 일꾼(워커, 작업을 받아서 실행하는 AI 프로세스)도 승인 대기, 승인, 접속 중, 응답 없음, 접속 끊김, 권한 해제의 6가지 상태를 가진다. 둘을 곱한 42가지 경우를 모두 챙겨야 하고, 고장 나는 방식도 5가지로 갈린다. 여기에 "남의 AI 일꾼을 사고파는 장터(마켓플레이스)"까지 얹으면, 클라우드 서버(AWS)·차량 호출(우버)·중고 거래(이베이)를 한꺼번에 만드는 것과 비슷해진다.
QUEUED→
ASSIGNED→
ACK→
IN_PROGRESS→
COMPLETED
REJECTED→
REASSIGNED
↓
TIMEOUT→
REQUEUED
PENDING_APPROVAL→
APPROVED→
ONLINE↔
STALE→
OFFLINE
REVOKED
| 고장 상황 | 개인 하네스 (한 대) | 분산 하네스 (여러 대) |
|---|---|---|
| 프로그램이 갑자기 죽음 | 그냥 다시 실행 | "살아 있음" 신호(하트비트)가 끊김 → 죽은 것으로 표시 → 다른 일꾼에게 다시 배정 |
| 작업 도중 만든 결과가 사라짐 | 내 컴퓨터에 있는 파일로 복구 | 작업마다 붙인 고유 번호로 다시 시도 → 같은 결과가 겹치면 하나로 정리 |
| 그 일꾼이 처리할 능력이 없음 | 바로 오류로 끝남 | 일꾼이 작업을 거절 → 할 수 있는 다른 일꾼을 찾음 → 그쪽에 다시 맡김 |
| 일부만 실패함 | 처음부터 전부 다시 | "즉시 중단" / "되는 만큼만 진행" / "몇 번 재시도 후 포기" 중에서 상황에 맞게 고름 |
| 중앙 서버(호스트)가 멈춤 | N/A | 일꾼이 결과를 자기 컴퓨터에 쌓아 둠 → 서버가 돌아오면 한꺼번에 올림 → 작업 기록까지 되살림 |
PCI-DSS, DPA| 관리 항목 | 한 대로 돌릴 때 | 여러 대로 나누면 더 필요한 것 | 복잡도 배수 |
|---|---|---|---|
| 신뢰 (서로 믿을 수 있나) | 그냥 믿고 씀 | 전자서명·암호화 통신으로 신원 확인, 위조와 재전송 차단 | ×5 |
| 가입 (일꾼 등록) | 바로 등록 | 승인 절차를 거치고, 상태를 단계별로 관리 | ×3 |
| 통신 (주고받기) | 같은 프로그램 안에서 바로 호출. 여러 대로 나누면 오른쪽 칸의 두 기술, 즉 암호화한 실시간 연결과 정해진 형식의 원격 호출이 필요하다 | WebSocket TLS + JSON-RPC | ×4 |
| 장애 (고장) | 프로그램 하나만 챙기면 됨 | 네트워크가 끊겨 갈라지는 상황, "살아 있음" 신호 관리 | ×6 |
| 능력 (무엇을 할 수 있나) | 고정돼 있음 | 각 일꾼의 능력 목록을 실시간으로 받아 배정 | ×3 |
| 결과 검증 | 내 컴퓨터에서 품질 검사 | 형식 검사 + 전자서명 + 여러 번 교차 확인 | ×3 |
| 관찰성 (무슨 일이 벌어지는지 보기) | 내 컴퓨터 기록만 보면 됨 | 감사 기록 + 수치 지표 + 요청 추적을 모아서 봄 | ×3 |