Agent Builder- Supabase, Stripe MCP 연동


소개

Openai Agent Builder 로 19기 탐험을 하고 있습니다.

지난번에 상품리스트를 Agent의 File system에 넣고, Vector Store에서 검색하는 것을 해보았습니다.

❓ 고민 1. 과연 RDB의 정보를 Vectore Store에 넣는 것이 과연 효과적일까?
RDB의 정보는 관계성이 뚜렸해서, 관련 정보를 찾기위해 Vector store의 simulality에 의존할 필요가 없고, 정보의 수정이나 삭제가 빈번할 수 있는 정보이기에 RDBMS를 직접 연동해서 붙여보기로 했습니다.

✅ AI Agent Workflow: Vector DB vs RDB 비교 표

구분

Vector DB

RDB (PostgreSQL / Supabase)

핵심 목적

의미 기반 검색(semantic search), 지식 참조

상태 데이터 관리, 트랜잭션 처리

데이터 성격

문서, 설명, 후기, FAQ, 정책 등 언어적 지식

상품, 장바구니, 주문, 재고 등 비즈니스 핵심 데이터

데이터 형태

비정형 텍스트 기반(embedding)

정형 데이터(테이블, 스키마)

주 기능

유사도 검색(top-k), 컨텍스트 제공(RAG)

정확한 조회(WHERE), JOIN, INSERT, UPDATE, DELETE

변경 빈도

거의 없음 또는 낮음

매우 높음(장바구니·결제·주문 상태 등 지속 변경)

일관성(ACID)

제공 안 함

필수, 강함

조회 방식

“의미적으로 비슷한 정보”

“조건에 맞는 정확한 데이터”

적합한 질문 유형

“어떤 꽃차가 선물로 어울릴까?”“스트레스 완화 티 추천해줘”“환불 정책 찾아줘”

“장바구니에 뭐 들어있어?”“이 주문의 상태 업데이트해줘”“재고를 1 감소시켜줘”

에이전트 역할

판단 참고용 컨텍스트 제공

실제 비즈니스 상태 변경 및 결과 반환

특징

후보군을 넓게 잡음(Recall 중심)

정확성과 통제력 집중(Precision 중심)

장점

자연어 검색 강함문맥 기반 추천 가능대규모 문서 처리 용이

정확하고 안정적금융/결제/주문 등에 필수조인·조건 검색 최적화

약점

최신 상태 유지 어려움숫자·수량·상태 검사 불가

언어적 의미 검색 불가긴 문서 검색 비효율

MCP에서의 사용

semantic_search_tool, faq_search_tool

cart_db_tool, order_db_tool, product_db_tool

대표 적용 영역

상품 설명 기반 추천리뷰 요약/인사이트CS FAQ 검색업무 매뉴얼·문서 RAG

상품/사용자/장바구니/주문/결제/재고 관리포인트/쿠폰/배송 상태 등 트랜잭션

사용 예시

“선물 상황에 맞는 티를 의미 기반으로 검색”

“유저 123의 장바구니 상품 목록 가져오기”


🎯 결론 요약

  • Vector DB = 의미 기반 검색 + 지식 레이어
    → 문서, 설명, 리뷰, FAQ, 정책 같은 “언어적 데이터”에 강함
    → 에이전트가 판단할 때 참고하는 지식 뇌(Brain) 역할

  • RDB = 정확한 상태 관리 + 트랜잭션 처리
    → 사용자, 장바구니, 주문, 결제, 재고 등 비즈니스 원장(System of Record)
    → 에이전트가 직접 데이터를 변경해야 할 때 필수

고민 2. ai agent workflow 개발은 기존의 웹서비스 개발과 어떻게 다를까?
막상 openai agent builder를 가지고 뭔가 만들어 보려고 해도, workflow가 팍팍 떠오르지 않습니다.
내가 뭔가 agent 기반으로 사고하는 방법을 모르는게 아닌가 싶습니다.
그러다 아래 동영상을 발견하고, 작지만 실마리를 얻었습니다.

https://www.youtube.com/watch?v=MRrS1a7NYJY

여기 내용에서 인상 적인 부분은
AI Agent 개발 방법

에이전트 앱을 구축하는 방법을 보여주는 다이어그램

을 알게 되었다.

진행 방법



1. backend 만들기 (supabase 데이타)

1-1 supabase에 테이블 만들기

한국어 텍스트가 포함된 페이지의 스크린샷

chatGPT에 데이타 스키마를 넣고, 테이블 생성을 위한 SQL을 작성해달라고 합니다
1) user
supabase에서 user 추가로 수동 입력

2) product

create table public.products (
  id text primary key,
  title text not null,
  sub_title text,
  cover text,
  link text,
  created_at timestamp with time zone default now()
);

3) cart

create table public.cart (
  id bigint generated always as identity primary key,
  user_id uuid not null references auth.users(id) on delete cascade,
  product_id text not null references public.products(id) on delete cascade,
  quantity integer not null default 1,
  created_at timestamp with time zone default now(),
  updated_at timestamp with time zone default now()
);

4) Product 데이타 insert

insert into public.products (id, title, sub_title, cover, link) values
('419', '소중한 너에게 꽃차', '나비티백 3종 세트', 'https://iloveflowertea.com/web/product/small/202504/ce025488dedf66179cb66e49bbbec547.jpg', 'https://iloveflowertea.com/product/detail.html?product_no=419'),
('604', '무드 포 러브', '알디프 시그니처 블렌딩 티 8입', 'https://iloveflowertea.com/web/product/small/202511/dfcb96962b607041367332eb05400f11.jpg', 'https://iloveflowertea.com/product/detail.html?product_no=604'),
('601', '낮의 차', '알디프 라이프 블렌딩 티 8입', 'https://iloveflowertea.com/web/product/small/202511/c83fb2875c4fb8e46d3915a417e9d057.jpg', 'https://iloveflowertea.com/product/detail.html?product_no=601'),
('612', '러블리 티 컬렉션 10종', '티 집게 선물세트 + 쇼핑백(대)', 'https://iloveflowertea.com/web/product/small/202509/07a8b952ee50a5e5f016eed53656604c.jpg', 'https://iloveflowertea.com/product/detail.html?product_no=612');
데이터베이스의 다양한 데이터 유형을 보여주는 다이어그램
Google Analytics 대시보드의 스크린샷
  1. Agent Builder Workflow 만들기


    각 상세 설정

    다양한 설정이 적용된 화면의 스크린샷


    mcp 설정 상세 정보

여러 옵션이 강조 표시된 화면의 스크린샷

실행

한국어로 된 두 사람의 대화 스크린샷

stripe 호출

한국어로 된 문자 메시지의 스크린샷
휴대폰 결제 페이지 스크린샷

stripe test 페이지까지 호출해서 test결제가지는 완료 했습니다.
완료 메세지를 받는 부분에 더 이상 진행 안됨

3. web UI
리턴되는 결과 데이타의 json을 넣고,

결과와 배운 점

  • 고민1 RDB를 vectore store에 넣는 것이 과연 효과적일까?
    RDB는 RDB 그대로 쓰면된다. 용도에 맞게 쓰자.

  • 고민 2 Agent workflow의 개발 방식
    1. backend 2,agent workflow 3. UI

  • Agent로 개발하는 방식에서 기존 개발과 다른 점
    Database에 대한 CRUD( Create, Read, Update, Delete)를 만들어줄 필요가 없다.
    그냥 도구만 쥐어주면 된다.

  • 시행착오
    product widget을 명시 했는데, agent 가 맘대로 이미지 URL을 바꿈

    한국 전자상거래 플랫폼 한국 전자상거래 플랫폼 한국 전자상거래 플랫폼 한국 전자상거래 플랫폼 한국


    한달동안 openai agent builder로 여러가지 해보았습니다.
    스터디가 아니면, 사례글을 쓰려고 하지 않으면 못했을 모험이었습니다.
    여러가지 openai의 가능성과 Agent workflow 개발에서의 다양한 방향을 엿볼 수 있는 기회였습니다.

1

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요