Pu.sh – 400줄 Shell 스크립트로 만든 완전한 Coding Agent Harness
Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell
TL;DR Highlight
npm, pip, Docker 없이 curl과 awk만으로 동작하는 400줄짜리 Shell 기반 코딩 에이전트 실행 환경으로, 의존성 없이 API 키 하나만 있으면 바로 쓸 수 있다.
Who Should Read
무거운 프레임워크 없이 가볍게 AI 코딩 에이전트를 직접 돌려보고 싶은 개발자, 또는 에이전트 harness 구조를 직접 뜯어보며 학습하고 싶은 백엔드/인프라 개발자.
Core Mechanics
- pu.sh는 코딩 에이전트를 실행하기 위한 harness(실행 틀)를 순수 Shell 스크립트 400줄로 구현했다. npm, pip, Docker 같은 외부 런타임 없이 curl, awk, 그리고 LLM API 키만 있으면 동작한다.
- 설치는 한 줄 명령어로 끝난다. `curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh` 실행 후 `./pu.sh`로 바로 사용 가능하다.
- MIT 라이선스로 공개되어 있고, GitHub에 소스와 문서가 함께 제공된다. 'slop cannon(빠르게 코드를 뱉어내는 도구)'이라고 자칭할 만큼 빠른 코드 생성을 목표로 한다.
- 400줄이라는 라인 수 제한을 맞추기 위해 코드를 압축(minify)했는데, 이 때문에 소스 가독성이 크게 떨어진다는 것이 커뮤니티의 가장 큰 비판 포인트다.
- 의존성이 전혀 없어서 busybox 같은 최소 환경이나 컨테이너 기반 dev 환경에도 바로 넣어서 쓸 수 있다는 점이 장점으로 꼽힌다.
- 에이전트 harness의 핵심 평가 기준으로 'tool call 기록 및 재생(record/replay)과 실패 모드 처리'가 언급됐는데, 이 부분이 에이전트 디버깅에서 가장 복잡해지는 구간이기 때문이다.
Evidence
- 400줄 제한을 맞추기 위해 코드를 minify한 것이 가장 큰 논란이었다. '마케팅 gimmick을 위해 코드를 읽을 수 없게 만든 건 보안 문제이기도 하고, 결국 100% vibe coding(이해 없이 AI가 짠 코드) 상태로 남게 된다'는 강한 비판이 있었다. 압축 전 원본 6KB 버전을 공개해달라는 요청도 있었다.
- pu.sh에서 영감을 받아 비슷한 도구를 직접 만든 사례도 있었다. Node.js 하나만 의존성으로 쓰고, 1K LOC 이하, ASCII only, Ollama 모델 지원, 가독성 있는 소스, 마크다운 출력, read-only 모드 토글 등의 조건으로 몇 시간 만에 구현했다는 경험이 공유됐다.
- 에이전트 harness 평가 기준으로 'tool call의 record/replay와 실패 모드 처리 능력'이 중요하다는 의견이 있었다. 실제로 에이전트 디버깅에서 가장 복잡해지는 부분이 이 구간이기 때문에, 이 기능이 얼마나 잘 구현됐느냐가 핵심이라는 시각이다.
- Claude Agent SDK의 vendor-agnostic 대안이 필요해서 직접 비슷한 도구를 만들었다는 댓글도 있었다. CLI, ACP(Agent Communication Protocol), 임베더블 Python 패키지 형태로 제공하며 여러 프로젝트에서 실제 사용 중이라고 했다.
- busybox와 함께 컨테이너 기반 dev 환경에 넣어서 실험해보겠다는 반응도 있었다. 의존성이 전혀 없다는 점이 최소 환경에서 활용하기 좋다는 실용적 관점에서 긍정 평가를 받았다.
How to Apply
- 로컬에 Node.js나 Python 환경 세팅 없이 빠르게 AI 코딩 에이전트를 써보고 싶다면, `curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh` 한 줄로 설치 후 LLM API 키만 세팅해서 바로 실행할 수 있다.
- busybox나 Alpine Linux 기반의 최소 컨테이너 환경에서 AI 코딩 에이전트를 돌려야 하는 경우, curl과 awk만 있으면 동작하는 pu.sh를 넣어서 추가 의존성 없이 활용할 수 있다.
- 에이전트 harness를 직접 구현해보고 싶은데 어디서 시작할지 모르겠다면, pu.sh 구조를 참고해 Shell 또는 Node.js로 비슷한 단일 파일 에이전트를 만들어볼 수 있다. 커뮤니티에서 공유된 Node.js 버전(willhanlen.com)도 참고 예시로 활용 가능하다.
- Claude Agent SDK처럼 특정 벤더에 묶이지 않는 에이전트 실행 환경이 필요하다면, pu.sh나 댓글에서 소개된 aloop(github.com/zackham/aloop) 같은 vendor-agnostic 오픈소스 harness를 기존 프로젝트에 통합하는 것을 검토할 수 있다.
Code Example
# 설치 및 실행
curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh
./pu.sh
# 필요한 것: curl, awk, LLM API 키
# npm, pip, docker 불필요Terminology
관련 논문
프로덕션 AI 에이전트를 GPT-5.6으로 마이그레이션: 2.2배 빠르고 27% 저렴
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
xAI Grok Build CLI가 xAI 서버로 전송하는 데이터: 네트워크 레벨 분석
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
중요할 때 기억하라: Long-Horizon 에이전트를 위한 Proactive Memory Agent
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: 깊고 넓은 웹 검색을 위한 재귀적 Multi-Agent Orchestration
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
웹 앱을 리버스 엔지니어링해서 AI Agent 도구로 자동 변환하기
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
FableCut – AI 에이전트가 조작할 수 있는 브라우저 기반 비디오 에디터 (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.