Neckbeard – 에이전트용 DevOps/플랫폼/SRE 플러그인
Neckbeard – A DevOps/platform/SRE plugin for your agent
TL;DR Highlight
에이전트는 검증된 모듈만 조합하고, 월 비용표까지 붙여 인프라를 만든다
Who Should Read
Claude Code에 "AWS에 배포해줘"라고 시켰다가 보안 구멍과 비용 폭탄이 걱정돼 인프라 코드 생성을 맡기기 망설이는 백엔드 개발자
Core Mechanics
- 에이전트가 인프라를 직접 짜지 않는다
- 사람이 관리하는 OpenTofu 모듈 카탈로그를 버전 고정으로 쓰고, CI에서 매번 테스트한다.
- 에이전트는 앱을 읽고 질문한 뒤 답을 카탈로그 입력값에 매핑하는 일만 한다.
- 카탈로그에 없는 Redis 같은 요구는 모듈을 지어내지 않고 "지원 안 함"이라는 finding으로 알려준다.
- LLM 판단은 앞단, 뒷단은 결정적 Go 코드
- analyze 단계는 파일·줄 번호가 붙은 사실, 신뢰도가 붙은 추론, 명시된 가정으로 app-profile.yaml을 만든다.
- planner는 해시 검증되는 blueprint.yaml을 쓰고, renderer는 이 파일만으로 결과가 정해지는 순수 함수다.
- 사용자가 수정한 파일은 재생성할 때 덮어쓰지 않는다.
- 배포 전에 월 비용표를 먼저 보여준다
- Infracost로 같은 참조 앱(HTTP 서비스, 워커, 크론, Postgres)을 가장 작은 티어, 환경 3개, 실시간 가격으로 계산한다.
- 월 비용은 Cloud Run $77, Container Apps ~$98*, ECS Fargate $250, EKS $396, GKE(regional) $754, AKS ~$801*이다.
- *표시는 Infracost가 Container Apps 컴퓨트를 아직 가격 산정하지 못해서이며, 산정 못 한 리소스를 합계 옆에 모두 나열한다.
- 검증 결과를 PASSED / NOT EXERCISED로 나눠 보여준다
- V0은 tofu validate, Checkov 정책, kubeconform 같은 문법·정책 검사다.
Community Reactions
- 비슷한 일은 에이전트에게 그냥 시켜도 된다는 경험
- 플러그인 없이 에이전트에게 요청해도 잘 되더라는 댓글이 있었다.
- 추상화 계층이 하나 더 늘어난다는 반론
- 이미 관리하는 tf/HCL 파일과 plan 사이에 또 다른 인터페이스를 둘 이유가 뭐냐는 질문이 나왔다.
- OpenTofu와 Ansible로 버전 관리하고 돌리면 되지 않느냐는 의견도 있었다.
- LLM이 잘못 가정하면 비용이 폭발한다는 우려
- 에이전트가 잘못 추정해서 클라우드 비용이 치솟은 채 깨어날 수 있다는 의견이 있었다.
- 결국 Terraform 모듈 모음이라는 평가와 대안 제시
- 그냥 terraform 모듈 묶음이라는 짧은 평이 있었다.
- 참조 앱이면 Hetzner 서버 월 25달러로도 충분하다는 의견과, 자체 호스팅 PaaS인 disco.cloud를 소개하는 댓글이 있었다.
How to Apply
- 현재 레포로 /neckbeard:analyze만 돌려 보기
- Claude Code에서 두 줄의 plugin 설치 명령을 실행하고, 서비스 레포에서 /neckbeard:analyze를 실행한다.
- 만들어진 app-profile.yaml에서 파일·줄 번호 근거와 가정 목록이 실제 앱과 맞는지 대조한다.
- 배포 전에 /neckbeard:estimate로 비교 실행하기
- serverless vs kubernetes 비교를 돌려 월 비용표와 가격 산정 못 한 리소스 목록을 확인한다.
- 결과를 기존 인프라 비용 추정과 비교해 아키텍처 선택 근거로 쓴다.
- 에이전트 인프라 작업에 검증 3단계 보고 규칙 도입하기
- 에이전트가 만든 IaC에는 V0/V1/V2별로 PASSED·FAILED·NOT EXERCISED를 보고하게 지시한다.
- 자격증명이 필요한 단계는 사람이 실행하고 에이전트에게는 키를 넘기지 않는다.
- 자체 카탈로그 방식으로 모듈 범위 좁히기
- 팀에서 쓰는 워크로드 형태를 정해 테스트된 모듈만 에이전트가 조합하도록 제한한다.
- 모듈에 없는 요구는 새로 짜지 말고 "미지원"으로 보고하게 한다.
Try It
# Claude Code에 붙여넣기 (neckbeard 설치 없이 원문 방식을 흉내 낸 간이 버전)
너는 인프라 스캐폴딩 에이전트다. 아래 규칙을 지켜라.
1. 이 레포를 읽고 Dockerfile, 포트, 환경변수, 헬스 엔드포인트, DB 설정을 찾아 app-profile.yaml로 정리한다. 모든 사실에는 파일명:줄 번호를 붙이고, 추론에는 신뢰도(high/medium/low)를, 가정에는 "ASSUMPTION"을 붙인다.
2. 코드로 알 수 없는 것(예상 트래픽, 허용 다운타임, DB를 새로 만들지 여부, 워커의 용도)은 추측하지 말고 나에게 질문한다. 답이 오기 전에는 다음 단계로 가지 않는다.
3. 사용할 수 있는 워크로드 형태는 컨테이너 이미지, HTTP/worker/cron 프로세스, Postgres, 오브젝트 스토리지, 시크릿뿐이다. 그 밖의 요구(예: Redis)는 인프라를 지어내지 말고 "미지원 finding"으로 따로 적는다.
4. 정적 키는 쓰지 않고 OIDC만 쓴다. 시크릿 값은 코드에 넣지 않는다.
{{배포 대상: AWS / GCP / Azure 중 하나}}에 맞는 인프라 계획을 먼저 요약해 줘. 코드는 아직 만들지 마.
이어서 해 볼 것: "각 검사를 PASSED / FAILED / NOT EXERCISED로 나눠 보고해 줘"라고 추가로 요청해 보자.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓