Qwen2.5-3B 기반 5인 에이전트 경제 모델

다수의 LLM 에이전트를 동시에 운용하면 API 호출 비용과 응답 지연 시간이 기하급수적으로 증가한다. 프런티어 모델로 거래자 위원회를 구성해 매 틱마다 추론을 수행하는 방식은 운영 비용과 처리 속도 측면에서 실효성이 낮다. 이번 프로젝트에서는 Qwen2.5-3B 모델 5개를 배치해 자원 거래와 자산 축적이 일어나는 최소 단위의 경제 시스템인 Thousand Token Wood를 구축했다. 숲속 생물로 설정된 5마리의 에이전트가 5종의 재화와 조약돌(Pebbles)을 매개로 거래, 가십, 자산 축적, 패닉 반응을 수행한다. 인프라는 vLLM(고성능 LLM 추론 엔진) on Modal(클라우드 GPU 플랫폼) 환경에서 서버를 구동하며 Gradio(머신러닝 웹 인터페이스 라이브러리) 앱을 통해 숲속 경제의 상태를 실시간으로 관찰하는 구조다. 소형 모델을 선택함으로써 단일 배치 GPU 호출만으로 모든 에이전트의 턴을 결정하는 실시간 다중 에이전트 시뮬레이션을 가능하게 했다.

모델의 실제 성능은 포맷팅 능력과 추론 능력 사이의 불균형에서 나타난다. Qwen2.5-3B는 모든 호출에서 100% 유효한 JSON을 생성하는 높은 포맷팅 신뢰도를 기록했다. 그러나 경제적 판단력은 낮아 자신이 이미 충분히 생산하고 있는 재화를 다시 구매하려는 논리적 오류가 초기 테스트에서 빈번하게 관찰되었다. 이러한 추론의 한계는 공개된 open traces 데이터셋을 통해 구체적으로 확인할 수 있다. 데이터셋의 각 행에는 에이전트에게 주입된 전체 프롬프트, 모델의 원문 응답, 파싱된 최종 행동, 그리고 모델이 내놓은 내부 사고 과정이 상세히 기록되어 있다. 3B 규모의 소형 모델은 구조화된 데이터를 생성하는 도구로서는 신뢰할 수 있으나, 복잡한 경제적 합리성을 스스로 도출하는 추론가로서는 한계가 명확하다.

성능 확보를 위해 모델의 파라미터 수를 늘리는 스케일업 대신 구조적 제약과 프롬프트 최적화를 적용했다. 에이전트가 자신이 생산하는 품목을 명확히 인지하고 구매 금지 항목을 준수하도록 프롬프트를 재설계했으며, 현재 부족한 재화 목록을 시스템이 직접 계산해 입력값으로 제공하는 방식을 도입했다. 또한 생산량보다 소비량을 높게 설정해 에이전트가 생존을 위해 강제적으로 거래에 참여하게 만드는 희소성 설계를 구축했다. 여기에 잔여 수요와 공급량에 따라 시장 참조 가격이 유동적으로 변동하는 드리프트(drift) 메커니즘을 결합해 실제 시장과 유사한 가격 변동성을 구현했다. 결과적으로 SLM(소형 언어 모델) 기반 에이전트 시스템 구축의 실무 기준은 개별 모델의 지능에 의존하는 것이 아니라, 시스템 전체의 제약 조건과 보상 체계를 정밀하게 설계하여 모델의 추론 부담을 줄이는 방향으로 설정되어야 한다.

희소성 설계와 JSON 복구 레이어

초기 시뮬레이션에서 에이전트들은 거래를 멈췄다. 생산량이 소비량을 앞지르자 모든 개체가 자급자족 상태에 빠졌기 때문이다. 시장은 단 한 번의 정산 이후 침묵했다. 이를 해결하기 위해 소비량을 생산량보다 높게 설정하는 희소성 설계를 도입했다. 강제적인 결핍 상태를 만들어 거래 동기를 부여했다. 특정 공급자가 증가하는 수요를 모두 충족할 수 없게 설정하자 땔감을 가진 개체가 부를 축적하고 나머지가 온기를 위해 경쟁하는 환경이 조성됐다. 결핍이 거래의 필수 전제 조건임을 확인한 결과다.

3B 모델은 JSON 포맷은 완벽하게 출력했지만 경제적 판단력은 낮았다. 도토리를 생산하는 에이전트가 정작 도토리를 구매하려는 주문을 올리는 오류가 반복됐다. 모델 스케일을 키우는 대신 프롬프트를 정교화했다. 에이전트별 생산 품목을 명시하고 구매 금지 품목을 강제 지정했다. 단순히 구매를 지시하는 대신 시스템이 현재 부족한 재화 목록을 직접 계산해 입력값으로 제공하고 단 하나의 작업 예시를 추가했다. 이 조치로 에이전트들은 자신의 역할에 맞는 거래를 수행하며 의사결정 품질을 높였다. 모델의 추론 능력에 의존하지 않고 입력 단계에서 정답에 가까운 상태 값을 주입한 것이다.

응답의 안정성을 위해 JSON parse-and-repair 레이어를 구축했다. 모델이 잘못된 형식의 응답을 내놓더라도 시스템 전체가 중단되는 crash 대신 아무런 행동을 하지 않는 no-op 처리를 수행했다. JSON 파싱 오류가 발생했을 때 예외 처리를 통해 해당 턴의 행동만 무효화함으로써 시뮬레이션 전체 루프의 붕괴를 막았다. 상태 관리 방식도 변경했다. 웰빙 지표를 누적값으로 설계했을 때는 만성적인 재화 부족이 모든 에이전트를 0으로 수렴시키는 데드스파이럴 현상이 나타났다. 이를 평균 회귀 방식으로 전환했다. 식사와 온기가 제공되면 지표가 다시 회복되도록 설계해 생존 가능성을 확보했다. 생존의 압박을 웰빙 지표가 아닌 재화와 가격의 변동성으로 옮긴 설계다.

SLM 기반 에이전트 시스템에서 성능 확보의 핵심은 모델의 지능에 의존하지 않는 것이다. 개별 모델의 추론 능력을 스케일업하는 것보다 구조적 제약과 프롬프트 최적화로 제어권을 쥐는 것이 실무적인 기준이 된다. 시스템이 계산한 정확한 상태 값을 제공하고 포맷팅 능력만을 활용하는 파이프라인을 구축할 때 비로소 안정적인 자율 시스템이 작동한다. 복잡한 상호작용이 필요할수록 모델의 지능보다 시스템 전체의 제약 조건과 보상 체계를 정교하게 설계하는 것이 효율적이다. 지능의 공백을 시스템적 제약으로 메우는 방식이다.

프런티어 모델 대비 SLM의 효율과 한계

멀티에이전트 환경에서 응답 속도는 시스템의 실시간성을 결정하는 핵심 지표다. 프런티어 모델을 활용해 여러 에이전트의 턴을 처리할 경우, 매 틱마다 모든 거래자의 의사결정을 기다려야 하는 구조적 지연과 기하급수적으로 증가하는 API 호출 비용이 발생한다. 프런티어 모델의 느린 응답 속도는 에이전트 간의 상호작용 주기를 늘려 전체 시뮬레이션 시간을 비현실적으로 지연시킨다. 반면 SLM(Small Language Model, 소형 언어 모델)은 단일 배치 GPU 호출만으로 모든 에이전트의 턴 결정을 동시에 처리할 수 있는 효율성을 가진다. 대규모 모델이 제공하는 고차원적 추론보다 처리 속도와 비용 효율성이 우선되는 실시간 멀티에이전트 시뮬레이션에서는 SLM이 사실상 유일한 대안이다.

기술적 구현 단계에서 3B 모델은 모든 호출에서 100% 유효한 JSON 포맷을 생성하며 데이터 파이프라인의 안정성을 입증했다. 하지만 포맷팅의 정확도가 추론의 정확도로 직결되지는 않았다. 포맷팅 오류로 인한 시스템 충돌은 없었으나, 논리적 오류로 인한 경제 생태계의 붕괴 위험은 여전했다. 초기 테스트 과정에서 도토리(Acorn)를 생산하는 에이전트가 정작 본인이 과잉 보유하여 판매해야 할 도토리를 다시 구매하려는 경제적 판단 오류를 빈번하게 보였다. 이는 SLM이 정해진 규격에 맞춰 응답을 생성하는 능력은 탁월하지만, 재화의 희소성과 교환 가치라는 복잡한 경제적 인과관계를 스스로 분석하는 추론 능력은 현저히 낮음을 보여준다. 3B 모델은 신뢰할 수 있는 포맷 생성기이지만 신뢰하기 어려운 추론기라는 이면을 가진다.

이러한 추론 능력의 공백은 모델의 크기를 키우는 스케일업이 아니라 프롬프트 최적화와 구조적 제약 설계를 통해 보완했다. 각 에이전트에게 생산 품목을 명확히 인지시키고 구매 금지 품목을 강제 지정했으며, 현재 부족한 재화 목록을 시스템이 미리 계산해 입력값으로 제공하고 구체적인 행동 예시를 주입하는 방식을 택했다. 여기에 생산량보다 소비량을 높게 설정해 강제적인 거래 동기를 부여하는 희소성 설계와 잔여 수요 및 공급량에 따라 시장 참조 가격이 변동하는 드리프트 메커니즘을 결합했다. SLM 기반 에이전트 시스템 구축 시 성능 확보의 실무 기준은 모델의 지능에 의존하는 것이 아니라, 입력 단계의 데이터 정밀도와 구조적 제약을 통해 추론의 빈틈을 메우는 최적화 전략에 있다.

시장 충격 시나리오와 가격 변동의 실현

정교한 경제 시뮬레이션을 위해 AI 에이전트에게 복잡한 행동 스크립트를 학습시켜야 한다고 믿는 경우가 많다. 하지만 실제로는 역사적 변수 주입만으로도 비스크립트 방식의 시장 붕괴를 구현할 수 있다. Wood Legend 기능은 튤립 광풍, 남해 회사 거품, 1929년 뱅크런 같은 실제 경제 사건을 숲속 민담으로 재구성해 에이전트에게 전달한다. 튤립 광풍은 위대한 도토리 광풍으로, 남해 회사 거품은 속 빈 통나무 무역 회사로 변환되어 시스템에 주입된다. 이는 단순한 배경 설정이 아니라 에이전트의 의사결정에 직접적인 영향을 주는 외부 충격 변수로 작동한다.

1929년 뱅크런을 모티브로 한 Oona의 저장고 뱅크런 시나리오에서 에이전트의 실질적인 반응이 관찰되었다. 부엉이 Oona의 금고가 비었다는 소문이 퍼지자 Oona는 조약돌(Pebbles)을 빠르게 확보하기 위해 보유하고 있던 꿀을 시장에 대량으로 매각하기 시작했다. 갑작스러운 공급 과잉이 발생하면서 꿀의 시장 참조 가격은 10에서 3으로 폭락했다. 개발자가 특정 시점에 매각하라는 명령을 내리지 않았음에도 에이전트가 상황에 맞춰 자산을 투매하며 시장 가격을 직접 변동시킨 결과다.

이러한 가격 변동을 실현하기 위해 적용된 핵심 기제는 잔여 수요와 공급에 따라 가격이 움직이는 drift 방식의 가격 결정 모델이다. 초기 테스트에서 에이전트들은 시스템이 제시한 참조 가격을 그대로 인용해 응답하는 경향을 보였고, 이로 인해 시장 가격이 고정되는 현상이 발생했다. 이를 해결하기 위해 매 라운드가 종료된 시점에서 체결되지 않은 매수와 매도 주문의 양을 계산해 참조 가격을 자동으로 조정하게 설계했다. 미충족된 매수 주문이 누적되면 가격이 상승하고, 반대로 재고가 쌓이는 공급 과잉 상태에서는 가격이 하락한다. 이 메커니즘을 통해 시장은 희소성 상황에서 가격 추세를 형성하고 거래가 균형을 이룰 때는 안정을 유지한다.

SLM(Small Language Model, 소형 언어 모델) 기반 에이전트 시스템에서 성능을 확보하는 실무 기준은 모델의 파라미터 규모를 키우는 스케일업이 아니다. 3B 모델의 한계인 낮은 경제적 추론 능력을 인정하고, 구조적 제약과 프롬프트 최적화로 이를 보완하는 것이 효율적인 해법이다. 모델에게 복잡한 경제적 판단을 맡기는 대신 입력 단계에서 부족 재화 목록과 같은 정확한 상태 값을 제공하고, 모델은 강점인 JSON 포맷팅 능력만 활용해 행동을 결정하게 하는 구조를 구축해야 한다. 이를 통해 프런티어 모델 대비 현저히 낮은 비용으로도 복잡한 경제 상호작용과 시장 변동성을 구현할 수 있다.

한국 AI 실무자를 위한 SLM 에이전트 도입 전략

다수의 LLM 에이전트를 동시에 운용할 때 발생하는 API 비용과 응답 지연을 어떻게 해결할 것인가. 프런티어 모델은 매 틱마다 수많은 거래자의 의사결정을 처리하기에 응답 속도가 느리고 호출 비용이 과도하다. 반면 SLM은 단일 배치 GPU 호출만으로 모든 에이전트의 턴을 결정할 수 있어 실시간 다중 에이전트 시뮬레이션을 가능하게 한다. 모델 체급을 낮추는 선택은 단순한 비용 절감이 아니라 시스템의 실시간성을 확보하기 위한 필수적인 공학적 결정이다.

Qwen2.5-3B 모델은 모든 호출에서 100% 유효한 JSON을 생성하는 포맷팅 능력을 보였으나 경제적 판단 능력은 낮았다. 도토리를 생산하는 에이전트가 정작 도토리를 구매하려는 판단 오류가 발생한 것이 대표적이다. 이를 해결하기 위해 모델의 추론 능력에 의존하지 않고 입력 단계에서 부족 재화 목록을 정확히 계산해 제공하며 구매 금지 품목을 명시하는 전략을 사용했다. 여기에 단 하나의 구체적인 작업 예시를 추가하자 의사결정 품질이 즉각적으로 상승했다. SLM의 강점인 구조화된 데이터 생성 능력을 파이프라인의 핵심으로 삼고, 부족한 추론 지능은 입력 데이터의 정밀도로 보완하는 설계가 효율적이다.

초기 설계에서 생산량이 소비량을 앞지르자 에이전트들이 자급자족하며 거래가 중단되는 현상이 관찰되었다. 이를 해결하기 위해 소비량을 생산량보다 높게 설정하는 희소성 설계를 도입하고 잔여 수요와 공급에 따라 가격이 변동하는 메커니즘을 구축했다. 개별 모델의 지능을 높여 경제적 판단을 맡기는 것보다 시스템 전체의 제약 조건과 보상 체계를 설계하는 것이 복잡한 상호작용을 유도하는 데 훨씬 효과적이다. 가격이 잔여 수요에 따라 상승하거나 공급 과잉 시 하락하는 구조적 장치가 에이전트의 행동을 강제하며 시장의 역동성을 만들어낸다.

SLM 기반 에이전트 시스템을 구축할 때 모델 스케일업은 더 이상 최선책이 아니다. 3B급 모델이 가진 신뢰할 수 있는 포맷팅 능력과 불안정한 추론 능력 사이의 간극은 모델 크기가 아니라 구조적 가이드라인과 프롬프트 최적화로 메워야 한다. 실무자는 모델의 체급을 올리는 대신 입력 단계에서 상태 값을 미리 계산해 제공하고 시스템의 제약 조건을 정교하게 설계하는 방향으로 성능을 확보해야 한다. 이것이 특수 목적의 에이전트 워크플로우에서 운영 비용을 최소화하면서도 의도한 성능을 구현하는 실무적 기준이다.

다수의 LLM 에이전트를 운용할 때 발생하는 API 비용과 응답 지연은 실무적 진입 장벽이다. Qwen2.5-3B는 JSON 포맷 생성의 정확도는 높으나 경제적 추론 능력이 낮다. 이를 보완하기 위해 생산량보다 소비량을 높게 설정하는 희소성 설계와 잔여 수요 및 공급에 따른 가격 변동 메커니즘을 프롬프트 단계에서 강제해야 한다.

SLM 기반 에이전트 시스템 구축의 성패는 모델의 스케일업이 아닌 구조적 제약과 프롬프트 최적화 수준에서 갈린다. 모델의 지능에 의존하지 않고 시스템 설계로 추론의 빈틈을 메우는 전략이 운영 비용과 성능의 균형점을 결정한다.