예산이 빠듯하다면 유연한 코드보다 딱딱한 코드가 낫다

AI 에이전트나 LLM 기반 앱을 만들 때, '나중에 쓸 수도 있으니' 식의 유연한 설계보다 지금 필요한 것만 명확하게 하드코딩하는 편이 비용과 복잡도를 낮춰준다는 주장입니다. 추상화와 일반화는 멋있어 보이지만 토큰과 시간을 더 많이 소모합니다.

일반적인 소프트웨어 개발에서는 '유연하고 재사용 가능한 코드'가 미덕으로 여겨집니다. 하지만 LLM(대형 언어 모델)을 활용한 에이전트나 자동화 파이프라인을 구축할 때는 사정이 다릅니다. 유연성을 위해 추상 계층을 쌓으면 코드가 길어지고, 그 코드를 LLM에 넘길 때 토큰 수가 늘어나 비용이 올라갑니다.

반면 '지금 이 작업만' 처리하도록 딱딱하게 고정된(하드코딩된) 코드는 짧고 LLM이 이해하기 쉽습니다. LLM이 코드를 읽고 수정하거나 실행 결과를 판단할 때 맥락이 간결할수록 오류가 줄고 토큰도 절약됩니다. 이 글은 '미래를 위한 설계'가 예산이 부족한 개인 개발자나 소규모 팀에게는 오히려 부담이 될 수 있다고 지적합니다.

핵심 포인트

  • 하드코딩된 단순한 코드는 LLM에 전달할 때 토큰 수가 적어 비용이 줄어든다
  • 추상화 계층이 많을수록 LLM이 코드를 이해하기 어렵고 실수가 늘어난다
  • 지금 필요한 기능만 구현하는 YAGNI 원칙이 AI 파이프라인에서도 효과적이다
  • 유연성을 위한 설계는 팀 규모나 장기 프로젝트에서 의미 있지만, 1인 개발자 단계에서는 과잉이 될 수 있다
  • '나중에 고치면 된다'는 태도가 초기 단계에서는 오히려 실용적인 전략이다

용어 한 줄 설명

AI 에이전트
사람 대신 정보를 찾거나 작업을 처리하도록 만든 AI 프로그램입니다.
하드코딩
특정 값이나 동작을 코드 안에 직접 고정해서 적어두는 것으로, 나중에 바꾸기 어렵지만 단순하고 명확합니다.
소프트웨어
컴퓨터나 스마트 장치에서 작업을 수행하는 프로그램입니다.
대형 언어 모델
ChatGPT, Claude처럼 글을 읽고 쓰고 코드를 짜는 데 쓰이는 대규모 AI 프로그램.
자동화 파이프라인
사람이 직접 하지 않고 프로그램이 자동으로 순서대로 처리하는 작업 흐름입니다.
파이프라인
데이터를 가져오고 바꾸고 내보내는 여러 작업을 순서대로 묶은 흐름입니다.
추상화 계층
여러 상황에서 재사용할 수 있도록 코드를 일반화한 구조로, 유연하지만 복잡도가 높아집니다.
YAGNI
'You Aren't Gonna Need It'의 약자로, 지금 당장 필요하지 않은 기능은 미리 만들지 말라는 개발 원칙입니다.
원문 보기