이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.
TL;DR
이 글은 Codex와 여러 Subagent를 활용해 영국 지방 의회의 공개 지출 데이터를 수집하고, 이를 지도 기반 탐색 사이트로 바꾼 제작 과정을 기록합니다. 출처가 서로 다른 웹사이트와 파일 형식으로 흩어진 데이터를 내려받아 표준화하고, Parquet와 DuckDB로 저장한 뒤 공급업체 이름과 분류를 정리했습니다. 약 2일 동안 552개 스레드가 작업한 결과 잉글랜드 339개 의회 중 319곳을 수집했거나 데이터 부재 상태로 분류했으며, 최종 데이터는 1억 700만 행 규모에 이르렀습니다. 지도 앱은 의회별 지출 규모와 범주, 공급업체를 검색하도록 구성됐지만 정적 사이트라 500만 파운드 임계값을 적용한 초기 설계의 한계도 남았습니다.
섹션별 상세
공개 데이터가 존재해도 각 영국 지방 의회 웹사이트에 서로 다른 형식으로 흩어져 있어 한 번에 읽기 어려웠습니다. Codex는 세 개의 Subagent를 별도 스레드로 실행해 공식 출처 31곳을 찾고, 다운로드마다 checksum fingerprint를 남겨 가져온 파일의 변경 여부를 확인했습니다. 다섯 의회의 실제 자료와 지출 질문을 바탕으로 수집 범위를 넓힌 방식은 검색보다 출처 확인과 재현성 확보를 먼저 둔 접근이었습니다.
초기 데이터는 여러 의회의 CSV와 문서를 하나의 표준 형식으로 평탄화하는 과정에서 커졌습니다. Bedfordshire처럼 Bedford, Central Bedfordshire, Luton으로 나뉜 지역 구조를 추가로 찾아 반영했고, 접근이 차단된 두 의회도 Subagent가 다른 수집 경로를 찾아 보완했습니다. 그 결과 8개 의회에서 180만 행과 90억 파운드의 지출을 담은 정제된 CSV가 만들어졌습니다.
데이터 규모가 커지자 모든 기록을 스프레드시트로 유지하는 대신 Parquet와 DuckDB를 선택했습니다. Parquet는 열 단위로 저장해 질문에 필요한 부분만 읽고, DuckDB는 단일 파일에서 대규모 표를 빠르게 조회하도록 구성됐으며 Mac Mini에 설치됐습니다. 약 382개 영국 의회 가운데 잉글랜드와 웨일스 339곳을 대상으로 수집을 확장했지만, 웨일스에는 잉글랜드와 같은 지출 공개 의무가 없어 최종 범위에서 제외됐습니다.
Codex의 반복 목표 작업은 잉글랜드 각 의회의 지출 페이지를 찾고, 가능한 자료를 내려받아 표준화하고, 감사용 Subagent가 수치를 확인한 뒤 DuckDB에 적재하는 순서로 실행됐습니다. 이 작업은 거의 이틀 동안 이어졌고 552개 스레드가 사용됐으며, 339개 의회 중 319곳이 수집 완료 또는 데이터 없음·수집 불가 상태로 정리됐습니다. 단순 일괄 다운로드가 아니라 수집·변환·검증·적재를 반복하는 데이터 파이프라인으로 확장된 점이 핵심입니다.
수집이 끝난 뒤 네 가지 도구가 같은 프롬프트로 비교 카드, Council Ledger, 차트, 지도 시안을 동시에 만들었습니다. 지도 시안은 지출 규모에 따른 의회 영역 색상, 상단 범주 필터, 왼쪽 순위 목록, 의회와 공급업체 검색을 한 화면에 배치했고, Google Maps보다 Apple Maps에 가까운 시각 방향이 선택됐습니다. 초기에는 mock figure로 화면 계층을 먼저 확인한 뒤 실제 데이터와 공급업체 로고를 연결해 데스크톱과 모바일에서 검증했습니다.
마지막 정리에서는 흩어진 파일을 데이터 폴더와 앱 폴더로 통합하고, 2,000개의 미분류 공급업체를 네 개의 Subagent로 분류했습니다. Tesco처럼 여섯 가지 이름으로 나타난 중복 공급업체를 합치고 날짜 범위와 범주를 재검토했으며, Pension Funds처럼 별도 범주가 필요한 항목도 다시 판단했습니다. 일부 데이터에 적용된 500만 파운드 임계값은 백엔드 없이 파일을 모두 불러오지 않으려는 정적 사이트 설계에서 비롯됐고, 실제 이용자가 늘었을 때 이 선택이 적절했는지는 남은 과제입니다.
용어 해설
- 하위 에이전트(Subagent)
- — Subagent는 상위 에이전트가 별도 작업을 맡기는 실행 단위입니다. 이 글에서는 각 지방 의회의 지출 페이지를 찾고 파일을 내려받거나, 공급업체를 분류하고 수치를 검증하는 독립 작업에 활용됩니다. 여러 작업을 병렬로 진행해 대규모 데이터 수집 시간을 줄이는 역할을 합니다.
- Parquet
- — Parquet는 데이터를 열 단위로 저장하는 파일 형식입니다. 특정 질문에 필요한 열만 읽을 수 있어 모든 행과 열을 매번 불러오는 방식보다 대규모 표 조회에 적합합니다. 이 글에서는 지방 의회 지출 데이터를 저장해 검색에 필요한 처리량을 줄이는 데 쓰입니다.
- DuckDB
- — DuckDB는 단일 파일 안에서 실행할 수 있는 분석용 데이터베이스입니다. 대규모 표를 로컬 환경에서 빠르게 조회하도록 Parquet 파일과 연결되며, 별도 서버 없이 Mac Mini에서 영국 지방 의회 지출 데이터를 처리하는 기반으로 사용됩니다.
- 정적 사이트(Static Site)
- — 정적 사이트는 서버가 요청마다 데이터베이스를 조회하는 대신 미리 생성한 파일을 브라우저에 제공하는 구조입니다. 이 글의 지도 앱은 전체 데이터를 파일로 배포하고 사용자의 필터가 브라우저 안에서 작동하도록 설계됐습니다. 그 결과 백엔드는 단순해졌지만 대규모 데이터와 초기 로딩 비용을 함께 고려해야 합니다.
- Parquet와 DuckDB 조합(Parquet and DuckDB)
- — Parquet와 DuckDB 조합은 대용량 표 데이터를 열 단위 파일에 저장하고 로컬 데이터베이스에서 필요한 부분만 조회하는 방식입니다. 이 글에서는 수천만 건의 지출 기록을 하나의 거대한 스프레드시트 대신 관리 가능한 데이터 구조로 바꿉니다. 수집·정제·검색을 한 컴퓨터에서 이어갈 수 있다는 점이 핵심입니다.
기술
- Codex
- Parquet
- DuckDB
- here.now
- Apple Maps
활용 사례
- 지방 정부 지출 데이터 탐색
- 공개 데이터 수집과 표준화
- 공급업체별 지출 분류
- 지도 기반 데이터 시각화
- Subagent를 활용한 반복형 데이터 파이프라인
언급된 리소스
Demohere.now
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 09. 04.수집 2026. 09. 05.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.