TuBrief
구독 채널
비디오
커뮤니티

AI 코딩 에이전트가 만든 스파게티 코드 수습하고 토큰 비용 줄이기

TuBrief 편집팀
2026년 8월 12일
0
컴퓨터/소프트웨어

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

한국어EnglishEspañol中文العربيةहिन्दीDeutschFrançaisPortuguêsРусскийBahasa Indonesia日本語

관련 영상

루프 엔지니어링이 새로운 트렌드라니... 벌써부터 싫어지네요8:12

루프 엔지니어링이 새로운 트렌드라니... 벌써부터 싫어지네요

Maximilian Schwarzmüller

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

AI 코딩 에이전트가 만든 스파게티 코드 수습하고 토큰 비용 줄이기

에이전트에게 코딩을 맡겼더니 코드가 백만 개로 불어나고 API 사용료가 청구서 폭탄으로 돌아왔다. 이 글은 그 수습 방법에 대한 이야기다.

망가진 코드베이스 걷어내기

에이전트가 무한 루프를 돌며 찍어낸 중복 코드는 30분 만에 지울 수 있다. knip과 jscpd를 쓰면 된다.

프로젝트 루트에 knip.json을 만들고 진입점을 적어둔다. 터미널에 npx knip을 쳐서 에이전트가 쓰고 버린 유령 패키지를 찾는다. 이어 npx jscpd ./src -t 1을 실행해 복사 붙여넣기로 늘어난 중복 함수 블록을 뽑아낸다.

158개 파일 규모의 모노레포에서 불필요한 코드를 한 번에 날려버릴 수 있다. 그다음 biome.json을 열어 noUnusedVariables 규칙을 켜고 데드 코드가 다시 들어오지 못하게 잠근다.

샌드박스로 토큰 비용 묶기

전체 코드를 매번 에이전트에게 던지면 토큰이 증발한다. Aider 스타일의 Repo-Map 구조를 적용해 지금 일하는 파일만 격리해야 한다.

--map-tokens 1024 옵션을 주면 1,000개가 넘는 파일이 있는 프로젝트에서도 리포지토리 구조 파악에 쓰는 토큰을 2,000토큰 아래로 틀어막을 수 있다.

비용 한도를 걸려면 LiteLLM Proxy가 답이다. litellm_config.yaml을 설정하고 세션당 최대 루프 횟수를 15회로 제한한다. 비용 상한을 2.50달러로 걸어두면 에이전트가 한도를 넘기는 순간 프록시가 호출을 끊어버린다.

선언형 테스트로 에이전트 통제하기

말레이어로 프롬프트를 길게 써봤자 소용없다. 실패하는 유닛 테스트 코드를 먼저 던져주어야 에이전트가 엉뚱한 짓을 안 한다.

SWE-bench Verified 연구에 따르면 유닛 테스트 케이스를 먼저 주입하는 방식을 썼을 때 회귀 비율이 6.08퍼센트에서 1.82퍼센트로 떨어졌고 문제 해결률은 24퍼센트에서 32퍼센트로 올랐다.

실패하는 테스트 파일을 먼저 만들고 에이전트에게 이 테스트를 통과하는 구현부만 짜라고 지시한다.

검증 스크립트도 자동화해야 한다. local_verifier.sh 파일을 만들고 npx tsc --noEmit, npx biome check ./src, npx vitest run 명령어를 순서대로 넣는다. 에이전트가 코드를 다 짰다고 우겨도 이 스크립트 종료 코드가 0이 아니면 커밋을 막는다.

사람이 직접 개입하는 하이브리드 워크플로우

에이전트가 만든 코드는 풀 리퀘스트 단위로 쪼개서 사람이 직접 본다.

수정된 라인이 200줄을 넘었는지, package.json에 이상한 패키지가 붙었는지, @ts-ignore로 에러를 대충 덮었는지 확인한다. Husky와 lint-staged를 묶어두면 커밋 시점에 중복 코드가 2퍼센트를 넘을 때 바로 차단된다.

작업을 쪼갤 때는 3단계로 간다. 최상위 모델이 작업을 나누고 TODO.md를 만든다. 그 다음 가성비 좋은 모델이 각 항목을 구현한다. 마지막으로 시니어 개발자가 깃 diff를 검증한다. 이 구조를 쓰면 프론티어 모델 하나로 밀어붙일 때보다 비용을 70퍼센트 이상 아낄 수 있다.