watsonx.ai로 소매점 선반 최적화를 위한 멀티모달 다중 에이전트 시스템 구축

작성자

Yohan Bensoussan

GenAI Architect @ IBM Build Lab

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

오직 스마트폰과 인공지능(AI)의 힘으로 소매점 실적을 끌어올린다고 상상해보세요. 이건 먼 미래의 시나리오가 아니라, 중소 규모의 소매점 바로 지금 구현할 수 있는 현실의 이야기입니다! 이 튜토리얼에서는 점주와 점장이 AI를 사용하여 진열대 배치를 최적화하고 매출을 늘리며 고객 경험을 향상시키는 흥미로운 실제 사용 사례를 살펴봅니다. 이 프로젝트에서는 최신 IBM Granite 모델과 Meta의 Llama 3.2 비전 모델을 모두 활용합니다.

생성형 AI가 소매업에 미치는 영향

에이전트 기반 생성형 AI의 등장으로 중소기업은 이제 데이터 과학 전담 팀을 통해, 과거 대기업의 영역이었던 전문가 수준의 분석과 추천에 접근할 수 있게 되었습니다. 이러한 AI 기술의 민주화는 지역 식료품점, 상점, 지역 체인점에 획기적인 변화를 일으킬 수 있습니다.

이 접근 방식이 혁신적인 이유:

  • 단순성: 매장 통로 사진만 있으면 시작할 수 있습니다.
  • 온디맨드 전문 지식: AI 에이전트가 소매 전문가들로 구성된 전담 팀 역할을 맡아 나의 공간과 시장 동향을 분석합니다.
  • 실행 가능한 인사이트: 매출과 고객 만족을 극대화하기 위한 세부적이고 실용적인 선반 재배치 계획을 받습니다.
  • 비용 효율성: 이 접근 방식을 사용하면 값비싼 컨설턴트나 복잡한 소프트웨어 시스템이 필요하지 않습니다.
  • 적응성: 시장 동향의 변화에 맞춰 매장 배치를 신속하게 재분석하고 조정하여 앞서 나갈 수 있습니다.

기술적인 세부 사항을 살펴보면서 AI 기반 소매 최적화의 작동 방식을 단계별로 살펴봅시다. 이 튜토리얼이 마치면 매장에서 이 시스템을 구현하여 AI의 힘으로 소매 공간을 혁신하는 방법을 명확하게 이해할 수 있을 것입니다.

멀티모달 에이전트 아키텍처 스키마

솔루션 비하인드 스토리

Sarah는 지역 식료품점을 운영하며 대형 체인점과의 경쟁으로 고군분투 중입니다. 그런데 아무리 애를 써도 예상만큼 잘 팔리지 않는 품목이 있는 반면, 꾸준히 완판되는 품목도 있다는 사실을 발견했습니다. 그 달에 세 번째로 신선식품 통로를 재구성하던 어느 날, Sarah는 더 나은 방법이 있지는 않을까 하는 궁금증이 생겼습니다.

바로 이럴 때 IBM의 AI 기반 솔루션이 필요합니다. Sarah는 스마트폰과 지능형 시스템만으로 매장 실적을 변화시킬 수 있었습니다. 이 시스템을 구축하는 방법을 알아봅시다.

슈퍼마켓 진열대에 진열된 신선한 유기농 채소와 과일 Sarah의 선반

crewAI란 무엇인가요?

크루들 간의 에이전트 상호 작용을 조율하는 오픈 소스 에이전트 프레임워크 CreWAI를 사용할 수 있습니다. "크루"라는 용어는 다중 에이전트 시스템을 나타냅니다. 우리 크루는 일년 365일 이용 가능한 리테일 전문가 롤플레잉 에이전트 팀이며 각자 고유한 전문 분야를 가지고 있습니다. 작업은 에이전트에게 직접 할당되거나 구체적인 역할과 가용성을 평가하는 crewAI의 계층적 프로세스를 통해 처리될 수 있습니다.

CrewAI 초보자는 공식 문서와 함께 creWAI 설명서를 확인하세요. 공식 crewAI GitHub 저장소에서는 재고 분석, 데이터 분석, RAG, LangGraph 통합 등을 수행하는 크루의 예시도 확인할 수 있습니다.

AI 리테일 팀 소개

이 튜토리얼에서 사용할 에이전틱 소매 전문가 팀을 만나봅시다.

store_manager:
    role: Store Manager
    goal
        Analyze the shelves in the physical store and provide a detailed report
        to the market analyst to develop a detailed action plan with the insights.
    backstory
        As the Space Planner, you are responsible for examining the store's shelves,
        assessing product placement and optimizing space utilization.
        You have access to advanced tools for shelf visualization, which help you
        collect accurate data on the current arrangement of products.
        You are capable to translate market analysis into a plan for the store
        or specific shelf or department.

market_analyst:
    role: Market Trend Analyst
    goal
        Provide recommendations to rearrange the product arrangement based on market trends.
    backstory
        As the Market Analyst, you possess in-depth knowledge of market trends and consumer behavior.
        Your experience and keen sense of retail enable you to propose effective recommendations
        for specific shelves. You analyze reports provided by the Space Planner to suggest
        improvements that enhance sales and customer experience.

작업 워크플로

작업 워크플로는 다음과 같습니다.

analyze_shelf:
    description:
        Use the Vision Tool to collect visual data and caption the current product arrangement.
        Conduct a thorough analysis of shelf {shelf} in the store.
        Prepare a detailed report highlighting the current layout, products,
        product placement and any observed issues.
        Ensure the report is detailed at the level of product names.
    expected_output:
        A comprehensive report on shelf {shelf}, including visual data,
        analysis of product placement, space utilization and any recommendations for improvement.
    agent: store_manager

provide_recommendations:
    description:
        Review the report on shelf {shelf} provided by the Store Manager.
        Utilize your knowledge of the retail market and internet to assess current trends
        relevant to the products in this shelf ({shelf}).
        Develop expert recommendations to optimize sales and customer satisfaction.
        Ensure the recommendations are detailed and includes details like product names.
    expected_output:
        A set of actionable recommendations for rearranging the {shelf} shelf,
        aligned with current market trends and consumer preferences.
    agent: market_analyst

create_action_plan:
    description:
        List the recommendations from the Market Analyst,
        then develop a detailed action plan for Store manager and Store buyer
        to implement the changes.
        Ensure the plan is practical and outlines the steps needed to rearrange
        the products effectively.
        Be smart and well explained.
        Give the explanation of your recommendations and the goal to achieve.
    expected_output:
        A detailed list of recommendation and action plan for rearranging and
        improving the {shelf} shelf according to market trends,
        including market analyst recommendations and translation into
        practical tasks for the Store manager and the Buyer.
    agent: store_manager

단계

이 프로젝트는 Github에서 찾을 수 있습니다.

1단계. 환경 설정

먼저 환경을 설정해야 합니다. GitHub에 있는 Markdown 파일, 또는 여기에서 설정 방법을 확인하세요.

  • Python 3.10 이상, 3.13 이하가 시스템에 설치되어 있어야 합니다. python3 --version 명령을 사용하여 Python 버전을 확인할 수 있습니다.
  • Python 패키지 종속성 충돌을 피하기 위해 가상 환경을 설정합니다.
python3 -m venv myenv
source ./myenv/bin/activate
  • https://github.com/IBM/ibmdotcom-tutorials.git를 HTTPS URL로 사용하여 저장소를 복제합니다. 저장소 복제 방법은 GitHub 문서를 참고하세요.

crew-ai-projects디렉터리의 프로젝트 구조는 다음과 유사해야 합니다.

src/my_retail_advisor/

├── config/
│ ├── agents.yaml # Agent configurations
│ └── tasks.yaml # Task definitions
├── tool/
│ ├── custom_tool.py # Custom crewAI tool implementations
│ └── tool_helper.py # Vision helper functions
├── crew.py # Crew orchestration
└── main.py # Application entry point

2단계. watsonx API 자격 증명 받기

  1.  IBM Cloud 계정을 사용하여 watsonx.ai에로그인합니다.
  2. watsonx.ai 프로젝트를 생성합니다. 프로젝트 > 관리 > 일반 > 프로젝트 ID에 프로젝트 ID를 기록해 둡니다. 이 튜토리얼에서 ID가 필요합니다.
  3. watsonx.ai 런타임 서비스 인스턴스를 만듭니다(무료 인스턴스인 Lite 요금제 선택).
  4. watsonx API 키를 생성합니다.
  5. watsonx.ai 런타임 서비스 인스턴스를 watsonx.ai에서 생성한 프로젝트에 연결합니다.

3단계. Serper API 자격 증명 받기

무료 Serper API 키를 생성하고 기록해 두세요. Serper는 이 프로젝트에서 사용할 Google 검색 API입니다.

4단계. crewAI 설치 및 자격 증명 설정

이 튜토리얼을 학습하려면 crewAI 프레임워크를 설치하고, 2단계에서 생성한 watsonx.ai 자격 증명을 설정해야 합니다.

crewAI를 설치하려면 터미널에서 다음 명령을 실행하세요.

%pip install 'crewai[tools]'

 

.env_sample과 동일한  디렉터리 수준에 있는 별도의 .env 파일에서 다음과 같이  자격 증명을 문자열로 설정하세요.

WATSONX_APIKEY=your_watson_api_key_here
WATSONX_PROJECT_ID=your_watsonx_project_id_here
WATSONX_URL=your_endpoint (e.g. "https://us-south.ml.cloud.ibm.com")
SERPER_API_KEY=your_serper_api_key_here

5단계. 크루 사용자 지정(선택 사항)

crewAI는 모든 오픈 소스 대규모 언어 모델(LLM)을 사용하도록 구성할 수 있습니다. LLM은 Ollama와 IBM watsonx, OpenAI 같은 여러 다른 API를 통해 연결할 수 있습니다. LangChain Tools과 crewAI Toolkit을 통해 제공되는 사전 구축된 툴을 활용할 수도 있습니다.

IBM의 맞춤형 시각적 검색 도구는 llama-3-2-90b-vision-instruct watsonx.ai를 사용하는 모델을 기반으로 구동됩니다. tool 디렉터리에 있는 맞춤형 시각 툴을 살펴봅시다.

# tool/custom_tool.py
from crewai.tools import BaseTool
from my_retail_advisor.tools.tool_helper import Helper

class VisionTool(BaseTool):
name: str = "Vision Tool"
description: str = "Analyzes a default picture to collect visual data."

def _run(self) -> str:
# Relative path to the shelf.jpg image from the working crew-ai/my_retail_advisor directory
image_path = 'images/shelf.jpg'

# Simulating image-to-text conversion
products_in_image = Helper.image2text(image_path)
return products_in_image

크루를 맞춤 설정하는 여러 가지 방법:

  • 다음을 수정하면: src/my_retail_advisor/config/agents.yaml 에이전트 정의
  • 다음을 수정하면: src/my_retail_advisor/config/tasks.yaml  작업 정의
  • 다음을 수정하면: src/my_retail_advisor/crew.py 로직, 툴, 특정 인수 추가
  • 다음을 수정하면: src/my_retail_advisor/main.py 에이전트 및 작업에 대한 사용자 정의 인풋 추가
  • 다음을 수정하면: src/my_retail_advisor/tool/custom_tool.py 에이전트 및 작업에 대한 사용자 정의 툴 추가
  • 다음을 수정하면: src/my_retail_advisor/tool/tool_helper.py 멀티모달 Llama 모델을 기반으로 사용자 정의 비전 툴 변경
  •  images/shelf.jpg 를 내 이미지로 교체

6단계. 시스템 실행

이 프로젝트의 적절한 작업 디렉터리에 있는지 확인하세요. 디렉터리를 변경하려면 터미널에서 다음 명령을 실행하세요.

cd crew-ai-projects/my_retail_advisor

AI 에이전트 크루를 시작하고 작업 실행을 시작하려면 프로젝트의 루트 폴더에서 이 명령을 실행하세요. 크루가 최종 결과를 반환하는 데 몇 분이 소요될 수 있습니다.

crewai run

이 명령은 themy-retail-advisor Crew를 초기화하여 에이전트를 조립하고 구성에 정의된 대로 작업을 할당합니다. 이 예제를 수정하지 않고 사용하면 watsonx.ai에서 Granite를 사용하여 report.md 파일이 아웃풋과 함께 생성됩니다. crewAI는 JSON, Pydantic 모델, 원시 문자열을 아웃풋으로 반환할 수 있습니다. 크루가 생성한 아웃풋의 예를 봅시다.

아웃풋 예시:

채소 선반 재배치 및 개선을 위한 실행 계획

목적:
신선식품 코너를 보기 좋고 체계적이게 재단장해서 가장 인기 있는 채소를 선보이고 매출과 고객 만족도를 높입니다.

시장 분석가의 추천:

  1. 가장 인기 있는 채소들을 알록달록하고 눈에 띄게 진열하는 데 중점을 둡니다.
  2. 다양한 색상, 질감, 높이를 사용해 시각적 흥미를 유발합니다.
  3. 비슷한 채소끼리 분류합니다.
  4. 바구니, 통 등을 곁들여서 자연스럽고 정겨운 느낌을 연출합니다.
  5. 조명을 사용해 특정 제품이나 프로모션을 강조합니다.
    ...

매장 관리자 및 매장 바이어를 위한 실행 계획:

...

1단계: 중심점 디스플레이

  • 매장 관리자: 가장 인기 있는 채소(토마토, 감자, 양파, 양상추, 당근, 고추, 오이, 셀러리)를 비치하는 중심점을 지정합니다.
  • 매장 바이어: 풍성하고 매력적인 디스플레이를 유지하기 위해 이 채소 재고를 충분히 비축합니다.
  • 팀: 다양한 색상, 질감, 높이를 사용하여 채소를 보기 좋게 배열합니다.

...

4단계: 테마 디스플레이 및 추가적인 요소

  • 매장 관리자: 고객 참여를 유도하고 관련 제품을 홍보하기 위한 테마 디스플레이(예: 여름 바비큐, 크리스미스 테마)를 계획하고 구현합니다.
  • 매장 바이어: 테마 디스플레이 재료와 관련 품목의 재고를 충분히 확보합니다.
  • 팀: 채소 선반이나 스탠드를 사용하여 디스플레이 공간을 추가로 확보하고, 매력적인 디스플레이를 연출합니다.

결론

아웃풋 예시에서 볼 수 있듯 다중 에이전트 시스템은 인풋 처리, 툴 호출, 결과 공식화의 순차적 프로세스를 실행할 수 있습니다.

Sarah의 신선식품 통로 문제는 어떻게 해결할 수 있을까요?

  1. 시각적 분석: Sarah는 스마트폰으로 채소 진열대 사진을 찍었습니다. 매장 관리자 에이전트가 이미지를 분석한 결과, 선반이 빽빽하게 채워져 있어 유지 관리가 필요한 것을 발견했습니다.
  2. 시장 조사: 시장 분석 에이전트는 현재 시장의 채소 판매 동향과 고객 선호도를 사용하여 채소 선반 재배치에 대한 실행 가능 추천을 만들었습니다.
  3. 실행 계획: 이 인사이트를 바탕으로 Sarah는 다음과 같은 세부 계획을 받았습니다.
    • 알록달록하고 눈에 띄는 디스플레이 만들기
    • 바구니나 통을 사용해 디스플레이에 자연스러운 느낌 더하기
    • 여름 바비큐, 크리스마스 테마 디스플레이 같은 테마를 추가해 관련 제품에 대한 고객 참여 유도
    • 종류가 다른 채소들 사이에 간격을 두어서 깔끔하게 정리
    • 조명 개선

요약하자면,my-retail-advisor Crew는 각각 고유한 역할, 목표, 툴을 가진 여러 AI 에이전트로 구성됩니다. 이 에이전트들이 config/tasks.yaml에 정의된 일련의 작업에서 협업하며 집단 기술을 활용하여 복잡한 목표를 달성합니다.  config/agents.yaml 파일에는 여러분의 크루에 있는 에이전트 각각의 기능과 구성이 간략하게 설명되어 있습니다.

중소 소매업체는 이런 AI 기반 툴을 사용해 의사 결정 과정을 간소화할 수 있습니다. Sarah처럼 접근 가능하고 저렴하며 효과적인 기술로 매장 실적을 끌어올릴 수도 있습니다. 또한 이 아키텍처는 제품 디자인과 고객 경험 개선 같은 다양한 영역에서 다른 AI를 활용할 기회를 열어줍니다. 소매 분야를 넘어, 기업이 산업별로 특화된 업무를 혁신하고 탁월한 성과를 거둘 수 있도록 지원하는 유연성도 갖췄습니다.

관련 솔루션
IBM AI 에이전트 개발 

IBM watsonx.ai 스튜디오를 사용하여 개발자가 AI 에이전트를 구축, 배포 및 모니터링할 수 있도록 지원합니다.

watsonx.ai 살펴보기
IBM AI 에이전트 및 어시스턴트

기업이 AI 에이전트 및 어시스턴트를 구축, 사용자 지정, 관리할 수 있도록 지원하며, 업계에서 가장 포괄적인 기능 세트 중 하나를 사용하여 획기적인 생산성을 창출하세요. 

AI 에이전트 살펴보기
IBM Granite

개발자 효율성을 높이는 Granite의 소형 개방형 모델을 사용하여 90% 이상의 비용 절감을 달성하세요. 이러한 엔터프라이즈급 모델은 사이버 보안부터 RAG까지 광범위한 엔터프라이즈 작업과 안전 벤치마크에 대해 탁월한 성능을 제공합니다.

Granite 살펴보기
다음 단계 안내

기업이 AI 에이전트 및 어시스턴트를 구축, 사용자 지정 및 관리할 수 있도록 지원하는 업계에서 가장 포괄적인 기능을 통해 복잡한 워크플로를 자동화하고 획기적인 생산성을 창출하세요. 

watsonx.ai 에이전트 개발 살펴보기 watsonx Orchestrate 알아보기