~ Bright Data × Claude Code × 사내 AI 공개 웹을 매일 수집하고 변화까지 찾아내는 완전 실전기 ~
저는 프로그래밍 경험이 없습니다. 이 글에서는 AI의 도움을 받으면서, 웹 정보를 수집하고 그 변화를 찾아내는 사내 AI를 시제품으로 만든 과정을 소개합니다.
사내 AI란 회사 규정이나 매뉴얼에서 질문과 관련된 정보를 찾고, 그 내용을 바탕으로 답변하는 시스템입니다.
하지만 사내 문서만으로는 경쟁사의 가격 인상이나 최신 뉴스에는 답할 수 없습니다.
'경쟁사가 가격을 올렸다', '새로운 플랜이 나왔다', '업계에서 이런 도입 사례가 나왔다'. 이러한 정보는 웹 상에서 매일 바뀌고 있습니다.
이번에는 웹 정보를 가져오는 Bright Data와 프로그램 작성을 지원하는 Claude Code를 사용하여 4가지 시스템을 시제품으로 만들었습니다.
| 만든 것 | Bright Data의 역할 |
|---|
| ① 업계 뉴스도 답변하는 사내 AI | Google에서 뉴스를 검색하여 기사 본문을 가져옴 |
| ② 매일 자동으로 웹에 방문하는 '감시원' | 매일 아침 수집하고, 새로운 기사/변경된 기사/삭제된 기사를 찾음 |
| ... | |
그 결과—
- 사내 문서만으로는 '기록되어 있지 않습니다'였던 질문에,
날짜와 출처 URL과 함께 답변할 수 있게 되었습니다. - 감시원은 심야에 수집한 자료를 아침과 점심에 검토하여
새로운 뉴스 9건을 찾아내고, 사내 AI의 자료를 10건에서 19건으로 늘렸습니다. - 경쟁사 4곳의 요금 페이지에서
28개 플랜을 추출하여 Excel로 열 수 있는 표로 만들었습니다(다만 한 곳은 가격을 읽어낼 수 없었습니다). - AI 에이전트는 스스로
검색 23회・페이지 11건을 조사하여 출처와 함께 답변했습니다.
들어간 비용은 Claude가 1.24달러(약 200엔), Bright Data가 약 0.42달러(약 67엔). 합해서 약 270엔이었습니다.
게다가 제가 직접 작성한 코드는 0줄입니다. 전부 Claude Code에게 한국어로 부탁해서 받았습니다. 잘 안 되었던 부분까지 포함하여 그대로 공개합니다.
📝 이 글 읽는 법 각 장의 '💬 Claude Code에 대한 지시'는 제가 실제로 Claude Code에게 요청했던 내용입니다. 그 뒤에 '🤖 Claude Code가 한 일'과 실제로 작동한 결과를 적었습니다.
図1:準備から検証までの流れ。以降の各章で操作手順を説明します。
그림 1: 준비부터 검증까지의 흐름. 이후 각 장에서 조작 절차를 설명합니다.
| 단계 | 할 일 |
|---|
| ① 사내 AI와 Bright Data의 역할 | 시스템을 그림으로 대략 이해하기 |
| ② Bright Data 설정 | 계정 생성・API 키 획득 |
| ... | |
사용된 것은 Windows PC, Bright Data(무료 체험판. 100달러(약 16,000엔) 상당의 무료 크레딧 포함), Claude(5달러=약 800원 상당의 크레딧), Claude Code(프로그램을 작성해 주는 AI)뿐입니다.
💡 이 글에서는 1달러 = 160원으로 엔화로 환산했습니다.
이번 사내 AI에서 사용하는 시스템이 'RAG (Retrieval-Augmented Generation)'입니다. 질문과 관련된 자료를 찾고, 그 자료를 AI에게 전달하여 답변을 만듭니다.
- 질문을 받으면, 먼저 선반에서 관련 있어 보이는 자료를 가져옵니다(검색).
- 그 자료를 읽고, 답을 정리합니다(생성).
일반적인 사내 AI는 선반에 '사내 문서'만 있습니다. 그래서 이번에는 Bright Data로 수집한 '업계 뉴스'도 선반에 추가했습니다.
파란색 상자가 이번 주역인 Bright Data입니다.
여기서 중요한 것은, '선반에 한 번 뉴스를 배치했다고 끝'이 아니라는 점입니다. 웹 정보는 매일 바뀝니다. 새로운 뉴스가 나오기도 하고, 기사가 수정되거나 사라지기도 합니다. 오래된 정보만 가진 사내 AI는, 오래된 규정을 읽은 사내 AI와 마찬가지로 자신 있게 틀릴 수 있습니다.
그래서 이번에는 Bright Data에게 다음 임무를 맡겼습니다.
Bright Data 활용법 |
어떤 장에서 사용할지 |
요약 |
|---|---|---|
| Google 검색 결과 받기 (SERP API) | ⑤⑩⑫ | 프로그램으로 Google 검색 결과를 직접 가져오는 것은 어렵고, Google 이용 약관에서도 금지되어 있습니다. 이럴 때 Bright Data가 필요합니다. |
| 페이지 본문 가져오기 (Web Unlocker API) | ⑤⑩⑪⑫ | 기사나 요금 페이지를 AI가 읽기 쉬운 문자로 전달해 줍니다. |
| 매일 데이터를 가져와 변화 찾기 | ⑩⑪ | 위 두 가지 기능을 아침마다 자동으로 실행하여 이전과 달라진 점을 찾아냅니다. |
이 세 가지 기능으로 다음과 같은 방식으로 활용할 수 있습니다. 이번에는 모두 실제로 시도하고 있습니다.
- 시장 동향 및 공개 기업 정보 지속 수집 (⑤⑩) -
경쟁사의 가격 및 상품 정보 분석 (⑪) -
웹 정보를 근거로 답변하는 AI 에이전트 (⑫)
핵심 포인트: Bright Data에서는 SERP API(검색 1,000회당 $1.50)와 Web Unlocker API(페이지 가져오기 1,000회당 $1.50) 두 가지를 추가하고 API 키를 발급받습니다.
図3:各ツールの役割。設定方法は後続の手順を参照してください。
그림 3: 각 도구의 역할. 설정 방법은 후속 절차를 참고해 주세요.
Bright Data는 프로그램으로 웹 검색 결과나 페이지 본문을 가져오는 서비스입니다. 사이트나 설정에 따라 가져오지 못하는 경우도 있습니다.
실행하기 전에, 이 부분만은 꼭 숙지해야 합니다. 이 기사의 프로그램은 공개된 웹페이지를 자동으로 가져갑니다. 편리한 만큼 지켜야 할 규칙이 있습니다.
- Bright Data 이용 정책(Acceptable Use Policy) 확인: 로그인해야 하는 페이지의 정보를 수집하는 것은 금지되어 있습니다. 정부 사이트 등 Bright Data 측에서 가져오지 못하도록 막아둔 사이트도 있습니다 (이용 정책 읽기).
- 사이트 이용 약관 및 robots.txt 확인: 뉴스 사이트 중 일부는 프로그램으로 정보 수집을 금지하고 있습니다.
- 기사 본문을 그대로 전재하지 않기: 뉴스 기사는 저작권이 있습니다. 블로그나 사내 자료에는 요약과 출처 링크만 게시해야 합니다.
- 유료 회원 한정 기사는 대상에서 제외하기: 회원 전용/유료 기사는 공개된 부분만을 근거로 삼습니다 (회원 전용 기사의 경우, 공개된 부분에서는 확인할 수 없는 숫자가 답변에 섞일 수 있습니다).
- 개인 정보 수집 금지: 이번에는 기업 뉴스만 대상으로 하고 있습니다.
- 상대 사이트에 부담을 주지 않기: 이번 감시 활동은 하루 한 번, 약 20건 정도입니다. 건수나 횟수를 늘릴 때는 필요한 만큼만 해야 합니다.
- 회사에서 본격적으로 사용할 경우, 법무팀이나 정보 시스템 부서에 상담하기: 어디까지 수집해도 되는지는 회사마다 규칙이 다릅니다.
Bright Data에 접속하여 '무료 시작'을 통해 계정을 만듭니다. 신용카드 등록은 필요하지 않았고, 로그인하자 무료 크레딧(5,000)이 지급되었습니다.
💡 이미 계정이 있으신 분은 로그인부터 진행해 주세요.
▶ 아직 계정이 없는 분은 여기서 등록할 수 있습니다: Bright Data 무료 체험 신청하기
이번에 사용할 기능은 다음 두 가지입니다.
| 기능 | 한마디로 설명하면 | 이번 사용 용도 |
|---|
| SERP API | 검색 결과를 목록 형태로 받을 수 있음 | '생성형 AI 사내 도입' 등으로 뉴스를 검색할 때 |
| Web Unlocker API | 페이지 내용을 읽기 쉬운 문장으로 받을 수 있음 | 찾은 기사의 본문을 가져올 때 |
왼쪽 검은색 메뉴의 '웹 접근'(API라고 쓰인 마크)을 열고, 'API 추가'로 이동합니다. 'API 유형 선택'에서 'SERP API(검색 엔진 결과 페이지)'를 골라 '계속'을 누르고 화면에 따라 만듭니다. 이어서 다시 한번 'API 추가'로 이동하여 이번에는 '웹 해제 API'(Web Unlocker API의 한국어 명칭)를 만듭니다.
💡 처음에는 '브라우저 API'에 체크가 되어 있습니다. 이번에는 사용하지 않으므로, 선택을 다시 한 후 '계속'을 눌러 주세요.
💡 설정 화면에서는 '이름'만 입력하면 됩니다. 이름은 나중에 변경할 수 없으니, serp_api1
이처럼 이해하기 쉬운 이름으로 지정합니다. 설명이나 'Google 광고'는 그대로 두어도 괜찮습니다. 오른쪽에는 요금(Rate $1.50/CPM = 검색 1,000회당 $1.50)이 표시되며, 결제는 성공한 검색 건에 대해서만 이루어집니다.
💡 화면에서는 'Web Unlocker API'라는 이름으로 나타납니다. 이 글의 'Web Unlocker API'와 동일합니다. 요금은 페이지를 1,000번 가져오는 데 $1.50(약 240엔)입니다.
⚠️ 계정 유형에 따라 중간에 '결제 수단 추가' 단계가 나타날 수 있습니다. 제 경우, 첫 번째 계정에서는 이 단계가 나왔지만, 다시 만든 계정에서는 나오지 않고 바로 추가할 수 있었습니다. 만약 나온다면, 화면의 지침에 따라 신용카드를 등록합니다.
💡 '프리미엄 도메인'(특히 접근하기 어려운 일부 사이트를 위한 것. 추가 요금 발생) 항목이 나타나면, 끄기(Off) 상태로 두시면 됩니다.
만들기를 완료하면 'API가 정상적으로 추가되었습니다'라는 메시지가 뜨고, 'API 테스트' 화면으로 넘어갑니다. 여기서 나오는 명령어는 Mac용이므로, Windows에서는 실행할 필요가 없습니다. 화면에 표시된 zone 이름(존 이름)만 메모해 두세요.
만들어진 두 개의 API에는 각각 이름(존 이름)이 붙습니다. 아무것도 변경하지 않았다면 serp_api1과 web_unlocker1 같은 이름입니다. 나중에 사용할 것이니 메모해 둡니다.
💡 '존(Zone)'은 기능별 계약 창구와 같은 것입니다. 이름만 기억하면 됩니다. 화면에서는 '존'이라는 단어가 자주 나오지 않고, 만든 API의 '이름' 자체가 존 이름입니다. 나중에 확인할 때는 왼쪽 메뉴의 '웹 액세스'를 열면 목록의 가장 왼쪽에 배열되어 있습니다.
'사용자 및 API 키' 화면에서 API 키를 만들고 복사합니다. 메모장에 붙여두세요.
💡 Bright Data의 API 키는 영문자와 숫자가 길게 나열된 문자열입니다. 시작 문자는 정해져 있지 않습니다(제 경우는 숫자로 시작했습니다). Claude를 만드는 데 사용할 키는 'sk-ant-'로 시작하므로, 시작 부분을 보면 어느 쪽 키인지 구별할 수 있습니다.
⚠️ API 키는 프로그램에서 Bright Data를 사용하기 위한 '열쇠'입니다. 타인에게 노출되면 임의로 사용되어 요금이 발생합니다. 채팅이나 스크린샷에는 절대 올리지 마세요.
핵심: Claude Console에서 5달러(약 800엔) 상당의 크레딧을 구매하고, 'sk-ant-'로 시작하는 API 키를 만듭니다.
수집된 정보를 읽고 답변을 만드는 것은 AI인 Claude입니다. 자신의 프로그램에서 Claude를 호출하려면, Claude 측의 API 키도 필요합니다.
Claude Console에 로그인하여 '잔액 추가'에서 5달러(약 800엔. 세금 포함 5.50달러) 상당의 크레딧을 구매합니다. 사용한 만큼만 줄어드는 선불 방식입니다.
💡 구매했는데도 잔액이 $0인 상태라면, 결제가 실패한 것입니다. Claude를 개발하는 Anthropic은 미국 회사이기 때문에, 카드사에서 '해외 결제'로 차단할 수 있습니다. 카드 설정을 확인하고 다시 시도해 보세요.
왼쪽 메뉴의 'API 키' → 'API 키 생성'을 누릅니다.
💡 중간에 'ID 연동을 사용하면 API 키가 필요하지 않습니다'라는 화면이 나오지만, 자신의 PC에서 테스트만 할 것이라면 'API 키로 계속하기'를 선택하면 됩니다.
표시된 키는 옆의 복사 버튼으로 복사하여 메모장에 붙여둡니다. 이 화면을 닫으면 다시는 표시되지 않습니다.
💡 Claude의 API 키는 'sk-ant-'로 시작하는, 약 100자 길이의 긴 문자열입니다. Claude Console의 키 목록에는 'sk-ant-……'처럼 중간 부분이 생략된 형태로만 나옵니다. 이 생략된 형태를 복사해도 사용할 수 없으므로, 반드시 생성 당시 화면에서 복사해야 합니다(저는 이것 때문에 한 번 막혔습니다).
⚠️ 이 역시 Bright Data와 마찬가지로 타인에게 보여주면 안 되는 열쇠입니다. 저는 예전에 실수로 AI와의 채팅에 붙여넣은 적이 있어 즉시 삭제하고 다시 만들었습니다. 붙여넣었다면, 똑같이 삭제하고 다시 만들면 괜찮습니다.
핵심: Python 3.10 이상 버전 설치 여부를 확인하고, 작업 폴더와 '도구 상자'(venv)를 만든 후 부품을 4개 넣고, API 키와 존 이름 4개를 등록합니다.
여기서가 첫 번째로 막히기 쉬운 지점입니다. 하지만 적혀 있는 대로 복사 붙여넣기를 하면 괜찮습니다.
PowerShell은 Windows에 기본으로 설치되어 있는, '문자로 명령을 입력하는 화면'입니다. 시작 메뉴에서 'PowerShell'을 검색하여 실행할 수 있습니다.
💡 본 기사의 회색 상자(명령어)는 한 줄씩 복사하여 PowerShell에 붙여넣고 Enter를 누릅니다. 가장 아래에 PS C:\Users\사용자이름> 프롬프트가 다시 나타나면 다음 줄로 넘어갑니다.
Python은 프로그램을 구동하는 데 사용되는 언어입니다.
위와 같은 숫자가 표시되면 → OK. 다음 단계로 진행합니다. - 에러가 발생하거나 Microsoft Store가 열리면 → 설치되어 있지 않은 것입니다. python.org에서 설치해야 합니다.
💡 설치할 때는 첫 화면에서 'Add python.exe to PATH'에 반드시 체크를 해야 합니다. 완료한 후에는 PowerShell을 다시 실행(재시작)합니다.
다음 명령어들을 한 줄씩 실행합니다.
cd ~
Desktop
mkdir rag-brightdata
cd rag-brightdata
...
여기서 하는 작업은 대략 다음과 같습니다.
- 바탕화면에 'rag-brightdata'라는 폴더를 만들고 그 안으로 들어갑니다.
- 이 작업을 전용으로 할 '도구 상자(virtual environment)'를 만들고 엽니다 (줄의 맨 앞에
(.venv)가 붙으면 성공).
- 도구 상자에 '부품'을 네 가지 넣습니다 (스마트폰에 앱을 설치하는 느낌입니다).
마지막 pip install 명령어는 부품이 크기 때문에 몇 분 정도 기다려야 합니다. 영어 메시지가 많이 지나가지만, 마지막에 Successfully installed라고 나오면 성공입니다.
메모장에 붙여둔 두 개의 키를 PowerShell에 알려줍니다. "와 " 사이의 내용을 해당 키로 전체 교체해 주세요.
$env:ANTHROPIC_API_KEY="여기에 Claude 키"
$env:BRIGHTDATA_API_KEY="여기에 Bright Data 키"
$env:BRIGHTDATA_SERP_ZONE="serp_api1"
...
💡 3행과 4행은 ②에서 메모한 존(zone) 이름입니다. 이름이 같다면 그대로 두셔도 됩니다.
💡 PowerShell을 닫으면 등록했던 키와 열었던 도구 상자는 초기화됩니다. 다시 열었을 때는, cd ~ Desktop ag-brightdata와 .venv\Scripts\Activate.ps1을 실행한 후, 위의 네 줄을 다시 입력해야 합니다.
Bright Data 측 작업
- ☐ 계정 생성
- ☐ SERP API 및 Web Unlocker API 추가 (존 이름을 메모)
- ☐ API 키 획득
Claude 측 작업
- ☐ 크레딧 구매 (잔액이 $5인지 확인)
- ☐ API 키 획득
PC(컴퓨터) 측 작업
- ☐
python --version으로 숫자가 표시됨 - ☐ 줄의 맨 앞에 (.venv)가 붙음 - ☐ Successfully installed라고 표시됨 - ☐ 키를 네 줄 등록함
핵심 포인트: Bright Data의 SERP API로 '생성형 AI 사내 도입'을 검색하여 기사 10건을 찾았고, Web Unlocker API로 그중 9건의 본문(각 건당 최대 6,000자)을 가져올 수 있었습니다.
여기부터는 Claude Code가 작성해 준 프로그램을 컴퓨터에 저장해서 사용하는 단계입니다. 프로그램이 길기 때문에 별도의 탭에 정리했습니다.
🤖 Claude Code가 수행한 작업: 연습용 사내 문서(documents.py), 뉴스 수집 프로그램(collect.py), 사내 AI 본체(rag.py)의 세 가지를 작성해 주었습니다. 어떻게 구동하는지도 PowerShell에 입력할 명령어와 함께 알려줍니다.
저장 방법은 모두 같습니다.
- PowerShell에서
notepad 파일명을 실행합니다 (메모장이 열립니다) - '새로 만들겠습니까?' → '예'
- 프로그램 저장 위치에서 복사하여 메모장에 붙여넣습니다 - Ctrl+S를 눌러 저장하고 닫습니다.
💡 프로그램은 메모장으로 저장하고, python …으로 시작하는 한 줄은 PowerShell에서 실행합니다. 이 역할 분담만 기억하면 헤매지 않습니다. PowerShell에 프로그램을 붙여넣으려 할 때 경고가 뜨면 '취소'를 누르세요.
실제 사내 문서를 대신하여, 연습용 '가짜 사내 문서' 4개를 사용했습니다.
| 문서 | 내용 |
|---|
| 생성 AI 이용 가이드라인 | Claude만 사용 가능, 사외 기밀은 입력 금지, 외부에 공개 전 사람 확인 필수 |
| 정보 보안 규정 | 사외 기밀은 내부 서버에만 저장, 개인 USB는 금지 |
| ... | |
notepad documents.py | |
| 으로 저장합니다. | |
notepad collect.py
으로 저장합니다. 이 프로그램이 수행하는 작업은 다음 3가지입니다.
- search: Bright Data에 뉴스 검색을 요청하여 기사 목록을 만듭니다.
- fetch: 목록의 기사 본문을 Bright Data에서 한 건씩 가져옵니다.
- compare: Bright Data를 사용하지 않고 같은 기사를 가져와 결과를 비교합니다 (⑧ 실험에서 사용).
python collect.py search "생성AI 사내 도입"
--limit 10
💡 "" 안의 단어는 자신의 산업에 맞춰 변경해도 괜찮습니다. --limit 10은 '10건까지'라는 의미입니다.
기사의 제목, 사이트명, 날짜가 나열되면 성공입니다.
막혔던 지점: 사실 처음에 시도했을 때는 '0건'이었습니다. Bright Data로부터의 응답이 가끔 비어 있거나 시간이 오래 걸리는 것 같았습니다. 그래서 화면 스크린샷을 Claude Code에 보여주며 '0건이었다'고 전달하자, 원인을 조사하여 '실패하면 자동으로 재시도하는' 기능을 추가해 주었습니다. 수정된 버전으로 시도한 결과, 이번에도 빈 응답이 2번 연속되었지만, 3번째에서 무사히 데이터를 가져올 수 있었습니다.
💡 외부 서비스를 사용하는 프로그램에는 '실패하면 재시도하는' 메커니즘이 중요하다는 것을 체감했습니다. '복사용 코드'인 collect.py는 이 기능이 포함된 버전입니다.
한 건씩 가져오기 때문에 몇 분 정도 걸립니다. ○은 데이터를 가져온 기사, ×은 데이터를 가져오지 못한 기사입니다.
결과적으로, 10건 중 9건의 본문을 가져올 수 있었습니다. 가져온 기사는 모두 상한선인 6,000자까지 저장되어 있었고, 10건을 가져오는 작업은 몇 분 만에 끝났습니다.
여기서도 '응답 없음', '시간 초과'가 여러 번 발생했지만, 대부분 자동 재시도로 데이터를 얻었습니다. 단 한 건의 기사(공공기관 페이지)는 3번 재시도해도 가져올 수 없어서 그대로 두었습니다.
💡 '6000자'는 프로그램으로 설정한 기사당 상한선입니다. 기사가 그보다 길기 때문에, 처음부터 6,000자로 잘라서 저장하고 있습니다.
핵심 포인트: 사내 문서와 산업 뉴스로부터 질문과 유사한 자료를 4가지 선택하여 Claude에 전달하자, 사내 문서만으로는 답할 수 없는 타사의 생성 AI 도입 사례를 날짜 및 출처 URL과 함께 답변받을 수 있었습니다.
드디어 본론입니다. 프로그램 보관함의 '③ rag.py'를 notepad rag.py로 저장합니다.
이것이 하는 일은 대략 다음 3가지입니다.
- 뉴스 본문을 250자 단위의 작은 조각으로 자릅니다 (너무 길면 찾기 어렵기 때문에).
- 사내 문서와 뉴스 중에서 질문과 유사한 자료를 4가지 선택합니다.
- 그 4가지만 Claude에 전달하며, '이 자료만 가지고 답변해 달라'고 요청합니다.
💡 Claude에게 보내는 요청(프롬프트)에는 '당사의 규칙과 세상의 흐름은 분리해서 작성할 것', '뉴스를 사용했다면 날짜와 출처를 기록할 것'이라는 내용을 포함했습니다.
python rag.py "출장 일비는 얼마인가?"
첫 실행만 경우, 문장의 의미를 읽어내는 AI 구성 요소(약 470MB) 다운로드에 몇 분이 걸립니다. 영어로 된 Warning 메시지가 많이 나오지만 신경 쓰지 않아도 됩니다.
python rag.py "타사는 최근 생성AI를 어떻게 도입하고 있는가?"
화면의 '■ AI가 전달한 자료'에는 [사내]와 [사외] 표시가 붙습니다. [사외]가 있다면, 수집된 뉴스가 사용되었다는 의미입니다.
AI에 제공한 4가지 자료는 모두 [외부] 뉴스였습니다. 답변은 다음과 같습니다.
AI에게 제공한 4가지 자료는 모두 [외부] 뉴스였습니다. 답변은 다음과 같습니다.
사내 문서 (당사의 규칙): “자료에 기재되어 있지 않습니다.”
외부 뉴스 (세상의 흐름):
- NEC가 제안서 작성이나 회의록 요약 등에 생성형 AI를 사용하며, “생성형 AI를 맹신하지 않는” 운영을 내세우고 있다 (DX Magazine, 2026년 4월 4일)
- Sansan 조사에 따르면, 응답자의 90%가 “AI가 사내 정보를 파악하면 성과가 달라질 것”이라고 답한 반면, 데이터가 완벽하게 정비된 기업은 22.2% (Sansan, 2026년 2월 18일)
- “AI 도구를 도입했지만 이익으로 연결되지 않는다”며 고민하는 기업도 많다 (퍼소 그룹 기사)
날짜와 출처 URL이 정확하게 붙어 있습니다. 사내 문서만으로는 절대 답할 수 없는 질문입니다.
💡 자세히 보면, AI에게 제공한 4가지 자료 중 2가지는 AI 컨설팅 회사를 소개하는 동일한 기사였습니다. 뉴스를 모을 때 광고에 가까운 기사도 섞이는 것 같습니다. 어떤 기사를 모으는지가 사람의 선택이 중요하다는 생각이 들었습니다.
핵심: 같은 질문이라도 사내 문서만으로는 “자료에 기재되어 있지 않습니다”로 끝나지만, 뉴스를 추가하자 출처 URL 3건과 날짜가 붙어 타사의 동향을 답변할 수 있었습니다. 답변 내용 자체도 원본 기사와 대조하여 일치 여부를 확인했습니다.
python rag.py "타사는 최근, 생성형 AI를 어떻게 도입하고 있나요?" --no-news
python rag.py "타사는 최근, 생성형 AI를 어떻게 도입하고 있나요?"
💡 --no-news
을 붙이면 뉴스를 사용하지 않고 사내 문서만으로 답변합니다.
결과는 다음과 같았습니다.
| 사내 문서만 | 사내 문서 + 뉴스 |
|---|
| AI의 답변 | “타사의 생성형 AI 도입에 대해서는 자료에 기재되어 있지 않습니다.” |
| 날짜 | 없음 (“날짜나 출처도 제시할 수 없습니다”) |
| 출처 URL | 없음 |
사내 문서만으로는 AI는 타사에 대해 아무것도 모릅니다. 그럼에도 불구하고 아는 척하지 않고 “자료에 기재되어 있지 않습니다”라고 솔직하게 답한 것은 안심이 되었습니다. 게다가 그 위에 “참고: 당사의 규칙”이라는 제목으로 생성형 AI 이용 가이드라인의 내용을 첨부해 주었습니다.
뉴스 정보를 추가하자, 같은 질문에도 날짜와 출처 URL을 붙여 타사의 구체적인 움직임을 답변할 수 있게 되었습니다. 외부 정보를 추가함으로써 답변에 붙은 출처 URL이 0건에서 3건으로 늘어났습니다.
AI가 제시한 URL을 실제로 열어서 그 내용이 정말로 적혀 있는지 확인했습니다. AI는 그럴듯하지만 틀린 것을 말할 때가 있기 때문입니다.
NEC 기사(DX Magazine)를 실제로 열어서 AI의 답변과 대조해 보았습니다.
| AI의 답변 | 기사에 쓰여 있었는지 |
|---|
| 사내용 생성형 AI 환경을 갖추고 있다 | ✅ 있음 |
| 제안서 작성・회의록 요약・코딩 지원에 사용하고 있다 | ✅ 있음 |
| ... | |
| AI의 답변은 기사 내용과 완벽하게 일치했습니다. “그럴듯하지만 실제로는 다르다”는 경우는 이번에는 없었습니다. Sansan 조사(담당자 1,077명, 90.7%가 “AI가 사내 정보를 파악하면 성과가 달라질 것”이라고 답변, 데이터베이스가 완벽하게 정비된 곳은 22.2%) 역시 기사를 열어 확인해 보니 숫자까지 일치했습니다. | |
💡 사내 AI를 사용할 때도 중요한 판단을 내리기 전에는 출처를 열어서 확인하는 것이 안심입니다. 출처가 붙어 있다면, 그것이 즉시 가능합니다.
핵심 포인트: 누구나 읽을 수 있는 공개 뉴스 기사 10건의 경우, Bright Data가 없어도 10건, Bright Data가 있을 때는 9건의 본문 텍스트를 가져올 수 있었습니다. 하지만 Bright Data가 필수적이었던 것은 본문 획득이 아니라 Google 검색 결과 획득이었습니다.
참고로, Bright Data를 사용하지 않고 동일한 뉴스 기사를 가져오려고 시도해 보았습니다. 프로그램 접근을 차단하는 사이트도 있기 때문에 차이가 날 것이라고 예상했습니다.
python collect.py compare
화면에는 기사별로 'Bright Data 사용 / 미사용'에 따라 가져온 글자 수가 나열됩니다. 마지막 줄에 가져온 기사의 개수가 표시됩니다.
| Bright Data 사용 | Bright Data 미사용 |
|---|
| 가져온 기사 | 9/10건 |
| 가져오지 못한 기사 | 1건 (라이온 관련 기사. 3번 재시도해도 가져올 수 없었음) |
| 내용 형태 | 제목이나 줄 바꿈이 남아 있습니다. 다만 이미지 데이터(의미 없는 영숫자 열)가 섞입니다. |
collect.py compare の実行結果(2026年10月)