23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요~
AI를 활용한 데이터 분석 워크플로우 자동화 스터디에 참여 중인 정현서입니다.
8월 14일(목), SKT타워에서 열린 2회차 회고 시작해보겠습니다!
본격적인 실습에 앞서, 후토마키를 먹으며 스터디 방향성에 대해 이야기를 나눴습니다.
정리하면, 요즘 바이브 코딩 환경도 잘 갖춰져 있고 파이썬 경험자도 많지만,
스터디의 목적이 AI 기반 노코드 활용이기 때문에 대부분의 과정을 AI로 진행할 예정이라고 하셨습니다.
또, 적극적으로 참여하는 분들께는 태웅 님이 작은 포상도 준비해주실 예정이라고 합니다..!
(매 스터디마다 저녁까지 지원해주시는 DEVOCEAN.. 🙏🏻)
이번 스터디 주제는 SerpApi와 Make를 활용한 네이버 뉴스 수집이었습니다.
SeraApi는 여러 검색 엔진의 결과를 API 형태로 제공하는 서비스입니다.
보통 검색 결과를 크롤링하려면 HTML을 파싱하거나 사이트별로 다른 구조를 직접 처리해야 하지만,
SerpApi는 이를 대신해 표준화된 JSON 응답을 제공합니다.
하나의 key로 다양한 서비스를 호출할 수 있다는 점이 매력적이었고,
결국 프로젝트에서도 비용을 고려해야 한다는 점에서 월 250회 무료 검색 제공 역시 스터디와 잘 맞는 장점이라 느껴졌습니다.
Make는 1회차 회고에서 간단히 소개했듯이 노코드 자동화 툴입니다.
Google Sheets, Slack, Notion 등 여러 앱을 연결해 워크플로우를 자동화할 수 있습니다.
데이터를 활용하는 이유는 결국 달성하고자 하는 목표가 있기 때문이라고 생각합니다.
그렇기에 이번 실습과 같은 데이터 수집 단계에서는 이후 데이터 분석과 시각화를 뒷받침할 수 있는 목표와 요구사항을 구체적으로 정의하는 과정이 중요하다고 느꼈습니다.
태웅 님께서 예제로 보여주신 '경제 뉴스 및 지표 데이터 자동 수집'의 경우, 아래와 같이 워크플로우를 기획할 수 있습니다.
출처: AI를 활용한 데이터분석 워크플로우 자동화, 2주차 자료, p10
이제 설계한 워크플로우를 바탕으로 Make에서 시나리오를 작성하면 됩니다.
Make의 시나리오란, 여러 앱과 모듈을 연결해 자동화 프로세스를 구성하는 흐름도인데요,
앞서 구상한 내용을 기준으로 하면 아래와 같은 워크플로우가 완성됩니다.
출처: AI를 활용한 데이터분석 워크플로우 자동화, 2주차 자료, p12
이번 실습에서는 SerpApi의 오류 발생 빈도를 감안해 예외 처리 단계는 생략하고, 아래와 같은 워크플로우로 진행했습니다.
이후 각자 데이터 수집 목표를 정해 워크플로우를 구현했는데요, 저는 AI를 키워드로 선택해 데이터 수집을 진행했습니다.
그 과정에서 배운 점과 유의해야 할 부분을 정리하면 다음과 같습니다.
Google Sheets 모듈은 데이터를 불러오거나 저장하는 역할을 합니다.
이를 위해 시트의 공유 권한을 '링크가 있는 모든 사용자'로 바꾸고, '편집자' 권한을 부여해야 했습니다.
HTTP 모듈은 외부 API에 요청을 보내고 응답을 받아오는 역할을 합니다.
특히, SerpApi의 공식 문서에 제공되는 파라미터를 꼼꼼히 확인하는 것이 중요했습니다.
제가 알기론 보통 API Key는 보안상 HTTP Header에 넣는 경우가 많은데,
SerpApi는 간단한 검색 API를 지향해서인지 Query String에 바로 API Key를 전달하도록 만든 부분이 인상적이었습니다.
그리고 뉴스 웹페이지의 경우 자동화된 요청을 차단하는 경우가 많다고 합니다.
User-Agent 헤더가 없거나 기본값으로 설정돼 있으면 봇으로 인식해 접근이 차단될 수 있기에,
실제 브라우저의 User-Agent 값을 헤더에 추가해야 안정적으로 데이터를 수집할 수 있었습니다.
Iterator 모듈은 리스트(배열)를 한 항목씩 분리해 다음 모듈로 전달하는 역할을 합니다.
이번 실습에서는 SerpApi 응답에서 반환된 news_results[]를 Array로 지정해,
각 뉴스 링크를 차례대로 꺼내어 HTTP 모듈이 순서대로 요청을 보낼 수 있도록 구성했습니다.
Text parser 모듈은 HTML 문서에서 필요한 텍스트만 추출하는 데 사용했습니다.
이를 통해 불필요한 태그를 제거하고, 기사 본문과 같이 필요한 데이터만 정리할 수 있었습니다.
Google Gemini AI 모듈은 텍스트를 요약하거나 구조화된 데이터로 변환하는 역할을 합니다.
사용을 위해서는 별도로 Google AI 계정을 생성하고, API Key를 발급받아 세팅하는 과정이 필요했습니다.
무엇보다 이 단계에서 프롬프트 엔지니어링의 중요성을 크게 느꼈습니다.
같은 텍스트라도 어떻게 프롬프트를 작성하느냐에 따라 데이터 추출 결과가 달라졌기 때문입니다.
이번 스터디를 통해 이러한 서비스들이 모든 것을 대신해 주는 것이 아니라, 효율성을 높여주는 도구라는 점을 느꼈습니다.
블록을 조립하듯 워크플로우를 만들어가는 재미도 있었고,
백엔드 개발 경험 덕분에 익숙했던 API, HTTP Method, URL, JSON 같은 개념이 AI 활용 과정에서도 많은 도움이 되었던 것 같습니다.
다만, 이렇게 수집한 데이터를 100% 신뢰할 수 있을지는 의문이 있고,
신뢰도를 높이려면 결국 기술적 이해를 바탕으로 세팅을 고도화하는 과정이 필요하겠다는 생각도 들었습니다.
사실 오늘 스터디에서 갑작스런 에러도 있었고, 순탄치만은 않았지만 그 덕분에 함께 논의하며 더 많이 배울 수 있었습니다.
그럼 2회차 회고는 여기서 마무리하겠습니다. 3회차 회고도 기대해 주세요.. ✌🏼
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.