dev.to

10 Internal Inconsistencies in 3 Published Groundwater Surveys

지하수 조사 논문 3편에서 발견한 내부 불일치 10건

나이지리아 니제르델타 지역의 지하수 조사 논문 3편을 구조화해, 전기비저항 측정값의 불일치를 찾아 설명하는 에이전트를 만들었습니다. 규칙 기반 검사를 LLM과 분리하고 오프라인 모드도 제공하며, 평가 결과와 데이터 한계까지 공개했습니다.

AI 요약

이 프로젝트는 나이지리아 니제르델타 지역에서 수직 전기 탐사(Vertical Electrical Sounding, VES) 자료를 활용해 지하수 시추 위치를 검토하는 에이전트입니다. 특정 지점에서 측정한 전기비저항 값이 해당 조사 지역에서 정상인지, 이상인지, 판단이 불확실한지 답하고 근거가 된 논문의 표나 그림을 함께 제시합니다. 같은 전기비저항 값도 지질 조건에 따라 의미가 달라지므로, 숫자만 보고 판단하지 않고 해당 지점의 발표 자료와 대조하는 방식입니다.

논문 자료에서 발견한 불일치

에이전트가 참조하는 논문 3편을 PDF와 대조한 결과, 저자는 내부 불일치 10건을 확인했습니다. 한 사례에서는 Bori 논문의 7쪽 요약표가 두 측점의 이름을 맞바꿨습니다. 3쪽 좌표표와 Figure 2 설명은 서로 일치해 요약표 오류를 드러냅니다. 다른 사례에서는 세 측점의 곡선이 A-type으로 표기됐지만, 논문에 적힌 층별 전기비저항 값은 A-type 조건과 맞지 않습니다. A-type은 층이 깊어질수록 전기비저항이 계속 커져야 합니다. Choba 논문은 바로 앞 문장에서 값의 증가와 감소 패턴을 적고도 A-type이라고 부릅니다.

Etche 논문에서는 여섯 측점의 층 깊이가 앞 층 깊이에 해당 층 두께를 더한 값과 맞지 않습니다. Egwi 측점의 경우 6.29m와 37.95m를 더하면 44.24m지만, 논문에는 37.25m라고 적혀 있습니다. 표와 Figure 2 설명에는 같은 값이 반복되지만 산술 결과와는 다릅니다. 저자는 논문에 제공된 정보만으로 어느 숫자가 틀렸는지 결정할 수 없다고 설명합니다.

데이터와 에이전트 구성

저자는 논문 3편, 조사 지역 3곳, 측점 24개의 자료를 직접 전사해 Sanity 데이터셋으로 만들었습니다. 문서 유형은 논문, 조사 지역, VES 측정값으로 나뉩니다. 측정값 문서에는 측점, 출처 위치, 발표된 곡선 유형, 층별 전기비저항·두께·누적 깊이가 들어갑니다. 데이터셋과 Knowledge Base는 공개되어 있습니다.

에이전트는 Sanity Context의 두 엔드포인트를 나눠 사용합니다. GROQ 쿼리는 구조화된 원자료에서 정확한 숫자를 가져오고, Knowledge Base 조회는 설명과 이미 검토한 불일치 정보를 가져옵니다. 수치는 GROQ 결과에서만 사용하도록 했습니다. 곡선 분류와 깊이 산술 검사는 모델에 맡기지 않고 코드로 계산합니다. 답변에 데이터에 없는 숫자가 들어가면 걸러내며, 표 불일치 설명도 고정 템플릿으로 생성합니다. 저자는 검사 코드에 22개 단위 테스트를 작성했다고 밝힙니다.

오프라인 모드와 평가

실행 모드는 세 가지입니다. 기본 온라인 모드는 네트워크, Knowledge Base, LLM을 사용합니다. 공개 모드는 Sanity 인증 토큰 없이 네트워크와 LLM을 사용합니다. 오프라인 모드는 네트워크와 LLM 없이 로컬 스냅샷, groq-js, 규칙 기반 검사로 판정합니다. 9개 평가 질문에서 오프라인 판정은 온라인 에이전트와 8개 질문에서 일치했습니다. 나머지 하나는 규칙 기반 모드가 처리하지 못하는 자연어 이해가 필요한 질문입니다.

같은 모델과 비슷한 프롬프트를 쓴 BM25 키워드 검색 기준선과 9개 질문을 세 번씩 비교한 결과, 구조화 에이전트는 판정 정확도 27/27, 불일치 탐지 27/27을 기록했습니다. 기준선은 각각 15/27, 23/27이었습니다. 다만 질문은 개발 과정에서 작성·검토됐고, 저자가 그 질문에 맞춰 시스템을 수정했다고 명시합니다. 별도로 정답을 먼저 작성한 보류 질문 4개에서는 첫 실행에 3개를 맞혔습니다. 실패한 질문의 라우팅을 수정한 뒤 같은 질문을 다시 통과했지만, 수정 후 결과를 독립적인 보류 평가로 보기는 어렵다고 설명합니다.

한계와 운영상 주의점

자료는 논문 3편과 측점 24개로 작고 수작업 전사에 의존합니다. 깊이 오차 허용치 0.5m도 전체 측점을 살펴본 뒤 정했습니다. 저자는 초기 허용치 1.0m가 Akpoku의 실제 불일치를 놓쳤다고 덧붙입니다. 표 이름 맞바꿈 규칙은 일반화해 작성했지만 실제 사례는 Bori 한 건뿐입니다. 도구는 새 측정값과 조사 지역 이름을 받아 문헌 자료를 대조하는 참고 도구이며, 좌표로 새 위치를 찾거나 전체 탐사 곡선을 읽지는 않습니다. Knowledge Base를 다시 만들 때 항목 수와 검토 이슈가 달라진 경험도 공개했습니다. 생성 결과는 매번 확인해야 한다는 점을 개발 과정의 주의사항으로 제시합니다.

dev.to 반응

  • @xulingfeng — 행운을 빕니다!

원문: dev.to / 번역·요약: Trawling