Meta 개발자가 알려준 AI 코드 설계! 토큰 비용 최적화 비법 대공개 (실전 테크닉)
AI 에이전트와 함께 코딩하기: 코드베이스 정리 & 비용 절감
이번 영상에서는 AI 에이전트가 길을 잃지 않도록 코드베이스를 정리하는 방법과 AI 사용 비용을 줄이는 방법을 배울 거야. 메타에서 배운 실전 테크닉들을 알려줄 테니 잘 따라와 봐!
1. AI 친화적인 코드베이스 만들기
AI 레디 코드베이스란?
AI 에이전트가 길을 잃지 않고 작업할 수 있는 코드베이스를 말해. 사람이 코드를 읽고 이해하는 것과 달리, AI 에이전트는 매 세션마다 처음부터 다시 시작한다고 생각해야 해. 그래서 사람보다 훨씬 더 빡빡한 기준이 필요해. 첫 1분 안에 어디로 가야 할지 명확해야 해.
왜 중요할까?
AI 에이전트 실패의 대부분은 코드 품질 문제보다 탐색 및 이해 비용 문제 때문이야. 즉, 코드를 잘못 짜서 실패하는 게 아니라, 올바른 위치를 못 찾거나 이미 있는 파일을 못 봐서 실패하는 경우가 많다는 거지. AI 모델이 똑똑해진다고 해결되는 문제가 아니라, 코드베이스 자체가 정리가 되어야 해.
예시:
"결제 로직 수정해줘"라는 요청을 받았다고 가정해 보자.
- AI 레디가 안 된 코드베이스: AI는 '페이먼트'를 찾기 위해 47개의 파일을 뒤지고, 진입점을 몰라 5개의 파일을 읽고, 중복된 코드를 잘못 수정해서 테스트가 깨질 수도 있어. 이 과정에서 토큰의 80%가 탐색에 쓰이고, 실제 코드 수정은 20%밖에 안 되지. 심지어 잘못된 곳을 탐색할 확률도 높아.
- AI 레디 코드베이스: AI는 탐색에 쓰는 토큰을 줄이고 실제 코드 수정에 더 많은 토큰을 쓸 수 있게 돼.
AI 레디 코드베이스 만드는 두 단계:
- 코드베이스 건강 체크 (Sanity): 코드가 건강해야 해. 테스트 커버리지, 데드 코드 제거, 컨벤션 일관성, 코드 스멜 제거 등이 선행되어야 해. 코드가 건강해야 AI가 잘못된 코드를 따라가 시간을 낭비하지 않아.
- 코드베이스 지도 제작 (Cartography): 건강한 코드베이스 위에 AI 에이전트가 길을 잃지 않도록 지도를 그려주는 거야. 여기에는 진입점, 의존성 그래프, 도메인 용어집 등이 포함돼.
사람과 AI의 차이점:
- 사람: 테스트 커버리지는 회귀 방지, 컨벤션은 가독성, 데드 코드 제거는 유지보수 및 버그 감소를 위해 사용했어.
- AI:
- 테스트 커버리지: AI를 위한 셀프 검증 신호야. AI가 본인이 잘못한 걸 알게 만들어.
- 컨벤션 일관성: AI가 패턴을 일반화하고 쓸 수 있게 해줘.
- 데드 코드 제거: AI가 잘못된 길로 갈 확률을 줄여줘.
- 코드 스멜 제거: AI가 나쁜 코드를 따라 쓰지 않게 해줘.
AI 레디니스 카토그래피 스킬:
이 스킬은 우리 코드베이스가 얼마나 AI 친화적인지 점수를 매겨줘. 내비게이션, 컨텍스트 품질, 문서화, 의존성 매핑, 검증, 최신성, AI 결과 등 7가지 카테고리로 점수를 매기고 대시보드로 보여줘. 이를 통해 AI가 어떤 부분에서 길을 잃는지 파악하고 개선할 수 있어.
실습:
- AI 레디니스 카토그래피 스킬을 실행해서 코드베이스의 AI 친화도를 점수화하고 HTML 대시보드를 생성해.
- 대시보드를 보고 개선해야 할 부분 (ROI 액션)을 파악하고, 이를 바탕으로 PR을 생성해서 코드베이스를 개선해 나가.
- 이 과정은 주기적으로 해줘야 효과가 있어.
2. AI 사용 비용 절감: 토큰 효율성 높이기
토큰이란?
AI 모델이 텍스트를 처리하는 최소 단위야. 영어 단어 하나가 토큰 하나가 아니라, 문자열을 묶어놓은 사전(BPE)에 따라 잘려. 영어는 보통 한 토큰이 4글자, 한국어는 1.5~2글자 정도 돼. 코드는 영어와 비슷한 수준이야.
비용 계산:
- 입력 토큰: $0.05 / 1M 토큰
- 출력 토큰: $0.25 / 1M 토큰 (입력보다 비쌈)
- 캐시 라이트: $0.25 / 1M 토큰 (새로운 정보 저장)
- 캐시 리드: $0.05 / 1M 토큰 (이미 저장된 정보 읽기)
개인 vs. 팀 비용:
- 개인: 직접 결제하면 비용이 눈에 보여서 보수적으로 사용하게 돼.
- 팀/회사: 비용이 느껴지지 않아 마음껏 쓰기 쉽지만, 결국 큰 비용이 발생해. 리더십에서 토큰 최적화 가이드라인이 내려오는 이유야.
프롬프트 캐시:
같은 프리픽스(시스템 프롬프트, 클라우드 MD 등)를 반복해서 보내면 AI 서버가 계산 결과를 캐시해 둬. 다음 호출에서 똑같은 프리픽스가 필요할 때 캐시 리드로 읽으면 10분의 1 가격으로 사용할 수 있어.
캐시 주의사항:
- TTL (Time To Live): 캐시는 5분 동안만 유지돼. 5분 이상 작업이 중단되면 캐시가 리셋돼.
- 프리픽스 변경 금지: 세션 중간에 클라우드 MD나 모델을 변경하면 캐시가 날아가. 항상 작업이 끝난 후에 변경해야 해.
- 세션 재개 시 주의: 세션 재개 시 TTL이 지나 캐시가 리셋되면 비용이 크게 발생할 수 있어. 클라우드 코드가 "토큰이 너무 크다, 처음부터 다시 시작할 거냐?"라고 묻는 이유가 이거야.
토큰 최적화 기법:
- 큰 파일은 캐시: 클라우드 코드가 알아서 해줘.
- 클라우드 MD 상단 배치: 클라우드 코드가 알아서 해줘.
- 무거운 탐색은 서브 에이전트에게 위임: 메인 컨텍스트를 지키기 위해 중요해.
- 장기 세션은 콤팩트 또는 새 세션: 콤팩트보다는 새 세션이 더 나을 때가 많아.
- 작업 성격에 맞는 모델 선택: 중간에 바꾸지 마!
- C 엔진 호출 결과 재사용: 캐시와 같은 원리야.
절대 하지 말아야 할 것 (안티 패턴):
- 대용량 파일 무작정 읽기: 세션 비용이 금방 늘어나.
- 같은 컨텍스트 반복 주입: 캐시를 쓸모없게 만들어.
- 5분 안에 쓸 일 없는 프리픽스 캐시: 불필요한 비용 발생.
- 매번 세션 클리어 후 셋 세션: 캐시가 안 돼.
- 오프스 모델 사용: 비용이 더 비싸.
- 끝난 작업 노드 계속 컨텍스트에 남기기: 불필요해.
토큰 효율성 스킬:
이 스킬은 클라우드 코드 세션 로그를 파싱해서 토큰 사용량, 캐시 효율, 비용 등을 분석하고 HTML 대시보드를 생성해줘. 여러 세션의 데이터를 집계하고 시각화하여 비용 절감 방안을 제시해.
코스트 게이트:
- 대시보드: 이미 사용한 비용을 보여주는 사후 분석 도구.
- 코스트 게이트: 예산 초과를 막는 사전 예방 및 실시간 모니터링 도구.
- 세션 단위 게이트: 일정 토큰을 넘으면 경고 또는 강제 콤팩트.
- PR 단위 게이트: PR 생성 비용이 임계치를 넘으면 레이블 부착.
핵심:
- 공유 자산 활용: 팀 레벨에서 캐시 최적화 및 토큰 효율성을 높여.
- 자동화: 훅이나 스킬을 활용하여 비용 절감을 강제하고 모니터링해.
다음 섹션에서는 AI를 활용한 코드 리뷰에 대해 다룰 거야!