Making Failure Safe: A Constrained, Verifiable Agent Framework for Open-Web Data Collection
이 논문은 신뢰할 수 없는 자유 형식의 LLM 코드 생성을 타입이 지정된 JSON 수집기 설정과 정적 실행 파이프라인으로 대체함으로써, 결정론적이고 저비용이며 재사용 가능한 오픈 웹 데이터 수집을 달성하는 제약 조건이 있는 검증 가능한 에이전트 프레임워크를 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 매일 수천 개의 서로 다른 웹사이트에서 특정 정보를 수집하도록 로봇을 고용해야 한다고 상상해 보십시오. 당신은 그저 로봇에게 "뉴스를 가져와"라고 말하고 로봇이 알아서 방법을 찾아내기를 바랄 수도 있습니다. 하지만 이 논문이 설명하듯, 이러한 "자유분방한(free-for-all)" 방식은 마치 아이에게 아무런 지침 없이 도서관으로 보내는 것과 같습니다. 아이는 잘못된 책을 집어 들거나, 의자에 걸려 넘어지거나, 페이지가 뒤섞인 엉망진창인 결과물을 가지고 돌아올 수도 있습니다.
이 논문은 이러한 데이터 수집 로봇(이하 "에이전트")을 구축할 때 실패로부터 안전하고, 예측 가능하며, 수정하기 쉽게 만드는 새로운 방법을 제안합니다. 그 작동 원리를 쉬운 개념들로 나누어 설명하면 다음과 같습니다.
1. 문제점: 웹 스크래핑의 "서부 개척 시대(Wild West)"
현재 AI에게 웹사이트를 스크래핑하는 코드를 작성하라고 요청하면, AI는 매번 처음부터 완전히 새로운 스크립트를 작성하려고 시도하는 경우가 많습니다.
- 문제점: 웹사이트는 무질서하며 자주 변경됩니다. 만약 AI가 페이지 내 가격표의 위치를 잘못 추측하면, 스크립트 전체가 망가집니다.
- 결과: 오류가 발생하거나, 데이터가 깨지거나, 웹사이트의 레이아웃이 업데이트되는 즉시 스크립트가 작동을 멈추게 됩니다. 이는 매번 벽돌을 놓을 때마다 벽돌을 어디에 놓아야 할지 추측하며 집을 짓는 것과 같습니다.
2. 해결책: "레고 키트(LEGO Kit)" 접근 방식
AI에게 자유로운 형식의 코드(소설을 쓰는 것과 같은)를 쓰게 하는 대신, 저자들은 AI가 구조화된 양식(레고 조립 설명서를 채우는 것과 같은)을 작성하도록 강제합니다.
분류 체계 (6가지 유형): 시스템은 먼저 "이 작업의 종류는 무엇인가?"라고 묻습니다. 그리고 작업을 다음과 같이 여섯 가지 특정 유형으로 분류합니다:
- 검색(Search): 키워드를 기반으로 링크 찾기.
- 리스트(List): 아이템의 여러 페이지를 훑기 (예: 뉴스 아카이브).
- 상세 내용(Detail): 단일 페이지의 전체 내용 읽기.
- API: 컴퓨터에 직접 데이터를 요청하기 (예: 메뉴판에서 주문하기).
- 인터랙티브(Interactive): 동적 페이지에서 버튼을 클릭하거나 타이핑하기.
- 파일(File): PDF 또는 엑셀 시트 다운로드하기.
- 비유: 요리사에게 "저녁 식사를 만들어"라고 말하는 대신, "당신은 수프를 만들고 있습니다"라고 말하여 요리사가 수프를 만들 때 사용할 도구와 레시피만을 사용하게 하는 것입니다. 이는 그들이 수프를 원하는데 케이크를 구우려고 시도하는 것을 방지합니다.
제약 조건 (안전 가드레일): AI는 새로운 코드를 발명할 수 없습니다. 반드시 사전에 승인된 "유틸리티 함수(미리 만들어진 도구)" 라이브러리 중에서 선택하여 템플릿의 빈칸을 채워야 합니다.
- 비유: 이것은 AI가 이야기 전체를 쓰는 것이 아니라, 제공된 특정 빈칸만을 채울 수 있는 "마드립스(Mad Libs, 빈칸 채우기 게임)"와 같습니다. 이를 통해 출력값이 항상 컴퓨터가 이해할 수 있는 형식을 갖추도록 보장합니다.
3. 과정: "시운전(Test Drive)" 루프
이 프레임워크는 로봇을 즉시 현장에 투입하지 않습니다. 대신 엄격한 "생성 → 확인 → 수정" 루프를 사용합니다.
- 생성(Generate): AI는 사용자의 요청에 따라 구성 파일(JSON 계획)을 생성합니다.
- 시운전(검증, Validation): 전체 작업을 실행하기 전에, 단 몇 개의 페이지만을 대상으로 작고 저렴한 테스트를 실행합니다.
- 품질 검사 (심판): AI가 아닌 규칙 기반 시스템이 결과를 확인합니다. 시스템은 다음과 같이 질문합니다: "우리가 올바른 필드를 가져왔는가? 데이터가 비어 있는가? 충돌이 발생했는가?"
- 핵심 포인트: 만약 테스트가 실패하면, 시스템은 단순히 "다시 시도하라"고 말하는 데 그치지 않습니다. 대신 무엇을 하지 말아야 할지에 대한 구체적인 "블랙리스트"를 생성합니다 (예: "가격 정보를 푸터(footer)에서 찾지 마시오").
- 수정(Fix): AI는 다시 시도하지만, 이번에는 방금 저지른 실수를 피하도록 강제됩니다.
- 규모 확대(Scale Up): 시운전이 통과된 경우에만 전체 수집 작업을 실행합니다.
4. 결과: 속도 vs 완벽함
저자들은 138개의 서로 다른 데이터 수집 작업에 대해 이 방식을 테스트했습니다. 결과는 다음과 같습니다.
- 단판 승부 품질(One-Shot Quality): 만약 지금 당장 데이터를 한 번만 가져오고 싶다면, AI가 자유로운 코드를 작성하게 하는 다른 방식들이 약간 더 나은 결과(성공률 약 70% vs 이 방식의 50%)를 낼 수 있습니다.
- 트레이드오프(Trade-Off): 그러나 저자들의 방식은 반복적으로 실행할 때 훨씬 빠르고 훨씬 저렴합니다.
- 마법 같은 점: 계획이 수립되면, 실제 수집 단계에서는 AI를 전혀 사용하지 않고 실행됩니다. 단지 미리 만들어진 계획을 실행할 뿐입니다.
- 비유: 다른 방식들이 매 문장을 읽을 때마다 통역사를 고용하는 것이라면, 이 방식은 한 번 통역사를 고용하여 사전을 만들게 한 뒤, 그 사전을 영원히 사용하는 것과 같습니다.
- 신뢰성: 시스템이 실패했을 때, 시스템은 조용히 실패하지 않았습니다. 명확한 오류 보고서를 생성하여 "수정" 루프가 이를 바로잡을 수 있게 했습니다. 테스트에서 이 피드백 루프는 실패하는 시스템(통과율 0%)을 완벽한 시스템(통과율 100%)으로 바꾸어 놓았습니다.
요요
이 논문은 웹 스크래핑을 하는 법을 추측하는 데 있어 AI를 "완벽하게" 만드는 데 집중해서는 안 된다고 주장합니다. 대신, AI가 엄격한 규칙을 따르고, 사전 구축된 도구를 사용하며, 실제 작업을 수행하기 전에 "시운전"을 거치도록 제약을 가해야 합니다.
초기의 완벽함을 조금 희생하는 대신, 검증 가능하고, 재사용 가능하며, 저렴하게 실행할 수 있는 시스템을 구축함으로써, 이 프레임워크는 자동화된 데이터 수집(매일 아침 뉴스나 정부 데이터를 수집하는 것과 같은)을 웹사이트가 변경될 때마다 사람이 코드를 수정할 필요 없이 실제 업무에서 신뢰할 수 있게 만듭니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.