종합부동산웹앱 AI 분석 워크벤치 공공데이터 원천 실행 구현
질의 원문
계속 진행해
수집 경로와 시점
- 수집·구현시점: 2026-08-12 15:19:34 +09:00
- 확인 경로: 로컬 저장소
src/realestate/webapp/analyst.py,src/realestate/webapp/orchestrator.py,src/realestate/collectors/molit.py,src/realestate/collectors/building_ledger.py,src/realestate/webapp/templates/index.html,src/realestate/webapp/static/app.js - 직전 맥락: AI 투자분석 워크벤치가 네이버 단지·법원경매·정비사업 식별자 실행 흐름까지 갖췄으므로, 국토부 실거래와 건축물대장도 충분한 식별자가 있을 때 자동 실행하도록 확장했다.
데이터 등급
| 항목 | 등급 | 비고 |
|---|---|---|
| 사용자 지시 | 1차 사용자 입력 | 본 대화에서 직접 제공 |
| 국토부 실거래 수집기 | 1차 공공원본 API 경유 | DATA_GO_KR_SERVICE_KEY 또는 DATA_GO_KR_KEY와 LAWD_CD, DEAL_YMD 필요 |
| 건축물대장 표제부 수집기 | 1차 공공원본 API 경유 | sigunguCd, bjdongCd, bun, ji 식별자 필요 |
| 테스트 응답 | 테스트 대역 | 실제 외부 API 호출 없이 호출 계약과 품질 처리 검증 |
구현 내용
AI 분석 계획의 source_refs 허용 키를 확장했다.
- 국토부 실거래:
data_go_lawd_cd,molit_deal_ymd,molit_area_bucket - 건축물대장:
building_sigungu_cd,building_bjdong_cd,building_bun,building_ji
홈 화면 AI 투자분석 워크벤치의 원천 식별자 입력 영역에 국토부 거래월, 실거래 면적버킷, 건축물대장 시군구코드·법정동코드·번·지 입력을 추가했다. 프론트엔드는 빈 값을 제거하고 source_refs에 담아 계획/실행 API로 전달한다.
run_analysis_plan() 기본 executor에 두 실행 경로를 추가했다.
molit_trade:LAWD_CD + DEAL_YMD가 있을 때fetch_apt_trades()를 호출하고, 해제거래를 제외한 뒤 중위 거래금액만 산출한다. 표본 3건 미만은insufficient_data로 남긴다.building_ledger:sigunguCd + bjdongCd가 있을 때 표제부를 조회하고, 건물명·주용도·사용승인연도·용적률·건폐율·세대수를 문서 조각으로 요약한다.
식별자나 키가 부족하면 후보를 꾸며내지 않고 SourceUnavailable로 실행 상태와 사유를 남긴다.
가정
data_go_lawd_cd는 법정동코드 전체가 아니라 국토부 아파트 실거래 API의 시군구 5자리LAWD_CD로 해석한다.molit_area_bucket은~60,60~85,85~같은 내부 품질 필터 버킷이며, 없으면 전체 면적 거래의 중위값을 계산한다.- 건축물대장
bun,ji가 없으면 수집기 기본값0000을 쓴다. 다만 정밀 분석에서는 정확한 번·지를 넣어야 한다.
한계·미확인
- 이번 검증은 테스트 대역으로 호출 계약을 확인했으며 실제 공공 API 네트워크 호출은 수행하지 않았다.
- 국토부 실거래는 신고 지연과 해제거래 사후 반영 가능성이 있어, 최신 3개월 값은 잠정으로 봐야 한다.
- 건축물대장 표제부만으로 조합원 지위, 권리산정일, 종전자산, 확정 분담금은 알 수 없다.
- 실거래 지역 단위 중위값은 단지별 확정 시세가 아니며, 단지명·면적·층·동 조건을 별도로 좁혀야 한다.
검증
- RED:
$env:PYTHONPATH='src'; python -m pytest tests/test_webapp_analyst.py::test_build_analysis_plan_preserves_public_data_source_refs tests/test_webapp_analyst.py::test_run_analysis_plan_executes_molit_trades_from_source_refs tests/test_webapp_analyst.py::test_run_analysis_plan_executes_building_ledger_from_source_refs tests/test_webapp_app.py::test_homepage_accepts_analyst_source_ref_inputs -q-> 4 failed - GREEN:
$env:PYTHONPATH='src'; python -m pytest tests/test_webapp_analyst.py::test_build_analysis_plan_preserves_public_data_source_refs tests/test_webapp_analyst.py::test_run_analysis_plan_executes_molit_trades_from_source_refs tests/test_webapp_analyst.py::test_run_analysis_plan_executes_building_ledger_from_source_refs tests/test_webapp_app.py::test_homepage_accepts_analyst_source_ref_inputs -q-> 4 passed
다음 단계
- AI 실행 결과의
source_results를 카드형 투자안 요약으로 묶어 후보 비교에 바로 쓰게 한다. - 국토부 실거래 지역 단위 결과를 단지명·면적별 후보 가격 앵커로 좁히는 후처리를 추가한다.
- 건축물대장 결과를 정비사업 후보의 노후도·용적률·세대수 점수와 연결한다.