AI 에이전트 구축 방법 — 2부: MVP 구축

GMI Cloud로 AI 에이전트 시리즈를 구축하는 방법 2부

2025-05-12

Why managing AI risk presents new challenges

Aliquet morbi justo auctor cursus auctor aliquam. Neque elit blandit et quis tortor vel ut lectus morbi. Amet mus nunc rhoncus sit sagittis pellentesque eleifend lobortis commodo vestibulum hendrerit proin varius lorem ultrices quam velit sed consequat duis. Lectus condimentum maecenas adipiscing massa neque erat porttitor in adipiscing aliquam auctor aliquam eu phasellus egestas lectus hendrerit sit malesuada tincidunt quisque volutpat aliquet vitae lorem odio feugiat lectus sem purus.

  • Lorem ipsum dolor sit amet consectetur lobortis pellentesque sit ullamcorpe.
  • Mauris aliquet faucibus iaculis vitae ullamco consectetur praesent luctus.
  • Posuere enim mi pharetra neque proin condimentum maecenas adipiscing.
  • Posuere enim mi pharetra neque proin nibh dolor amet vitae feugiat.

The difficult of using AI to improve risk management

Viverra mi ut nulla eu mattis in purus. Habitant donec mauris id consectetur. Tempus consequat ornare dui tortor feugiat cursus. Pellentesque massa molestie phasellus enim lobortis pellentesque sit ullamcorper purus. Elementum ante nunc quam pulvinar. Volutpat nibh dolor amet vitae feugiat varius augue justo elit. Vitae amet curabitur in sagittis arcu montes tortor. In enim pulvinar pharetra sagittis fermentum. Ultricies non eu faucibus praesent tristique dolor tellus bibendum. Cursus bibendum nunc enim.

Id suspendisse massa mauris amet volutpat adipiscing odio eu pellentesque tristique nisi.

How to bring AI into managing risk

Mattis quisque amet pharetra nisl congue nulla orci. Nibh commodo maecenas adipiscing adipiscing. Blandit ut odio urna arcu quam eleifend donec neque. Augue nisl arcu malesuada interdum risus lectus sed. Pulvinar aliquam morbi arcu commodo. Accumsan elementum elit vitae pellentesque sit. Nibh elementum morbi feugiat amet aliquet. Ultrices duis lobortis mauris nibh pellentesque mattis est maecenas. Tellus pellentesque vivamus massa purus arcu sagittis. Viverra consectetur praesent luctus faucibus phasellus integer fermentum mattis donec.

Pros and cons of using AI to manage risks

Commodo velit viverra neque aliquet tincidunt feugiat. Amet proin cras pharetra mauris leo. In vitae mattis sit fermentum. Maecenas nullam egestas lorem tincidunt eleifend est felis tincidunt. Etiam dictum consectetur blandit tortor vitae. Eget integer tortor in mattis velit ante purus ante.

  1. Vestibulum faucibus semper vitae imperdiet at eget sed diam ullamcorper vulputate.
  2. Quam mi proin libero morbi viverra ultrices odio sem felis mattis etiam faucibus morbi.
  3. Tincidunt ac eu aliquet turpis amet morbi at hendrerit donec pharetra tellus vel nec.
  4. Sollicitudin egestas sit bibendum malesuada pulvinar sit aliquet turpis lacus ultricies.
“Lacus donec arcu amet diam vestibulum nunc nulla malesuada velit curabitur mauris tempus nunc curabitur dignig pharetra metus consequat.”
Benefits and opportunities for risk managers applying AI

Commodo velit viverra neque aliquet tincidunt feugiat. Amet proin cras pharetra mauris leo. In vitae mattis sit fermentum. Maecenas nullam egestas lorem tincidunt eleifend est felis tincidunt. Etiam dictum consectetur blandit tortor vitae. Eget integer tortor in mattis velit ante purus ante.

에서 파트 1, 비전, 사용 사례 및 성공 기준을 정의하여 AI 에이전트의 토대를 마련했습니다.이제 그 비전을 실현할 차례입니다.이번 2호에서는 사용자가 관련성, 비용 및 잠재적 ROI를 기반으로 어떤 업계 컨벤션에 참석할 가치가 있는지 결정하는 데 도움이 되는 MVP (Minimum Viable Product) AI 에이전트를 구축하는 단계별 프로세스를 살펴보겠습니다.

빌드를 바로 시작해 보겠습니다.

1.어떻게 작동할까요?

기능을 구축하기 전에 개발을 위한 탄탄한 기반이 필요합니다.여기에는 올바른 도구 선택, 환경 구성, 빠른 반복이 가능한 워크플로우 설정이 포함됩니다.

자, 디자인은 어떨까요?입력부터 예상 출력까지의 전체 워크플로는 다음과 같습니다.

Workflow diagram

어떤 이유에서든 변경하기로 결정한 경우를 대비하여 각 단계를 개별 모듈로 나눕니다.프레임워크는 유연성을 제공하고 콘텐츠 검색이나 투자 수익률 (ROI) 점수와 같은 시스템의 여러 부분이 시스템의 나머지 부분을 망가뜨리지 않고 독립적으로 발전할 수 있도록 합니다.

아니면 그렇게 되길 바랍니다!

필요한 것:

  • 대규모 언어 모델 (LLM) 엔드포인트
  • Dify.ai 계정 (걱정하지 마세요. 무료입니다!)AI 워크플로 관리용
  • 파이어크롤링 — 웹 사이트를 LLM 지원 데이터로 스크랩하는 데 사용됩니다.무료 요금제를 사용하겠습니다.

엔드포인트 가져오기

여기서는 OpenAI API 호환성을 갖춘 GMI 호스팅 LLM 엔드포인트를 사용하겠지만, 구성이 비슷한 모든 엔드포인트에서 이 작업을 수행할 수 있습니다.이 경우에는 설정 → “모델 제공자” 추가 → OpenAI API 호환 추가로 이동하면 됩니다.

채팅플로우로 Dify 프로젝트 생성하기

로 이동 https://cloud.dify.ai/apps로그인했는지 확인하고 프로젝트 생성을 시작할 수 있습니다.여기서는 Chatflow를 사용하겠습니다.

2.데이터 입력

이제 흐름이 생겼습니다. 이제 각 개별 모듈을 조립합니다.먼저 입력으로 처리될 대상을 살펴보겠습니다. 아시다시피 가비지 인 = 쓰레기 아웃!

AI 에이전트는 팀을 보낼 가치가 있는 업계 이벤트를 파악해야 합니다. 따라서 기본 LLM에서 처리할 준비가 된 형식으로 해당 정보를 검색, 추출 및 집계할 수 있는 방법을 AI 에이전트에 제공해야 합니다.

이제 빌드할 시간입니다.

입력 매개 변수 추가:

API를 통한 검색

검색 결과 위에 이터레이터를 추가하여 소스 컨텍스트를 이해하겠습니다.검색 엔진이 관련성을 기준으로 정렬된 많은 결과를 제공하므로 이 단계는 중요합니다.이벤트 웹사이트와 애그리게이터는 상위 검색 결과인 경우가 많으며, 반복자의 역할은 이러한 이벤트에 대한 세부 정보를 추출하는 것입니다.

여기서부터 파이어크롤이 스크래핑을 할 수 있습니다.

GMI LLM 추가

사용자 프롬프트:

**Instructions:**
You are provided with Markdown content containing information about one or more events.  Your task is to extract the event details and return them in a list of JSON objects. Each JSON object should represent a single event and conform to the following schema:

```json
{
 "title": "string",
 "start_date": "string",
 "location": "string",
 "topic/focus": "string",
 "audience": "string",
 "summary": "string"
}
```

Important Considerations:
Strict Adherence to Schema: Ensure that the output is a valid JSON array containing JSON objects that strictly adhere to the provided schema. Do not include any extra text or explanations outside the JSON array.
Handle Missing Information: If the Markdown content does not provide information for a particular field in the JSON schema, set the value of that field to "N/A".
Multiple Events: If the Markdown describes multiple events, return a JSON array containing one JSON object for each event.
Markdown Variations: Be prepared to handle variations in how event information might be presented in the Markdown. Look for keywords like "Date:", "Time:", "Location:", "Topic:", "Audience:", "Summary:", etc., but also be able to infer information from surrounding text.
Data Extraction: Extract the most relevant information for each field. For example, for the "time" field, extract the start date of the event in format of YYYY-MM-DD. For the "summary" field, provide a concise summary of the event.
JSON Output Only: The only output you should provide is the JSON array. Do not include any introductory or concluding remarks.
Markdown Content:
<Scrape text>

이제 LLM 출력을 JSON 형식으로 파싱해야 합니다. 이를 통해 JSON (구조화된 형식) 으로 변환하면 다운스트림 단계에서 결과를 쉽고 정확하게 처리할 수 있습니다.

사용한 코드는 다음과 같습니다.

import json
import re

def main(arg1: str) -> dict:
   json_blocks = re.findall(r'(\[\s*\{.*?\}\s*\])', arg1, re.DOTALL)
   all_events: List[dict] = []
   for block in json_blocks:
       try:
           parsed_str = block.encode('utf-8').decode('unicode_escape')
           parsed_json = json.loads(parsed_str)

           # If the parsed JSON is a list, extend the result
           if isinstance(parsed_json, list):
               all_events.extend(parsed_json)
           # If it's a single object, append it
           elif isinstance(parsed_json, dict):
               all_events.append(parsed_json)
       except json.JSONDecodeError:
           continue

   return {
       "events": all_events
   }

다음은 무엇일까요?이제 입력 데이터가 생겼지만 AI 에이전트가 처리를 시작하기 전에 데이터를 정리하고 정렬해야 합니다.이제 다양한 검색 결과에서 구조화된 이벤트를 집계하고, 중복을 제거하고, 날짜별로 정렬할 차례입니다.

사용한 코드는 다음과 같습니다.

import json
from datetime import datetime

def main(arg1: list) -> dict:
   unique_events = {event["title"]: event for event in arg1}.values()
   def sort_key(event):
       try:
           return datetime.strptime(event["start_date"], "%Y-%m-%d")
       except ValueError:
           return datetime.max  # Assign max date to push invalid dates to the end
   sorted_events = sorted(unique_events, key=sort_key)
   sorted_events = sorted_events
   return {
       "events": sorted_events,
   }

이것이 바로 데이터 입력 단계입니다!지금까지 워크플로 패턴을 만들었습니다.

  • 파이어크롤링을 사용하여 수집한 데이터
  • 해당 데이터에 컨텍스트를 추가했습니다.
  • 데이터를 사용 가능한 형식으로 구문 분석했습니다.
  • 최종 파싱된 데이터 집계, 중복 제거 및 정렬

이제 상담원에게 이 데이터에서 우리가 원하는 작업을 검색하도록 안내할 차례입니다.

3.데이터 검색 및 사용

이제 간단한 패턴 (웹 쿼리 작성 → 웹 검색 → LLM으로 출력 구문 분석) 을 구축했습니다. 이 패턴을 활용하여 ROI를 결정할 때 두 가지 주요 요소를 검색할 수 있습니다. 티켓 가격 및 호텔 가격

참고: 보다 정확하고 고급 검색 (예: 할인된 가격 적용 시세) 을 위해 이 단계를 확장하여 해당 용도에 맞게 특별히 설계된 별도의 상담원에게 문의할 수 있습니다..

이제 결과를 집계하고 출력합니다.

4.테스트 및 반복

검증 없이는 MVP가 완전하지 않습니다.에이전트가 가치를 전달했는지 확인하기 위해 여러 차례의 테스트를 진행했습니다.

데이터 정확성 검증

다음을 확인했습니다.

  • 올바른 이벤트가 처리되고 있나요?
  • 비용 데이터가 정확하고 합리적인가요?
  • 관련 없는 이벤트가 필터링되고 있나요?

사용자 피드백 및 개선

초기 피드백을 수집하기 위해 내부 이해관계자와 MVP를 공유했습니다.이를 바탕으로 우리는:

  • 요약의 명확성이 향상되었습니다.
  • ROI 스코어링 공식을 수정했습니다.
  • 틈새 주제에 대한 향상된 필터링

성능 최적화

우리는 또한:

  • 결과 캐싱을 통한 스크래핑 지연 시간 감소
  • 향상된 프롬프트로 LLM 파싱 안정성 향상
  • 오탐을 최소화하기 위한 임계값 추가

5.배포 및 다음 단계

마지막 단계는 광범위한 테스트를 위해 MVP를 사용 가능한 상태로 만드는 것이었습니다.

호스팅 고려 사항

두 가지 배포 전략을 테스트했습니다.

  • 로컬 도커 배포 빠른 반복 및 격리된 테스트용
  • 클라우드 배포 확장성 및 원격 액세스를 위한 GMI Cloud 인프라에서

MVP 확장하기

코어 작업을 통해 향후 반복 작업에서는 다음을 수행할 수 있습니다.

  • 더 많은 이벤트 데이터 소스 추가 (RSS 피드, 엄선된 뉴스레터, LinkedIn 이벤트)
  • 미세 조정된 ML 모델 또는 임베딩을 사용하여 ROI 모델 개선
  • 실시간 항공편 및 호텔 API를 통합하여 비용 추정 확대

향후 개선 사항

앞으로 출시될 잠재적 기능에는 다음이 포함됩니다.

  • 개별 목표 또는 선호도에 따른 맞춤형 이벤트 스코어링
  • 팀 기반 권장 사항 (예: “BD 팀을 보낼 가치가 있나요?”)
  • 제품 출시 또는 네트워킹 모임과 같은 다른 영역으로 확장

최종 생각

이 AI 에이전트는 바쁜 전문가들이 참석할 가치가 있는 이벤트를 결정하도록 돕는 간단한 아이디어에서 시작되었습니다.체계적인 개발, 반복적인 테스트, 적절한 도구를 통해 간결하고 유연한 MVP를 통해 그 아이디어를 실현했습니다.

3부에서는 이 MVP를 프로덕션에 바로 사용할 수 있는 시스템으로 발전시키고, 성능을 최적화하고, 비즈니스 의사 결정 워크플로우에 더 깊이 통합하는 방법을 살펴보겠습니다.

그때까지는 빠르게 구축하고, 호기심을 잃지 말고, 어려운 작업은 AI에 맡기세요.

그건 그렇고, 우리 거 봤어? AI 기반 음성 번역기 가이드 구축?오픈 소스 도구만 사용합니다!

제한 없이 AI를 구축하세요!

오늘 시작하세요

GMI Cloud를 사용해 보고 AI 요구 사항에 적합한지 직접 확인해 보세요.

시작해 보세요
14일 평가판
장기 커밋 없음
설정 필요 없음
온디맨드 GPU

에서 시작

GPU 시간당 4.39달러

GPU 시간당 4.39달러
프라이빗 클라우드

최저

GPU-시간당 2.50달러

GPU-시간당 2.50달러