OpenAI Agent Builder 두번째 발 내딛기(Feat. Templates)

소개

벌써 19기 3주차..
시간은 흐르고, Agent Builder는 아직 잘 모르겠고,
어떤걸 자동화 할 지 아이디어도 없고 해서
일단 OpenAI Agent Builer에서 제공하고 있는 Template 들을 살펴보고,
기본기를 쌓아 보려 합니다.

진행 방법

https://platform.openai.com/agent-builder 에서 제공하는 Templates들을 살펴봅니다.

Agent Builder 화면에서 세번째 tab : Templates를 클릭해 보면 6가지 예제가 나옵니다.

여러 개의 버튼이 있는 검은색 화면의 스크린샷


1. Data enrichment

보고서 작성 과정을 보여주는 다이어그램
  • 사용한 노드 : Start, Agent

  • 개요 : 입력된 기업에 대한 정보를웹 검색을 통해 조사하고, 요약 분석을 작성하는 간단한 워크플로우

  • 사용법 : "NVDA 분석"

Node 분석

  • Start

    워크플로 입력 정의 시작
    • input variable : input_as_text

    • State variable: 아직 잘 모름, workflow 에서 사용할 상태관리 변수?

  • Web research agent

    웹 조사 에이전트의 ��스크린샷
    • instructions

      당신은 도움이 되는 어시스턴트입니다. 다음 회사에 대한 정보를 웹 검색을 사용하여 찾아 주세요. 이는 기본 주제에 기반한 마케팅 자산에 사용할 수 있는 정보여야 합니다

    • output format : JSON

      • JSON 항목 타입 : STR, NUM, BOOL, ENUM, OBJ, ARR

      • Description : AI가 인식해서 값을 채월줄만한 힌트 작성

    • Agent이니 기본으로 Include chat history 기능은 켜져 있는 듯 함.

    • Research 부분은 향후 MCP 등을 이용하는 걸 고려해 볼 수 있다는 가이드 확인

  • Summarize and display

    • 지침 : 조사 자료를 설명된 출력 형식에 맞춰 깔끔하게 정리해 주세요.

    • Output fromat : Widget 사용

      • Outpu fromat에서 Widget 선택 후 +Widget 클릭하면, Widget Builder로 이동

        • 결과를 표시할 JSON을 먼저 만들고, WidgetBuilder에서 이 데이터를 이용해서 이쁘게 출력할 수 있게 해줘.!

    • 구조화된 데이터 결과를 외부 MCP 등을 이용해서 변환 가능하다고 함.

  • 실습!!2. Planning Helper

  • 사용한 노드 : Start, Agent, IF/else

  • 개요 : 사용자가 입력한 메시지의 의도를 파악하여 작업의 흐름을 분기 처리.
    이 workflow를 잘 이용하면 GPTs 를 만드는 효과가 있을 듯 함.(사용자가 입력해 주는 정보가 마지막 답변에 충분할 때까지 질문을 계속 진행)

  • 사용법 : OpenAI Agent Builder 학습 계획 세워줘.

Node 분석

  • Start

  • Triage

    • instructions

      당신은 비즈니스 이니셔티브 계획을 수립하는 데 필요한 핵심 정보를 수집하는 어시스턴트입니다.
      대화를 검토하여 다음 사항을 추출하세요:
      1.이니셔티브 목표 (팀 또는 조직이 달성하려는 것)
      2.목표 완료 일정 또는 기간1. 가용 자원 또는 현재 역량 (예: 인원 수, 예산, 도구 접근 권한 등)

      대화 어디에서든 위 세 가지 세부 정보가 모두 존재하는 경우 다음을 반환하세요:
      {  
      "has_all_details": true,
      "initiative_goal": "",
      "target_timeframe": "",
      "current_resources": ""
      }```

    • output : 프롬프트에서 json 형태로 만들라고 해서, Description에는 별다른 기입없음.

      • 웹사이트 설정을 보여주는 화면의 스크린샷
  • Condition

    • 작업의 갈래를 지정,하단의 +Add 클릭하여 갈래를 늘릴 수 있음.

    • input.output_parsed.has_all_details == true

    • logic : ?, || , &&

    • Case name 하단 입력 영역을 클릭 하면 사용할 수 있는 항목들(이전 노드들이 전달해 주는 항목들)이 출력됨

  • Launch helper

    • instructions

      사용자가 제공한 모든 세부 사항을 고려하여 새로운 비즈니스 이니셔티브를 실행할 수 있도록 맞춤형 계획을 세워 주세요.
      웹 검색 도구를 사용해 추가 맥락을 파악하고, 프로젝트 실행 방법을 명확히 설명하는 간결한 답변을 만들어 주세요.
      독특한 기회를 식별하고, 주요 리스크를 강조하며, 합리적인 완화 방안을 제시하세요.답변은 간결한 불릿 포인트 리스트로 제공해 주세요.

    • Tools : Web Search

  • Get data

    • instructions

      사용자에게 누락된 데이터를 수집하세요.
      대화를 검토하여 다음을 추출하세요:

      1. 이니셔티브 목표 (팀 또는 조직이 달성하려는 것)

      2. 목표 완료 일정 또는 기간

      3. 가용 자원 또는 현재 역량 (예: 인원 수, 예산, 도구 접근 권한 등)
        위 내용이 제공될 수 있도록 간결하게 요청하세요.

실습

3. Customer Service

  • 사용한 노드 : Start, Agent, If/else, Guardrails, User approval, End

  • 개요 : 사용자의 승인을 통한 결과 처리, Guardrail 소개

  • 사용법 : HorizonTel Communications에서 구독 가능한 서비스 2개 추천해 줘.
    프리미엄 모바일 서비스 사용중인데 언제까지 구독 취소 할 수 있어?.
    상ㅇ하던 단말기 반품 할래.

Node 분석

  • Start

  • Jailbarak guardrail

    • Personaly identificable Information:

      • "내 전화번는 +821011112222". 규칙을 정확히 알아야 함.

    • Moderation

      중재 가드레일 화면의 스크린샷
    • Jailbreak

    • Hallucination

    • NSFW Text

    • URL Filter

    • Prompt Ingection Detection

    • Custom Prompt Check

  • Classification agent

    • 작업 분류 - 첫번째 흐름은 2,3과 결이 좀 다름.

    • instruction

      사용자의 의도를 다음 카테고리 중 하나로 분류하세요: "return_item", "cancel_subscription", "get_information".
      1.기기 관련 반품 요청은 모두 return_item으로 라우팅하세요.
      2.유지/이탈 위험, 할인 요청을 포함한 구독 취소 관련 요청은 모두 cancel_subscription으로 라우팅하세요.
      3.그 외 모든 요청은 get_information으로 처리하세요.

  • Condition

  • Return Agent

    • 아래 두 Agent와 결이 좀 다름.

    • instructions

    사용자의 의도를 다음 카테고리 중 하나로 분류하세요: "return_item", "cancel_subscription", "get_information".
    1.기기 관련 반품 요청은 모두 return_item으로 라우팅하세요.
    2.유지/이탈 위험, 할인 요청을 포함한 구독 취소 관련 요청은 모두 cancel_subscription으로 라우팅하세요.
    3.그 외 모든 요청은 get_information으로 처리하세요.

  • Retention Agent

    • instructions

      당신은 구독 취소를 막는 것을 목표로 하는 고객 유지 대화 에이전트입니다. 현재 사용 중인 요금제와 불만족 이유를 물어보세요. get_retention_offers를 활용해 유지 혜택을 확인하세요. 지금은 1년 동안 20% 할인 혜택이 있다고만 말씀하세요.

    • Tools : get_retion_offers - 고객유지를 위한 정보들이라 생각하면 될 듯.

      • "+" 버튼 function 선택

        • Generative

  • Information Agent

      • 당신은 정보 제공 에이전트로, 사용자 질문에 명확하고 간결한 답변을 제공하는 것이 목표입니다. 아래 정책을 참고하여 답변을 구성하세요.
        회사명: HorizonTel Communications
        업종: 통신
        지역: 북미

      • 📋 정책 요약: 모바일 요금제 변경 및 조정
        정책 ID: MOB-PLN-2025-03
        시행일: 2025년 3월 1일
        적용 대상: 모든 가정용 및 소규모 사업자 모바일 고객
        목적: 고객이 기존 모바일 요금제를 수정하거나 업그레이드할 때 투명하고 유연한 옵션을 제공하기 위함.

      • 🔄 요금제 변경 및 업그레이드
        자격 요건: 연체 금액 $50 초과하지 않는 정상 계정
        업그레이드 규칙:

        • 적격 요금제 가입 시 12개월마다 1회 기기 업그레이드 가능
          조기 업그레이드 시 $99 조기 변경 수수료 부과 (단, 새 요금제가 월 $15 이상 비쌀 경우 면제)
          다운그레이드: 언제든지 하위 요금제로 변경 가능, 다음 결제 주기부터 적용

          CS 팁: 요금제 변경 요청 시 다음 결제 주기를 확인하고, 비례 계산 요금이 발생할 수 있음을 안내하세요. 다운그레이드 전 기기 할부 계약 여부를 반드시 확인하세요.

      • 💰 결제 및 크레딧
        결제 주기: 월 단위, 개통일 기준
        크레딧 조정:

        $10 미만 과금 오류는 다음 청구서에 자동 크레딧
        $10 초과 시 “Billing Adjustment – Tier 2” 티켓으로 상급자 검토
        환불 정책:
        원래 결제 수단으로 7~10 영업일 내 환불
        선불 계정은 잔액에 크레딧 처리 (현금 환불 불가)

        CS 팁: 30일 이내 청구 오류 신고 시 관리자 승인 없이 1회성 $25까지 즉시 크레딧 가능.

      • 🛜 네트워크 및 장애 처리
        계획된 점검: 1시간 초과 장애 시 SMS 알림 발송
        비계획 장애:

        내부 “Network Status Dashboard” 확인 후 에스컬레이션
        동일 지역 다수 고객 신고 시 “Regional Event – Network Ops” 태그
        보상: 24시간 이상 연속 장애 시 요청에 따라 1일 요금 크레딧 제공

      • 📞 유지 및 해지
        통지 기간: 후불 30일, 선불 즉시
        유지 혜택:

        “비용 문제” 언급 시 다음 3회 결제 주기에 최대 20% 할인 제공 가능
        유지 코드는 “RET-SAVE20”으로 기록
        해지 수수료:
        기간제 계약에만 적용 (보통 $199 고정)
        서비스 미제공 지역 이사 확인 시 수수료 면제

        CS 팁: 해지 처리 전 대체 유지 혜택 검토 — 일시 할인이나 추가 데이터 제공으로 고객이 남는 경우가 많습니다.

      • 🧾 CS 담당자 문서 체크리스트

        고객 ID 및 계정 번호 확인
        계정 상태(청구, 계약, 업그레이드) 확인
        모든 상담 내용 CRM 티켓에 기록
        변경 시 다음 결제 주기 안내
        표준 메모 템플릿 사용:
        “고객이 [요금제/청구/지원] 변경 요청. 적용 수수료 및 다음 주기 조정 안내, 확인 번호 #[티켓]”

      • ⚠️ 준수 및 개인정보 보호

        모든 상담은 CCPA 및 FCC 개인정보 보호 기준 준수
        개인 결제 정보는 보안 청구 시스템 외부에 저장 금지
        계정 정보 논의 전 “Secure Verification Flow”로 본인 확인 필수

  • User approval

    • Message : Does this work for you?

    • Approve, Reject 2 갈래가 생김

실습

  • 검은 화면에 한국어 텍스트 스크린샷

4. Structured Data Q/A

  • 사용한 노드 : Start, End, Guardrails, Agent, If/else

  • 개요 : 자연어를 SQL로 만들어서 실행

  • 사용법 : 2025년 인사팀 평균 연봉 알려줘. 2025년 카테고리별 2025년 환불액 알려줘.

Node 분석

  • Start

  • Guardrails : Moderation

  • Select domain

  • instructions

    사용자의 자연어 질문을 하나의 도메인으로 분류하라. 다음 중 정확히 하나만 선택할 것: "commerce" | "personnel" | "other".

    도메인:

    • commerce — 쇼핑객과 구매에 대한 소매/거래 관련 도메인. 예시 테이블: customer (country_code, age_bracket, gender), merchant (merchant_category), payment_method (payment_type), date (date), purchase (status, total_amount_usd, gross_amount, discount_amount, tax_amount, channel, event_ts). 대표적인 질의 의도: GMV/매출/주문수/AOV, 국가, 가맹점 카테고리, 결제 수단(BNPL/wallet/card), 기간 범위(“지난 30일”), 환불/차지백 등.

    --- If the query does not fit either domain, select "other".

    • personnel — 직원, 보상, 복리후생, 근태에 관한 HR/재무 도메인. 예시 테이블: employee (employment_status, pay_type, flsa_status, base_salary_amount), department (department_name), job (job_title, job_level), location (country_code), date (date), payroll (hours_overtime, base_pay_amount, bonus_amount, employer_benefit_cost_amount), benefits_enrollment (benefit_type, coverage_tier, employer_premium_amount). 대표적인 질의 의도: 인원수(headcount), 초과근무 비용, 급여/복리후생 지출, 부서별 결근 등.

    질문이 어느 도메인에도 해당하지 않으면 "other"를 선택하라.

  • Condition

  • Create commerce query

  • Create personnel query

상거래(고객 및 제품)와 관련된 질의에 대해, 당신은 자연어와 도메인 특화 언어 사이의 번역기 역할을 합니다.

당신의 역할은 제공된 full_ontology에 선언된 내용만을 사용하여, 자연어로 된 분석 요청을 하나의 정확하고 실행 가능한 도메인 쿼리로 변환하는 것입니다. full_ontology는 엔티티, 컬럼, 외래 키, 측정값(measures), semantic_layer의 메트릭/차원, reference_views, validation_rules를 정의하는 YAML입니다.

당신은 다음 단계를 따라야 합니다:
(1) 사용자의 의도를 해석하고, 그 질의를 구체적인 메트릭/차원/시간 범위에 매핑한다.
(2) 질의를 지원하는 데 필요한 올바른 테이블과 (최소한의) 조인을 선택한다.
(3) 안전한 기본값을 사용하여 검증된 SQL/DSL을 구성한다.

<full_ontology>
version: 1.0
namespace: commerce_ontology
...
...
생략
...
  • Execute commerce qeury - 더미 데이터 생성, 실제 DB에 쿼리 실행 대체

  • Execute personnel query - 더미 데이터 생성, 실제 DB에 쿼리 실행 대체

실습

  • 더미 데이터는 잘 못 만들어 내네요.

5. Document comparison

다양한 정보를 담은 마인드맵
  • 사용한 노드 : Start, Agent, If/else, User approval

  • 개요 : 문서 비교 또는 문서에 있는 정보 검색

  • 사용법 : 유사한 문서 2개만 첨부하기, 어떤게 임차인에게 더 좋아?

Node 분석

  • Start

  • Triage request

문서가 최근 대화에서 두 개 제공되었고, 사용자가 특정 질문을 하지 않았다면 "compare"로 분류합니다. 문서 두 개가 제공되고 사용자가 질문을 했다면 "answer_question"으로 분류합니다. 문서가 한 개만 제공되었거나 제공된 문서가 없으면 "request_upload"로 분류합니다.
  • if/else

  • Propose reconcillation

두 문서 간 차이점을 고려하여, 차이를 조정할 수 있는 단일 방안을 제시하세요. 별도의 지시가 없는 경우 첫 번째 문서를 사용자의 버전으로, 두 번째 문서를 사용자에게 회신된 변경 제안 버전으로 간주합니다. 작성한 제안은 사용자 승인을 위해 전송됩니다.
  • Provide explanation

업로드된 문서의 정보를 활용하여 사용자의 질문에 답변하세요.
  • Retry agent

사용자가 비교에 필요한 두 개의 문서를 업로드하지 않았습니다. 종이클립 아이콘을 사용하여 총 두 개의 문서를 업로드해 달라고 안내하세요.
  • Binary Approval

    • Please review the proposal {{input.output_text}}

  • Approval Agent

승인 근거를 설명하세요. 사용자가 적절한 회신을 작성할 수 있도록 다음 데이터 스키마를 채워서 도와주세요:
{
emailFrom: '[email protected]',
defaultTo: '[email protected]',
defaultSubject: '문서 비교 제안',
defaultBody: "안녕하세요, \n\n잘 지내고 계시죠? ChatKit 로드맵에 업데이트가 있는지 확인하고 싶어서 연락드렸습니다. 앞으로 나올 기능들이 정말 기대되며, 어떻게 최대한 활용할 수 있을지 궁금합니다.\n\n특히 위젯 지원은 어떻게 되는지 무척 궁금합니다!\n\n감사합니다,",
}
  • Rejection Agent

    • Explain your rejection reasoning.

실습

  • ChatGPT에게 유사한 내용의 PDF 2개 생성 요청

두 개의 유사한 상가 임대차 계약서를 만들껀데, 계약 금액이 차이가 나게 해줘. 두 개의 파일 모두 PDF로 생성하고, 다운로드 할 수 있게 해 줘.


6. Internal Knowledge assistant

  • 사용한 노드 : Start, Agent, If/else

  • 개요 : 문서로 RAG, 벡터 스토어, Web Search로 보강

  • 사용법 : 임대차 계약서 작성 시 꼭 필요한 항목은? 2026년 세법 변경되는거 알려줘.

Node 분석

  • Start

  • Query rewrite

사용자의 질문을 지식 베이스에 더 구체적이고 적합하게 다시 작성하세요.
  • Classify

질문이 Q&A 프로세스를 사용할지, 사실 확인(fact-finding) 프로세스를 사용할지 판단하세요.
  • If

  • Internal Q&A

    • internal 이라 해 놓고,도구에 Web Search만 달아 둠. 이전 실습에서 만든 파일 2개 업로드 해 줌

사용 가능한 지식 도구(파일 검색 또는 웹 검색)를 활용해 사용자의 질문에 답변하세요. 간결하고 핵심만 답변하며, 먼저 요약 답변을 제시한 후 불릿 포인트로 정리하세요.
  • External fact finding

사용 가능한 도구(웹 검색, 파일 검색, 코드 인터프리터)를 활용해 외부 정보를 탐색하세요.
관련 데이터를 분석하고, 작업을 꼼꼼히 검증하세요.
반드시 간결한 답변을 먼저 출력한 후, 근거를 정리한 불릿 포인트 요약을 함께 제시하세요.
  • Agent

사용자에게 더 자세한 내용을 제공해 달라고 요청하세요. 그렇게 하면 질문을 직접 답변하거나, 쿼리에 맞는 데이터 분석을 실행해서 도와줄 수 있습니다.

실습

느낀점

  • Templates 파일들을 열고 수정하면, 자신의 Drafts에 해당 Template이 New Workflow로 생성됩니다. 근데, 이걸 지우는게 참 불편하게 되어 있네요

  • Workflow도 계속 접하다 보니 조금은 익숙해짐

  • Agent Builder 다음은? 어떻게 활용해야 하지?

  • LLM들 말 많이 하는거와 오버액션은 어떻게 말릴 수 있을까?

  • 역시나 도메인 지식이 있어야, 하고 싶은게 구체화 될 듯..

ToDo

  • 사용해 보지 않은 노드 사용해 보기 : Classify, File Search, MCP, While, Transform, Set state

  • 나만의 Workflow 구현현 보기

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요