이 기능에 정말로 AI가 필요할까?
요약
새로운 기능을 개발할 때, 무조건 LLM에 의존하는 것이 최선은 아닙니다. 분류나 변환 같은 기능도 간단한 함수, 규칙, 또는 쉘 스크립트로 처리될 수 있습니다. AI 사용 여부를 결정하기 전에, 해당 문제가 정말로 AI가 필요한지 아니면 단순히 결정론적 해결책을 아직 발견하지 못한 것인지 질문해야 합니다.
핵심 포인트
- AI 의존성보다 문제의 본질 이해가 중요합니다.
- 간단한 함수나 규칙으로 충분할 수 있습니다.
- LLM 사용은 API 비용, 지연 시간 등의 단점을 가져옵니다.
- 결정론적 해결책을 먼저 고려하는 것이 바람직합니다.
이 기능에 정말로 AI가 필요할까?
새로운 기능을 구축할 때, 다음과 같은 질문을 던지는 것이 자연스러워지고 있습니다:
"AI가 이걸 할 수 있을까?"
하지만 저는 우리가 먼저 물어봐야 할 더 중요한 질문이 있다고 생각합니다:
"이 기능에 정말로 AI가 필요할까?"
제가 말하는 것은 코드를 작성하는 데 도움을 주기 위해 AI를 사용하는 것이 아닙니다. 이 기능이 프로덕션 환경에서 작동하는 방식 자체에 AI를 포함시키는 것에 대한 이야기입니다.
저는 제 자신의 작업에서도 알게 되었는데, 때로는 우리가 단순히 AI가 문제를 해결할 수 있다는 것을 알기 때문에 AI를 사용하기도 합니다.
어떤 기능은 무언가를 분류하거나(classify), 데이터를 변환하거나(transform), 결정을 내려야 합니다. 이를 LLM에 보내는 것이 쉬운 해결책처럼 느껴집니다.
하지만 문제를 더 잘 이해한 후에, 같은 문제가 간단한 함수나 몇 가지 규칙, 심지어 쉘 스크립트(shell script)로 처리될 수 있다는 것을 발견할 수도 있습니다.
그리고 이것이 중요한 차이점입니다.
'입력 → LLM → 응답 → 검증 → 결과'의 방식 대신,
'입력 → 코드 → 결과'의 방식으로 할 수 있습니다.
첫 번째 해결책은 API 비용, 지연 시간(latency), 비결정적 결과(nondeterministic results), 외부 종속성(external dependencies) 및 추가적인 실패 사례를 도입합니다.
때로는 이 모든 것이 가치가 있을 때도 있습니다. 예를 들어, 챗봇(chatbot)은 예측할 수 없는 자연어(natural language)를 이해해야 합니다. 다른 기능들은 결정론적 규칙을 작성하는 것이 비실용적인 모호성이나 비정형 정보(unstructured information)를 다룹니다.
하지만 AI가 문제를 해결할 능력이 있다는 것이, AI가 그것을 해결하는 데 필수적이라는 것을 의미하지는 않습니다.
때로는 우리가 더 간단한 프로그래밍 방식의 해결책을 아직 발견하지 못했기 때문에 AI를 선택하기도 합니다.
따라서 기능에 AI를 종속성으로 추가하기 전에, 다음과 같은 질문을 던져볼 가치가 있다고 생각합니다:
"이 문제가 정말로 AI를 필요로 하는 것일까, 아니면 내가 단순히 결정론적 해결책을 아직 모르는 걸까?"
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기