RTX 3090 한 장으로 에이전트를 돌릴 수 있을까? 로컬 LLM 4종과 Claude 2종의 도구 호출 실험 결과

들어가며
로컬 GPU 한 장으로 도구 호출(Tool Calling)이 필요한 에이전트 작업을 맡길 수 있을까요? GeekNews에 올라온 한 실험이 이 질문을 꽤 꼼꼼하게 다뤘습니다. 작성자는 RTX 3090 한 장에서 로컬 LLM 4종을, API로 Claude 2종을 돌려 같은 과제를 풀게 했습니다.
이번 글에서는 실험 방법과 결과를 정리하고, 결과를 볼 때 함께 생각해 볼 점을 짚어 보겠습니다.
실험은 이렇게 진행됐습니다
- 벤치마크: BFCL v4(Berkeley Function Calling Leaderboard)의 다단계(multi-turn) 과제 100개
- 반복 횟수: 모델마다 과제 하나를 5번씩 실행
- 채점 방식: 공식 채점기로 최종 상태를 평가
- 비교 모델
- 로컬: gemma4 26B, LFM2.5 24B, qwen3.8 27B, gpt-oss 20B
- API: Claude Sonnet 5.5, Claude Haiku 5.5
한 번만 돌리지 않고 5번씩 반복했다는 점이 이 실험의 핵심입니다. 그 덕분에 **"얼마나 안정적으로 해내는가"**를 볼 수 있습니다.
핵심 결과: 5번 모두 성공한 과제 수
| 순위 | 모델 | 5회 모두 성공한 과제 수 | |---|---|---| | 1 | gemma4 26B (로컬) | 60 | | 2 | Claude Sonnet 5.5 | 57 | | 3 | LFM2.5 24B (로컬) | 45 | | 4 | qwen3.8 27B (로컬) | 42 | | 5 | Claude Haiku 5.5 | 36 | | 6 | gpt-oss 20B (로컬) | 28 |
이 기준에서는 로컬 모델인 gemma4 26B가 Claude Sonnet 5.5보다 앞섰습니다. 3090 한 장으로 돌린 4비트 양자화 모델이라는 점을 생각하면 눈에 띄는 결과입니다.
"평균 성공률"과 "매번 성공"은 다른 지표입니다
실험에서 가장 흥미로운 부분은 qwen3.8 27B입니다.
- 한 번이라도 푼 과제: 83개로 전체 모델 중 가장 많음
- 5번 모두 푼 과제: 42개
풀 수 있는 과제의 범위는 넓지만 결과가 들쭉날쭉하다는 뜻입니다. 실제 서비스에 에이전트를 붙일 때는 "가끔 잘하는 모델"보다 **"매번 똑같이 해내는 모델"**이 더 중요할 때가 많습니다. 벤치마크 점수를 볼 때 반복 실행 기준의 일관성을 함께 봐야 하는 이유입니다.
Claude의 "진행할까요?" 문제
Claude 모델은 작업 중에 **"진행할까요?"**라고 사용자에게 확인을 구하는 경우가 있었습니다. 자동 채점에서는 이런 응답이 과제 미완료, 즉 실패로 처리됩니다.
시도 1: 한 번 "예"라고 답해 주기
작성자는 모델이 질문하면 한 번 "예"라고 답하도록 바꿔 다시 측정했습니다. 그런데 점수가 오히려 떨어졌습니다.
- Claude Sonnet 5.5: 57 → 43
원인은 "다른 것도 해 드릴까요?" 같은 질문에도 "예"가 들어갔기 때문입니다. 모델이 시키지 않은 일까지 처리하면서 최종 상태가 정답과 달라졌습니다. 작성자도 이런 행동이 더 나은 것인지 질문을 남겼는데, 사용자 입장에서는 도움이 될 수 있어도 정해진 결과를 요구하는 에이전트 작업에서는 감점 요인이 된다는 점을 보여 줍니다.
시도 2: "시킨 것만 하세요"로 답하기
답을 **"시킨 것만 하세요"**로 바꾸자 모든 모델의 평균 성공률이 원래 점수와 4점 이내로 비슷해졌습니다.
결론적으로 확인을 구하는 행동 자체는 점수에 큰 손해가 아니었습니다. 문제는 질문이 아니라 "예"라는 답에 따라 범위를 넘는 작업을 한 데 있었습니다.
과제 종류별로 보면
모델마다 강점과 약점이 달랐습니다.
- gemma4 26B: 메시지·게시판 과제에서 앞섰지만, 주식 과제에서는 가장 낮은 점수를 기록했습니다.
- Claude Sonnet 5.5: "빈 문서를 만들어 줘"라는 요청에 5번 모두 제목과 양식을 알아서 채워 넣다가 오답 처리됐습니다.
Sonnet의 사례는 앞의 "다른 것도 해 드릴까요?" 문제와 같은 맥락입니다. 도움이 되려는 성향이 "지시를 정확히 따르는 것"과 부딪힐 수 있다는 점을 보여 줍니다. 에이전트를 설계할 때는 프롬프트에서 작업 범위를 분명하게 정해 주는 것이 좋겠습니다.
결과를 볼 때 알아 둘 한계
작성자가 직접 밝힌 한계는 다음과 같습니다.
- 과제 수가 100개로 많지 않습니다.
- 과제가 모두 영어입니다.
- Claude는 확장 사고(extended thinking) 없이 실행했습니다.
- 로컬 모델은 4비트 양자화와 Ollama 기본 샘플링 설정을 사용했습니다.
따라서 "gemma4가 Sonnet보다 낫다"라고 일반화하기보다는, 이 조건에서 이런 경향이 나타났다 정도로 읽는 것이 적절합니다.
재현할 수 있게 공개된 자료
작성자는 실행 스크립트와 실행 기록 8,825건을 모두 공개했습니다. 직접 결과를 검증하거나 자기 환경에서 다시 돌려 볼 수 있습니다. 측정은 작성자의 RTX 3090과 Claude API로 진행했고, 실행과 소개글 작성에는 Claude(AI)의 도움을 받았다고 밝혔습니다.
정리하며
- RTX 3090 한 장으로도 도구 호출 에이전트 작업에서 상용 모델과 견줄 만한 결과를 낼 수 있습니다.
- 모델을 고를 때는 평균 점수보다 반복 실행에서의 일관성을 함께 확인해야 합니다.
- 모델의 확인 질문과 과잉 친절은 자동화 환경에서 예상하지 못한 결과를 낼 수 있습니다. 프롬프트에서 작업 범위를 분명히 정해 두는 것이 중요합니다.
로컬 LLM으로 에이전트를 구성하려는 분이라면 공개된 실행 기록을 직접 살펴보시길 권합니다. 실패 사례만 봐도 모델별 특성을 꽤 많이 파악할 수 있습니다.
원문: https://news.hada.io/topic?id=36515&utm_source=geeknews&utm_medium=rss&utm_campaign=news