이 퀘스트는 누구 거야
이 퀘스트에서 진짜로 뭘 얻어 가는 독자는 두 부류야. 하나는 이미 소프트웨어를 만들고 운영하는 사람. 비서실장 비서가 어떻게 짜여 있는지, 실패까지 포함해서 보고 싶은 사람이지. 다른 하나는 아직 소프트웨어를 안 만드는 사람. 이런 비서가 마법처럼 돌아갈 때 자기가 뭘 보고 있는 건지 알고 싶은 사람. 두 번째라면, 이 퀘스트는 아직 운전 못 하는 도시의 지도야. 지도 읽을 이유로는 충분해. 주말이면 운전하고 있을 거라고 믿을 이유는 안 되고.
준비물, 에누리 없이
다음 여섯 트랙이 그리는 걸 작게라도 만들려면, 아래 일들을 이미 할 줄 알아야 해. 모델한테 대신 시키는 거 말고, 혼자서.
- 데이터베이스 달린 웹 서비스를 만들고 운영하기. HTTP API, 스키마, 트랜잭션, 마이그레이션, 데이터 안 잃고 재시작되는 서버. Python Quest, SQLite Quest, HTTP & REST Quest.
- 남이 짠 코드를 읽고 디버깅하기. 10분 전에 모델이 짠 코드까지 포함해서. 코드 대부분을 모델이 쓰면 넌 그 코드의 리뷰어가 돼. 코드를 못 읽는 리뷰어는 뭐든 통과시켜.
- 오래 사는 프로세스 돌리기. 재시작과 크래시를 견디는 서비스, 백그라운드 작업, 우아한 종료, 밤에 뭐가 터졌을 때 진짜로 읽히는 로그. Terminal Quest.
- 인증과 비밀 다루기. 누가 들어올지 정하고, 토큰을 저장소와 로그에서 떼어 놓고, 키가 새면 무슨 일이 생기는지 알기. Solo Auth Quest.
- 폰에 내보내기. 빌드하고, 서명하고, TestFlight로 배포하고, 폰이 백그라운드에서 앱한테 하는 짓을 감당하기. Swift Quest.
- 버전 관리를 습관으로. 백업 말고 습관. 이 퀘스트는 곳곳에서 커밋을 인용해. 이런 시스템은 그 이력으로 이해하는 거니까. Git Quest.
- 컨텍스트 창 이해하기. 모델이 얼마나 담는지, 값이 얼마인지, 뭐가 흐트러지는지. Context Window Quest.
이 중 여러 개가 처음 보는 거라도, 그게 너에 대한 판결은 아냐. 뭐가 먼저 오는지 정직하게 적은 목록일 뿐이야.
주말 말고 몇 달
Master Chief 밑의 엔진은 여섯 달 동안 매일 지어졌어. 짓는 사람은 소프트웨어를 30년 만든 사람이었고, 옆에는 코드를 쓰고 리뷰하고 고치는 AI 세션 가족이 붙어 있었어. Master Chief 자체는 커밋 하나로 들어왔고, 처음 하루를 꼬박 돈 날 리뷰 지적 열세 건이 나왔어. 초보라면 기초에만 몇 달을 잡아. 그리고 뭘 만들든 첫 버전은 아직 안 보이는 방식으로 틀려 있을 거라고 잡아 둬.
모델이 해 줄 수 있는 것, 없는 것
모델은 엄청난 가속기야. 코드를 빨리 쓰고, 낯선 코드를 풀어 주고, 테스트 초안을 잡고, 뭘 찾아보라고 콕 집어 주면 리뷰도 잘해. Master Chief도 부품마다 타이핑의 상당 부분은 모델이 했어.
못 하는 건 이거야. 네가 물어볼 줄 모르는 걸 대신 알아내는 것. 대화가 영원히 자라니까 묶어 둬야 한다고 모델이 정하진 않아. 누군가 "끝없이 자라는 게 뭐지?"를 물어야 해. 스레드는 읽기만 해선 안 이어지고 보낼 때만 이어져야 한다고 모델이 정하지도 않아. 그건 아빠가 내린 판정이었어. 반대 규칙 때문에 옛 스레드가 엉뚱한 기록을 보여준다는 걸 리뷰가 찾아낸 뒤였지. 모델은 못 본 걸 눈치채지 못해. 그리고 밤에 뭐가 터지면 결과를 책임지지도 않아. 모델은 이미 아는 사람을 빠르게 해 줘. 아는 걸 대신해 주진 않아.
여기서 어디로
트랙 7은 혼자 내디딜 수 있는 작은 첫걸음으로 이 퀘스트를 끝내. 대화 파일 하나, 문 규칙 하나, 할 일 하나와 보고 하나. 전부 진짜 메커니즘을 본뜬 장난감이라고 이름표를 달았어. 진짜라고는 절대 안 해. 이 퀘스트 주변엔 엔진의 전체 설계를 다루는 Pippa Quest, 위임 엔진을 깊이 파는 Coop Quest, 기억 엔진을 다루는 Vestige Quest가 있어. 그리고 대부분은 위에 적은 기초 퀘스트에서 시작하는 게 맞아.