Pu.sh: 셸 스크립트 400줄로 만든 코딩 에이전트 하니스
Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell
TL;DR Highlight
sh·curl·awk만으로 50KB 미만 코딩 에이전트 하니스를 만들었다
Who Should Read
코딩 에이전트가 어떻게 돌아가는지 가볍게 뜯어보고 싶은 백엔드·DevOps 개발자
Core Mechanics
- 의존성이 하나도 없다
- npm, pip, docker, node 없이 sh, curl, awk, API 키만 쓴다.
- 용량은 50KB 미만이다.
- 설치가 두 줄이다
- curl로 pu.sh를 받아 chmod +x 한 뒤 ./pu.sh로 실행한다.
- 라이선스는 MIT다.
- 제목은 400줄 셸 하니스를 내세운다
- 하니스(harness)는 LLM에 도구를 붙여 에이전트로 돌리는 실행 틀이다.
- 원문 페이지에는 github, compaction, docs 링크가 있다.
Community Reactions
- 코드가 읽히지 않는다는 비판
- 400줄을 맞추려고 코드를 minify했다는 점이 거슬린다는 의견이 있었다.
- 읽을 수 있는 소스와 정직한 줄 수를 원한다는 의견도 있었다.
- 읽기 쉬운 버전을 요청하는 반응
- 처음의 6KB 버전을 올려 달라는 요청이 있었다.
- 주석을 많이 단 버전이 있으면 배우기 좋겠다는 의견이 있었다.
- 직접 비슷한 걸 만든 경험
- 한 댓글러는 자기 제약(파일 하나, node 외 의존성 0, 1k줄 미만, ollama 지원, 읽기 전용 토글)으로 몇 시간 만에 만들었다고 했다.
- 평가 기준 제안
- 하니스가 툴 호출과 실패 상황을 얼마나 잘 기록하고 재생하는지가 핵심이라는 의견이 있었다.
How to Apply
- 30분 안에 직접 받아서 실행해 보기
- 격리된 컨테이너나 임시 디렉터리에서 curl로 pu.sh를 받는다.
- 실행 전에 스크립트를 열어 어떤 명령을 호출하는지 먼저 훑는다.
- 에이전트 최소 구조 파악하기
- 우리 에이전트 코드와 비교해 필수 부분(모델 호출, 도구 실행, 컨텍스트 압축)만 추려 본다.
- 툴 호출 로그 남기기
- 직접 만드는 하니스에는 도구 호출과 실패를 파일로 남겨 재생할 수 있게 한다.
Try It
# 격리된 환경(컨테이너·임시 폴더)의 터미널에 붙여넣기. API 키는 본인 것 사용
curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh
less pu.sh # 실행 전에 내용을 먼저 읽어 보기
./pu.shTerminology
관련 논문
Cursor Agent SDK 출시: 에이전트를 코드로 정의하고 한 줄로 배포
Cursor가 에이전트를 코드로 정의·배포하는 Agent SDK를 정식 공개했다
에이전트가 코드를 짜는 시대, 엔지니어가 여전히 알아야 할 것: 기초·폭넓은 지식·필요할 때 깊이 파기
에이전트가 짠 코드의 오너십은 기초, 폭넓은 지식, 즉시 깊이 파는 능력에 달렸다
AI가 일을 줄여준다더니, 이렇게 많이 일한 적이 없다
에이전트를 병렬로 돌렸더니 GitHub 활동이 엔지니어 시절 수준으로 돌아왔다
Corgi: 사람과 에이전트를 위한 터미널 멀티플렉서
여러 AI 에이전트의 상태를 한눈에 보는 tmux류 터미널 도구
모델이 그렇게 좋다면 OpenAI는 왜 회사 100개를 직접 안 차릴까
HN 댓글 답: 코드는 쉬워도 뭘 만들지 아는 건 별개라 토큰을 판다
OpenShell: 자율 AI 에이전트를 가두는 NVIDIA의 안전한 샌드박스 런타임
정책 파일로 에이전트의 파일·네트워크·자격증명 접근을 커널 수준에서 통제한다
Omnara: Claude Managed Agents의 오픈소스 대안 (셀프호스팅 가능)
어떤 모델·머신에서도 에이전트를 돌리는 오픈소스 managed agent 플랫폼
Rust off Rails: 코드 없이 Markdown 60개로 만든 AI 에이전트용 웹 스택
Markdown 규칙 60개로 에이전트가 Rust 웹앱을 짜게 한다는 프레임워크