개요

Avid(@Av1dlive)의 2026-08-09 X 게시물은 DeepSeek V4-Flash를 Codex의 작업 실행 모델로 쓰고, Luna가 결과를 평가하고, Sol이 다음 실행용 prompt.md를 다시 쓰는 “self-improving coder loop”를 소개한다.[1][2] 게시물의 핵심은 모델 자체를 재학습하는 것이 아니라, 실행 결과 → 짧은 평가 → 프롬프트 수정 → 다음 실행이라는 외부 하네스 루프를 Codex CLI 위에 얹는 방식이다.[1][8][10]

게시물의 “DeepSeek V4-Flash가 basically free”라는 표현은 게시자의 비용 평가다.[1] 연결된 Codex Router 문서는 DeepSeek V4-Flash를 여러 provider 경로에서 노출하지만, 경로별 credential·구독·API 과금 경계가 따로 있다고 설명하므로 이 조사는 “무료”를 독립적인 가격 사실로 확인하지 않았다.[16][19][20]

게시물과 링크 확인

게시물 본문은 저장소를 clone하고, 영상의 “3 loop workflow” 이미지를 에이전트에게 준 뒤 /loop 자동화를 실행하라고 안내한다.[1] 본문의 저장소명 표기 codex-self-imrpoving-loop는 오타이며, t.co/S0Ta0xmJ00를 따라가면 실제 저장소는 codejunkie99/codex-self-improving-loop다.[1][5]

본문의 다른 t.co 링크는 Avid의 후속 X 게시물 2085405823782842835로 연결되고, 그 게시물의 Article은 “How to Build An Agentic Harness using Kimi K3”라는 제목을 사용한다.[3][4] 해당 Article과 연결된 autoharness는 관련 하네스 맥락이지만, 이번 게시물의 자기개선 루프 저장소와는 별개의 프로젝트다.[3][4]

공식 X HTML에는 duolahypercho/codex-router GitHub 카드도 노출된다.[1][16] 따라서 게시물은 루프 구현 저장소Codex에서 외부 모델을 고르는 라우터를 함께 가리키는 구성으로 읽는 것이 가장 정확하다.[1][5][16]

첨부 영상은 공식 X media ID 2086438142257901568의 1228×720 MP4이며, 이 조사에서 32.533333초 길이를 확인했다.[21] poster는 raw/assets/x-av1dlive-codex-self-improving-loop.jpg로 보존했고, 원격 poster SHA-256은 e09438ffa7bae8405c32b1955dd82e06338c10cf36e5726e59a39c40c0b6ac9c다.[22]

3-loop workflow의 실제 구현

연결 저장소는 master의 고정 커밋 c3b625d6d3eb650cd2903b2503c2a1825f94d3e6를 기준으로 조사했다.[6][7] GitHub description도 DeepSeek이 작업을 실행하고 Luna가 평가하며 Sol이 완료될 때까지 프롬프트를 다시 쓴다고 설명한다.[7]

단계기본 모델입력·권한역할
Runneropencode-go/deepseek-v4-flashprompt.md, workspace-write프로젝트에서 실제 작업을 수행하고 cycles/cycle-NN-run.md에 결과를 남긴다.
Watchergpt-5.6-luna현재 prompt와 최근 log, read-only실행을 GOAL, KEPT, WASTED, FAILED, NEXT 다섯 필드로 짧고 구체적으로 평가한다.
Rewritergpt-5.6-solprompt·log, workspace-writeWatcher의 NEXT를 반영해 prompt.md만 다시 쓰고 CHANGE: 한 줄을 출력한다.

세 모델과 권한 분리는 loop.sh의 기본값과 Codex 호출 인자에 직접 구현되어 있다.[10] README는 두 role 파일(watcher.md, rewriter.md)과 작업 파일 prompt.md, 그리고 이들을 연결하는 loop.sh를 구분하며, prompt가 제품이고 나머지는 plumbing이라고 설명한다.[9]

Runner — 작업 실행

Driver는 매 cycle마다 codex exec -m <runner> -s workspace-write -C <WORKDIR> --skip-git-repo-check --ephemeralprompt.md를 stdin에 넣어 실행한다.[10] 실행 결과는 log.md## Cycle NN 아래 append되고, 출력에 DONE:으로 시작하는 줄이 있으면 Watcher와 Rewriter를 생략하고 done으로 종료한다.[10]

Watcher — 실행 후 평가

Watcher는 현재 prompt.md와 전체 log.md를 읽고, 정확히 다섯 가지 필드만 12줄 이내로 출력하도록 지시받는다.[11] 특히 NEXT를 하나의 최고 가치 지시로 제한하고, 목표가 달성되면 NEXT: STOP을 내도록 한 점이 다음 프롬프트의 무분별한 성장을 줄이는 장치다.[11]

Rewriter — 프롬프트 수정

Rewriter는 prompt.mdlog.md를 읽고 최신 NEXT를 적용한다.[12] 성공한 지시는 유지하고 낭비·실패를 제거하며, 새 prompt는 기존보다 20% 이상 커지지 않아야 하고, acceptance criteria와 DONE: convention은 바꾸지 않아야 한다.[12]

종료 조건과 상태

README가 설명하는 종료 조건은 Runner의 DONE:, 최대 cycle 수, prompt.md가 연속 두 cycle 동안 변하지 않는 경우다.[9] Driver는 기본 최대 6 cycle·no-progress 2 cycle로 시작하며 cycles/state.json에 상태, 실행 cycle, 마지막 진행 cycle, 세 모델 slug를 기록한다.[10]

다만 구현을 읽으면 두 가지 운영 세부사항이 보인다. 첫째, CYCLES_DIR 기본값은 WORKDIR가 아니라 driver가 있는 디렉터리의 $HERE/cycles다.[10] README의 “프로젝트의 cycles/” 설명과 달리, 별도 CYCLES_DIR를 지정하지 않으면 결과 artifact가 checkout 내부에 쌓일 수 있다.[9][10] 둘째, sha256_file()shasum이 없을 때 md5sum으로 fallback하므로, 그 환경에서 no-progress 판정은 SHA-256이 아니라 MD5로 수행된다.[10]

Codex Router와 DeepSeek 경로

공식 X HTML의 카드가 가리키는 duolahypercho/codex-router는 Codex App/CLI의 모델 catalog에 외부 모델을 병합하는 독립 커뮤니티 프로젝트라고 README에서 밝힌다.[16][19] 조사 시점의 pinned config에는 opencode-go/deepseek-v4-flash가 표시명 “DeepSeek V4 Flash (opencode Go)”로 정의되어 있고, context window·reasoning effort·upstream model 정보도 함께 선언돼 있다.[17][20] GitHub API metadata도 이 연결 저장소의 공개 상태와 기본 branch를 교차 확인하는 보조 근거로 사용했다.[18]

이 라우터는 DeepSeek API, opencode Go, Ollama Cloud, ClinePass 등 provider별 경로를 함께 제공하며, README는 각 경로의 인증과 billing이 다르다고 명시한다.[19][20] 따라서 게시물의 “Opus 5를 DeepSeek V4-Flash로 교체해 거의 무료”라는 조합은 모델 선택과 라우팅 아이디어로는 재현 가능하지만, 실제 비용은 사용자가 선택한 provider의 credential·구독·quota·rate limit을 별도로 확인해야 한다.[1][19]

관련 기존 위키 문서인 2026-08-08-github-duolahypercho-codex-router는 이 라우터의 credential isolation·catalog·migration·doctor 구조를 별도로 정리한다. 이번 노트는 라우터 자체보다, 그 모델 선택면 위에서 반복 실행을 만드는 loop driver에 초점을 둔다.

재현 검증

고정 checkout은 git status --short --branch가 clean이었고 git diff --check도 통과했다. 저장소의 shell 문법은 bash -n install.sh loop/loop.sh로 통과했으며 loop.sh --help는 runner·watcher·rewriter model, max cycles, no-progress, cadence, utility, workdir 옵션을 출력했다.[6][10]

제공된 데모의 python3 test_bug.py는 이 환경에서 실제로 1600OK counter=1600을 출력했다.[13][14] 이는 demo test가 고정된 코드 결과를 검증했다는 뜻이지, DeepSeek/Luna/Sol 외부 모델 세션 전체가 재현됐다는 뜻은 아니다.[10][13][14]

실제 3-model loop는 실행하지 않았다.[10][19] 실행하면 프로젝트 파일을 쓰고, 설정된 외부 모델 provider의 quota·비용을 사용할 수 있기 때문이다.[10][19] 따라서 이 문서의 검증 범위는 고정 소스 코드 읽기, shell syntax/CLI help, 로컬 demo test이며, 외부 provider 요청·prompt rewrite trajectory·최종 업무 품질 benchmark는 포함하지 않는다.[10][19]

설치·이식성·안전성 주의

install.sh~/.codex/skills 아래 loop, flash, deepseek, luna, sol, build, utility 디렉터리를 먼저 삭제한 뒤 복사하고 Codex 재시작을 요구한다.[23] 이미 같은 이름의 사용자 skill이 있다면 덮어쓸 수 있으므로, 설치 전 skill backup과 checkout 고정이 필요하다.[23]

저장소의 skills/loop/SKILL.md는 slash command와 stop condition을 제공하지만, 실행 예시가 작성자의 절대 macOS 경로(/Users/arnavdas/.../loop/loop.sh)로 하드코딩되어 있다.[15] README는 “any machine”을 표방하면서도 실행 예시 경로와 실제 저장소의 loop/loop.sh 위치 사이에 혼동을 남긴다.[9][10] 다른 환경에서는 절대 경로를 자신의 checkout 경로로 바꾸고 --workdir·CYCLES_DIR를 명시하는 편이 안전하다.[10][15]

이 구조는 모델 가중치의 자기개선이 아니라 프롬프트와 실행 하네스의 bounded refinement다. 평가자가 단일 NEXT를 선택하고 Rewriter가 prompt 크기·acceptance criteria·DONE convention을 제한하는 것은 안정화 장치지만, 평가 오류·reward hacking·잘못된 파일 수정·반복 비용을 자동으로 해결하지는 않는다.[11][12] 장기 실행에는 git checkpoint, 테스트/승인 gate, 변경 diff 검토, quota/timeout 정책을 별도로 붙여야 한다.

관련 위키

원문·캡처 위치

  • X raw: raw source: 2026-08-11-x-av1dlive-2086446216598999347
  • 연결 GitHub raw: raw source: github-codejunkie99-codex-self-improving-loop
  • 영상 poster: raw/assets/x-av1dlive-codex-self-improving-loop.jpg

Sources

[1] https://x.com/Av1dlive/status/2086446216598999347 — X post by Avid [2] https://publish.twitter.com/oembed?url=https%3A%2F%2Fx.com%2FAv1dlive%2Fstatus%2F2086446216598999347 — X official oEmbed [3] https://x.com/Av1dlive/status/2085405823782842835 — Linked X post by Avid [4] https://x.com/i/article/2085380564224479232 — How to Build An Agentic Harness using Kimi K3 [5] https://github.com/codejunkie99/codex-self-improving-loop — Self-improving Codex loop repository [6] https://github.com/codejunkie99/codex-self-improving-loop/commit/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6 — Pinned loop repository commit [7] https://api.github.com/repos/codejunkie99/codex-self-improving-loop — Loop repository GitHub API metadata [8] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/README.md — Loop README [9] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/loop/README.md — Loop operation guide [10] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/loop/loop.sh — Loop driver [11] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/loop/watcher.md — Luna watcher role [12] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/loop/rewriter.md — Sol rewriter role [13] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/demo/bug.py — Demo bug implementation [14] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/demo/test_bug.py — Demo verification test [15] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/skills/loop/SKILL.md — Codex loop slash skill [16] https://github.com/duolahypercho/codex-router — Codex Router linked card repository [17] https://github.com/duolahypercho/codex-router/commit/c48fafdaac1f63b1073b1cf879c213acc97a10d6 — Pinned Codex Router snapshot [18] https://api.github.com/repos/duolahypercho/codex-router — Codex Router GitHub API metadata [19] https://raw.githubusercontent.com/duolahypercho/codex-router/c48fafdaac1f63b1073b1cf879c213acc97a10d6/README.md — Codex Router README [20] https://raw.githubusercontent.com/duolahypercho/codex-router/c48fafdaac1f63b1073b1cf879c213acc97a10d6/config/opencode/go/deepseek-v4-flash.json — Codex Router DeepSeek V4 Flash route [21] https://video.twimg.com/amplify_video/2086438142257901568/vid/avc1/1228x720/q-ChesfNUaPZKWEJ.mp4?tag=29 — Attached X video [22] https://pbs.twimg.com/amplify_video_thumb/2086438142257901568/img/tGWG6WuC1cB74RVR.jpg — Attached X video poster [23] https://raw.githubusercontent.com/codejunkie99/codex-self-improving-loop/c3b625d6d3eb650cd2903b2503c2a1825f94d3e6/install.sh — Loop skill installer