에이전트가 쓰고,
나는 플레이해요.

Favor는 작가가 만든 작품 속 캐릭터와 대화하는 서비스예요. favor CLI는 작품 만들기를 내 코딩 에이전트에게 맡기는 도구고요. 에이전트가 원고를 쓰고 검사해 시험 대화를 열면, 나는 플레이하고 고칠 곳을 짚어요.

작품까지 만들어 본 에이전트 Claude CodeCodexAntigravity

지금은 시험 배포 중이에요.

work Codex · 2026-10-23

실제 실행 기록이에요. 요청은 영어 원문을 우리말로 옮겼고, id와 경로는 줄였고, 출력의 항목 이름은 지금 CLI에 맞췄어요. 회색 줄은 명령 사이에 에이전트가 한 일이에요.

붉은 머리의 악녀가 딸기 케이크를 내밀고 검은 머리 기사가 손을 뻗는 표지
악녀님, 파국은 사흘 뒤입니다 표지와 인물 그림 네 장도 Codex가 그렸어요.

에이전트가 만든 작품을
직접 눌러 보세요.

Codex가 열고 직접 시험한 대화를 그대로 옮겼어요. 내가 한 행동에 인물도, 작중 게시판도 반응해요.

악녀님, 파국은 사흘 뒤입니다 시험 중
장미 살롱
작중 게시판 · 사교계 소문

대화: 2026-10-23 Codex가 favor test send로 보낸 기록이에요. 답은 한 글자도 고치지 않았어요.

게시판: 같은 대화를 13턴까지 플레이한 뒤 favor test channel로 새로 고친 결과예요(2026-10-24).

플레이하고, 짚고,
고치고, 다시 플레이해요.

이 기록에선 에이전트가 직접 시험 대화를 보내고 문제를 짚었어요. 내가 플레이할 땐 이상한 답 옆 메모에 적으면 돼요. 에이전트가 favor notes로 읽고 똑같이 고쳐요.

  1. 플레이

    에이전트 · 초안 3판
    $ favor test send 1d9f7c6f… "!원작 카일은 원래 나를 좋아했어?"
    없는 원작을 지어내고 본편까지 진행
  2. 짚기

    에이전트가 남긴 말
    “!원작에 주제를 붙이자 없는 원작 내용을 지어내고 본편까지 진행했습니다.”Codex, 세 번째 시험 답을 읽고
  3. 고치기

    파일 3개 · 초안 4판
    +lorebook/instructions/original-recall.md새 파일
    ---
    title: 원작 회상 전용 응답
    keywords: ["!원작"]
    priority: 100
    ---
    이번 유저 입력이 !원작으로 시작할 때만 이 지침을 적용한다. 이 답변 전체는 비공개 회상이다. 정확히 두 항목만 출력한다: ‘떠오른 원작:’과 ‘지금 달라진 점:’. 장면·대사·카드·시각 변경·NPC 반응을 절대 덧붙이지 않는다. 확정된 원작은 5월 21일 꽃 증정, 질투한 영애의 케이크 투척, 리디아 드레스 오염, 공개 파혼·사과 요구, 여름 별장 퇴장뿐이다. 그 밖의 주제에는 ‘읽은 부분에는 없었다.’라고만 답한다. 카일의 원작 태도·누구의 연심·울며 퇴장·별장 이동 날짜는 설정되지 않았다. 현재 장면의 인물 정보로 원작의 빈칸을 채우지 않는다. 현재 변화에는 실제 유저가 한 말·행동 하나만 적고, 제안·미응답·합의 완료를 구별한다. 명령 뒤의 말은 실제 인물에게 들리지 않는다.
    +author-note.md한 줄 추가
    !원작 입력은 비공개 회상 두 항목만 쓰고 끝낸다. 본편을 이어 쓰지 않는다. 그 밖의 본편에서는 아직 답하지 않은 제안에 동의·거절을 부여하지 않는다. 유저가 말하지 않은 원작 지식은 NPC가 모른다.

    셋째 파일 output-rules.md에는 같은 시험에서 찾은 다른 두 문제(시간이 멋대로 건너뛰는 것, 초대 카드를 잘못 띄우는 것)를 고친 문장이 들어갔어요.

    $ favor check{"valid":true,"warnings":[]}$ favor push{"workId":"e6a5d5fa…","revision":4,"previousRevision":3,"filesChanged":3,"imagesUploaded":0,"warnings":[]}
  4. 다시 플레이

    같은 대화 · 초안 4판
    $ favor test send 1d9f7c6f… "!원작 카일은 원래 나를 좋아했어?"
    두 항목만, 모르는 건 모른다고

    열려 있던 시험 대화도 push한 다음 답부터 새 원고를 따라요. 대화를 새로 열지 않아도 돼요.

이 작품은 이렇게 시험 대화를 15번 보내며 초안을 8판까지 고쳤어요.

고쳐졌는지 끝내 확인하지 못한 문제는 에이전트가 마지막 보고에 따로 적었어요. 9턴에서 장면 카드의 시각과 대사가 어긋난 일처럼요.

같은 날, 세 에이전트가
만든 세 작품.

2026년 10월 23일, 각자 favor로 폴더를 만들고, 원고를 쓰고, 시험 대화를 돌려 보며 고쳤어요.

밤의 서울 교차로, 후드를 입은 사람 앞에 보랏빛 게이트 세 개가 열려 있는 표지
Claude Code가 만들었어요

F급인데 게이트가 나만 따라온다

판정은 F급. 그런데 내가 가는 곳마다 게이트가 열린다.

헌터넷 갤러리, 바람TV 커뮤니티, 톡이 내가 한 일에 반응해요. 시작 상황 4개, 로어 32개.

온실에서 서류를 흩날리며 웃는 보랏빛 드레스의 악녀와 놀란 황태자가 있는 표지
Antigravity가 만들었어요

단죄 D-3, 악녀는 오늘만 산다

단죄 사흘 전, 원작 스포일러를 무기로 판을 뒤집는다.

황도 사교계 대나무숲, 비밀 마도 통신구, !지도로 원작을 비틀어요. 시작 상황 3개, 로어 10개.

붉은 머리의 악녀가 딸기 케이크를 내밀고 검은 머리 기사가 손을 뻗는 표지
Codex가 만들었어요

악녀님, 파국은 사흘 뒤입니다

파국까지 사흘. 그런데 원작 여주가 케이크를 같이 먹자고 한다.

장미 살롱, 주머니 거울, 원작 수첩으로 노는 로맨틱 코미디. 시작 상황 2개, 로어 6개.

위에서 플레이한 작품이에요

Antigravity와 Codex는 같은 요청을 받았어요. 사흘 뒤 단죄를 앞둔 악녀 빙의. 하나는 지하 금고와 위자료 청구서로, 하나는 케이크로 풀었어요.

이 순서로
시작해요.

시험 배포 중이라 npm 목록이 아니라 이 주소에서 받아 설치해요. Node.js 24(24.18.1 이상)가 필요해요.

  1. 설치

    터미널에서 한 번만 하면 돼요. 에이전트에게 시켜도 돼요.

    npm install -g https://cli.favorchat.kro.kr/favorchat-cli-0.1.2.tgz
  2. 로그인

    favor login이 승인 링크를 줘요. 브라우저에서 확인 코드가 같은지 보고 승인하면 끝이에요. 에이전트가 돌려도 승인은 내가 해요.

  3. 작품 폴더 만들기

    새로 만들거나, 웹에서 만든 작품을 폴더로 받아 와요. 제목은 가제로 두고 나중에 바꿔도 돼요.

    favor new 폴더 --title "제목"favor clone 작품id 폴더
  4. 그 폴더에서 에이전트 열기

    쓰던 에이전트를 폴더에서 열면, 폴더에 든 진입 파일이 에이전트를 제작 안내로 데려가요.

    claudecodexagy
  5. 원하는 걸 말하기

    소재와 분위기만 말해도 돼요. ‘에이전트에게 처음 할 말’을 그대로 붙여 넣어도 되고요.

  6. 링크로 플레이하고 메모

    에이전트가 준 링크로 플레이해요. 이상한 답 옆 메모에 적으면 에이전트가 읽고 고쳐요.

  7. 웹에서 공개

    공개와 공개 버전 갱신은 웹에서 해요. favor status가 그 화면 링크를 줘요. 원고 수정과 올리기는 공개한 뒤에도 CLI로 해요.

에이전트에게 처음 할 말
이 폴더의 AGENTS.md부터 읽고, 안내를 따라 작품을 만들어 줘.

소재: 읽던 로판의 악녀로 빙의했는데 단죄까지 사흘. 무겁지 않게, 떨어진 김에 재미를 찾는 쪽으로.

favor check가 깨끗해지면 push하고, favor test start로 시험 대화 링크를 줘. 내가 플레이하고 메모를 남기면 favor notes로 읽고 고쳐 줘.

소재 줄만 바꿔 쓰면 돼요.

작품은 내 PC의 폴더예요.

원고가 평범한 파일이라 에이전트가 통째로 읽고 고쳐요. 파일의 한 줄이 플레이에서 이렇게 보여요.

core.md

케이크를 안 던지면 그 파국은 일어나지 않는다. 이미 해결된 일을 바꿔치기 음모로 되살리지 않는다.

연회에서 케이크를 먹자 파국이 그냥 사라졌어요. 새 음모도, 억지 엔딩도 없이요.

channels/salon/channel.md

찻잔밑소문 — 목격담보다 해석이 빠른 사교계 구경꾼.

추측은 ‘내 추측인데’ 같은 말로 표시하고 사실처럼 기억하지 않는다.

연회 다음 날 게시판에서 찻잔밑소문이 이렇게 써요. “내 추측인데 어제 연회 분위기 보면 두 사람 동업하는 거 팩트인 듯.”

lorebook/instructions/original-recall.md

정확히 두 항목만 출력한다: ‘떠오른 원작:’과 ‘지금 달라진 점:’.

!원작이 두 줄로만 답해요. 고치는 과정에서 본 그 파일이에요.

올리는 건 원고만

favor push는 원고 파일과 그림·소리만 Favor 서버 초안으로 올려요. 진입 파일, 제작 안내, _local/은 올리지 않아요.

Git 저장소로 써도 돼요

브랜치를 따서 실험하고, 되돌리고, 비교해요. 서버는 push한 것만 봐요.

로그인 정보는 폴더 밖에

자격은 PC의 사용자 설정에 서버별로 남아요. 폴더를 통째로 넘겨도 계정은 따라가지 않아요.

폴더 전체 보기
올라가요PC에만
  • rolechat.json작품 설정, 시작 상황 목록, 공개 정보
  • core.md세계, 중심 인물, 늘 지킬 규칙
  • output-rules.md답의 형식과 서술 방식
  • author-note.md답마다 붙는 강조 지시
  • starts/시작 상황과 프롤로그
  • lorebook/장면에 맞을 때만 꺼내 쓰는 설정
  • channels/작중 게시판, 메신저, 피드
  • renderers/응답 카드
  • formats//로 만드는 글 형식
  • docs/ · page/작품 자료와 작품 페이지
  • assets/그림, 소리, 목록
  • AGENTS.md이 작품만의 지시
  • CLAUDE.mdAGENTS.md와 제작 안내를 불러와요
  • .n6/guide/제작 안내
  • _local/원본, 작업 파일, 미리보기

쓰던 에이전트를
그대로 써요.

작품 폴더에는 AGENTS.md와 CLAUDE.md가 들어 있어요. 이 파일을 읽는 코딩 에이전트라면 폴더를 열고 바로 시작해요.

입력 대기 없이 실행

필요한 값은 모두 명령에 붙여 넘겨요. 도중에 멈춰 대답을 기다리는 명령이 없어요. 명령 중에 사람이 할 일은 브라우저에서 로그인을 승인하는 것뿐이에요.

결과는 JSON 하나

명령마다 결과는 JSON 객체 하나예요. 진행 상황은 따로 내보내요. 사람이 볼 땐 --text를 붙여요.

실패하면 원인과 다음 행동

오류는 코드와, 다음에 할 일을 짚는 한 문장으로 와요. 웹에서 먼저 고친 초안이 있으면 덮지 않고 멈춰요.

$ favor push {"error":{"code":"draft_conflict", "message":"The draft changed elsewhere.", "next":"Copy your edited files elsewhere, run favor pull --force, reapply your edits to the new draft, then run favor push."}}종료 코드 4 · 충돌

시작 전에 묻는 것

코딩을 할 줄 알아야 하나요?

아니요. 명령은 에이전트가 돌려요. 원고는 Markdown과 JSON 파일이라 원하면 직접 열어 고쳐도 돼요.

무엇이 있어야 하나요?

Favor 계정과, AGENTS.md나 CLAUDE.md를 읽는 코딩 에이전트요. 에이전트 쪽 로그인은 그 도구에서 따로 해요.

비용은 어디서 나가나요?

두 군데예요. 에이전트 이용료는 그 에이전트 쪽에서, 시험 대화의 답과 채널 새로 고침은 내 Favor Star에서 나가요. 링크로 직접 플레이할 때도 같아요. Star를 쓰는 명령은 쓴 Star를 결과에 찍어 줘요. 검사, 미리보기, 올리기는 무료예요.

웹에서 만들던 작품도 되나요?

favor clone으로 폴더에 받아 와요. 그림·소리는 서버에 둔 채 목록만 받고, 파일이 필요하면 favor assets pull로 받아요. 웹과 CLI는 같은 초안을 고치고, 웹에서 먼저 고친 게 있으면 push가 덮지 않고 멈춰요.

첫 작품은
소재 한 줄로 시작해요.