bash
-
opencode 한 줄 호출에 숨은 3가지 함정 — `--` 구분자, 5분 timeout, 직후 헬스체크 (Ralph Loop 시리즈 5편)IT 2026. 5. 17. 22:00
자율 코딩 루프의 핵심은 결국 외부 CLI 한 줄 호출 이다. opencode run --model X -f file1 -f file2 -- "" 라는 한 줄. 그런데 이 한 줄에 세 가지 함정 이 숨어있어 ralph-loop 를 짜면서 모두 한 번씩 부딪혔다. 함정마다 한 번씩 사고를 겪고 한 줄씩 추가해서 — 이제는 안전한 호출이 됐다.이 글은 그 한 줄의 진화를 따라간다. (1) yargs 의 -f array 가 prompt 를 삼키는 함정, (2) vLLM 응답 hang 시 무한 대기를 끊는 timeout, (3) opencode 호출 직후 vLLM 죽음 감지하는 헬스체크. 시리즈 5편이고, 1~4편은 컨텍스트 3축, 부팅·셧다운, vLLM 헬스 보장, prompt 다층 메시지를 다뤘다.최종 형태..
-
자율 스크립트의 부팅과 셧다운 — 외부 자원을 잡았다면 정확히 한 번만 놓아라 (Ralph Loop 시리즈 2편)IT 2026. 5. 16. 22:00
자율 코딩 루프 같은 장기 실행 스크립트의 시작과 끝은 의외로 까다롭다. 시작에서 외부 자원 — GPU lock, vLLM 컨테이너, 임시 파일 — 을 잡는 건 어렵지 않은데, 스크립트가 어떻게 끝나든 정확히 한 번 정리(cleanup)되도록 보장 하는 게 진짜 일이다. 정상 종료, Ctrl-C, kill -TERM, 스크립트 자체 exit 4, 또는 bash 의 set -e 가 발동시킨 갑작스런 종료까지 — 이 다섯 가지 종료 경로가 모두 같은 cleanup 함수로 합류하면서 동시에 중복 호출은 차단 되어야 한다.이 글은 ralph-loop.sh 의 startup·shutdown 시퀀스를 본다. 한 30줄 정도의 코드인데 그 안에 자율 스크립트가 외부 자원을 다룰 때 빠지기 쉬운 실수 4가지의 답이 들..
-
Ralph Loop — bash while true + LLM CLI가 만든 어이없게 강력한 에이전트 패턴IT 2026. 5. 7. 23:00
"deterministically bad in an undeterministic world"2025년 중반, 호주 개발자 Geoffrey Huntley가 이상한 블로그 글을 하나 올렸다. 제목은 "Ralph Wiggum as a software engineer". 핵심은 이 한 줄이었다.while :; do cat PROMPT.md | claude-code ; done무한 루프로 LLM CLI를 계속 호출한다. 그게 전부다. 이름은 Simpsons의 Ralph Wiggum에서 왔다. Huntley 본인이 "비결정적 세계에서 결정적으로 멍청하게 반복한다"고 표현한 그 바보같은 캐릭터다. 글의 맨 앞에 붙은 밈은 "이 기법이 얼마나 멍청해 보이는지를 인정하는 농담"이었다.놀랍게도 이게 작동했다. Huntle..
-
shellcheck로 bash 스크립트 정리하기 — 그리고 Hook으로 재발 방지까지IT 2026. 4. 28. 22:00
ruff 바로 뒤이어서 — 같은 날 shellcheck까지오전에 Python 프로젝트 10개에 ruff를 넣으면서 한 줄을 이렇게 남겨뒀다. "shellcheck는 다음 주기에 다루기로 했다 — 한 번에 한 도구씩 확실히 안착시키자." 그렇게 ruff 쪽 정리가 끝나고 나니, 그 "다음 주기"를 굳이 다른 날로 미룰 이유가 없어졌다. 손이 뜨거워진 김에 같은 날 그대로 shellcheck로 넘어갔다.대상은 개인 프로젝트 4곳에 흩어져 있는 bash 스크립트 17개. cron용 엔트리포인트, GPU 자원 관리 도구, 백그라운드 서비스 재시작 스크립트 — 전부 손으로 짠 글루 코드다. Python 쪽은 테스트·ruff로 촘촘히 덮었지만, bash는 "잘 돌아가길래 그냥 둔" 상태였다. 그 "잘 돌아간다"가 ..