← 뒤로

Open Source · Prompt Harness

self-tuning-loop

직접 쓰던 setup에서 OSS로 빼낸 diff 기반 프롬프트 harness. 어차피 하던 편집에서 가이드라인을 자동으로 정제합니다.

v0.1 · public · MIT · 2026–

정체와 이유

매일 몇 개의 AI 드래프팅 파이프라인 — LinkedIn 포스트, 블로그 드래프트, 뉴스 큐레이션 — 을 운영하고 있습니다. 드래프트를 편집할 때마다 학습 시그널이 만들어집니다. 모델이 쓴 것과 제가 실제로 발행한 것 사이의 diff가 그것입니다. 대부분의 팀은 이 시그널을 버립니다. "모델을 더 좋게 만든다"의 표준 답이 fine-tuning, GPU, labelled data이기 때문에, 어디에든 쌓이고 있는 피드백이 그대로 방치됩니다.

self-tuning-loop은 제 setup 안에서 그 갭을 메우려고 만든 작은 조각입니다. 잘 작동해서 OSS로 빼냈습니다. 각 (draft, final) 페어를 캡처하고, LLM이 3회 이상 반복되는 패턴을 찾아내고, 각 패턴을 Safe / Risky로 분류해 Safe만 프롬프트 가이드라인의 새 버전에 추가합니다. 출력은 plain markdown이라, git diff로 감사할 수 있고 롤백은 한 줄이면 됩니다.

루프

self-tuning-loop · the loop
   ┌──────────┐    ┌────────────┐    ┌────────────────┐
    AI draft  ─►  Human edit  ─►  Diff captured  
   └──────────┘    └────────────┘    └───────┬────────┘
                                            
                                            
   ┌────┴──────────────┐           ┌────────────────────┐
    Updated prompt     ◄──[Safe] LLM extracts       
    (next draft uses)             repeating pattern  
   └───────────────────┘           └────────────────────┘
                  scored per version → improvement visible

Generate · Capture · Analyse · Evolve. 앞의 세 단계는 앱과 인라인으로 돌고, 마지막 Evolve는 cron으로 실행됩니다 (기본 weekly). TypeScript on Node.js 22+, 스토리지는 Supabase, LLM 호출은 Anthropic SDK를 씁니다.

사용 방식

MJ Ops 안에서 시작했습니다. 토요일 회고 잡 (weekly-linkedin, weekly-review) 이 각 파이프라인의 지난 주 diff를 읽고 다음 주에 쓸 갱신된 프롬프트를 발행합니다. LinkedIn 드래프팅, 뉴스 큐레이션, Naver 블로그 드래프팅이 모두 같은 루프를 자기 가이드라인 파일과 함께 통과합니다. 제 파이프라인에서 패턴이 명확히 작동하는 것을 확인한 뒤, harness 자체를 이 레포로 빼냈습니다.

왜 fine-tuning, DSPy, TextGrad, OPRO가 아닌가

학계는 자동 프롬프트 최적화에 대해 진지한 연구를 쌓아 왔습니다. self-tuning-loop은 그 안에서 조금 다른 niche를 차지합니다. 이들 중 유일하게 사람의 편집 diff를 학습 시그널로 사용한다는 점입니다. 다른 방법들은 모두 팀이 일과 별개로 만들어내야 하는 예시, 점수 함수, labelled pair를 요구합니다.

  Fine-tune DSPy TextGrad OPRO STL
비용 $$$ GPU $ LLM $$ LLM $ LLM $ LLM
필요 데이터 100개+ labelled 예시 + metric fn 미분 가능 시그널 Score function 3+ diffs
편집 시그널
출력 포맷 블랙박스 weights 컴파일된 프로그램 Gradient text Search trace Markdown
롤백 체크포인트 복원 재컴파일 재실행 재실행 한 줄 삭제
감사 가능 No Partial Partial Partial git diff

Trade-off는 분명합니다. 이 harness는 어려운 추론에서 fine-tuning을 이기지 못합니다. 대신 결과의 스타일 — 톤, 포맷, 구조 컨벤션 등 — 이 수렴해야 하는 상황에 맞춘 도구입니다.

상태

Public MIT 레포로 v0.1까지 공개되어 있고, README는 English와 한국어로 제공됩니다. 스택은 TypeScript + Supabase + Anthropic SDK. 대상은 이미 AI 드래프트를 편집하고 있고, 모델이 그 편집을 실제로 반영해 주길 바라는 솔로 파운더와 소규모 팀입니다.

Minbook 관련 글

링크