종합부동산웹앱 AI 분석 워크벤치 구현
질의 원문
내가 maico 질문을 여기서 했다. maico 관련 질문은 무시하고
AI 분석 지침 + 실행계획 생성형
사용자가 “노원 재건축 5억 이하 찾아줘”처럼 질의하면 AI가 분석 목적, 필요한 원천, 호출할 수집기, 확인 한계, 결과 문서 구조를 만들고 백엔드 도구를 실행합니다.
위의 내용으로 진행해줘.
수집 경로와 시점
- 수집·구현시점: 2026-08-12 14:20:25 +09:00
- 확인 경로: 로컬 저장소
src/realestate/webapp/,tests/,docs/plans/,docs/analysis/ - 실행 명령:
$env:PYTHONPATH='src'; python -m pytest tests/test_webapp_app.py tests/test_webapp_analyst.py -q
데이터 등급
| 항목 | 등급 | 비고 |
|---|---|---|
| 사용자 요구 원문 | 1차 사용자 입력 | 본 대화에서 직접 제공 |
| 구현 코드 | 로컬 코드 원본 | analyst.py, orchestrator.py, FastAPI 라우트, 홈 UI |
| 원천 수집 결과 | 미수집 | 이번 구현은 질의→분석계획→실행요약 흐름 구축이며 특정 지역 데이터 수집은 하지 않음 |
| 투자 후보 가격 | 미산출 | 원천 수집 성공 전 가격·우선순위를 추정하지 않음 |
구현 내용
src/realestate/webapp/analyst.py를 추가해 사용자의 자연어 질의를 분석 계획으로 변환했다. 1차 구현은 외부 LLM 호출 없이 동작하는 규칙 기반 planner다. 재건축/재개발, 경매/공매, 자금조달, 임대수요, 학군/교통, 일반 스크리닝 질의를 분류하고, 목적·필요 원천·수집기 계획·가정·한계·결과 문서 구조를 만든다.
src/realestate/webapp/orchestrator.py를 추가해 분석 계획을 실행 요약으로 변환했다. 아직 실제 후보 가격을 꾸며내지 않고, 수집 계획, 원천 상태, 데이터등급, 가정, 한계, 원본 확인 과제를 Markdown으로 정리한다.
FastAPI에는 다음 API를 추가했다.
POST /api/analyst/plan: 질의에서 분석 계획 생성POST /api/analyst/run: 분석 계획을 실행 요약 Markdown/HTML로 변환
홈 화면에는 AI 투자분석 워크벤치 영역을 추가했다. 사용자는 질의, 전략 프로필, 상한가, 지역을 입력하고 분석 계획 만들기와 분석 실행을 누를 수 있다. 실행 결과는 기존 분석 기록 저장 흐름과 연결되어 docs/analysis와 투자 현황판으로 이어진다.
가정
- “AI가 붙어 있다”는 요구는 채팅창만 붙이는 것이 아니라, 질의를 백엔드 수집·분석 작업으로 구조화하는 계층을 의미한다.
- 1차 구현은 deterministic planner로 충분하며, 실제 LLM provider는 후속으로
AnalystProvider계층 뒤에 붙인다. - 수집기 상태는 연결완료·부분연결을 명시하고, 원천 미확인 값을 사실처럼 쓰지 않는다.
한계·미확인
- 이번 구현은 실제 서울 정비사업·네이버 단지·국토부 실거래 API를 자동 호출해 후보 가격을 산출하지 않는다.
POST /api/analyst/run은 수집 실행 요약과 문서 초안 생성까지만 수행한다.- 권리산정일, 조합원 지위, 확정 분담금, 경매 인수권리 등은 원문 확인 과제로 남긴다.
- 실제 LLM 연결, 세션형 대화 기억, 자동 워치리스트 후보 생성은 후속 구현 대상이다.
검증
- RED:
tests/test_webapp_analyst.py가realestate.webapp.analyst모듈 부재로 실패하는 것을 확인 - GREEN:
$env:PYTHONPATH='src'; python -m pytest tests/test_webapp_analyst.py -q-> 3 passed - RED:
/api/analyst/plan,/api/analyst/run이 404로 실패하는 것을 확인 - GREEN:
$env:PYTHONPATH='src'; python -m pytest tests/test_webapp_app.py tests/test_webapp_analyst.py -q-> 12 passed - JS 문법:
node --check src/realestate/webapp/static/app.js-> 통과
다음 단계
run_analysis_plan()이 계획의 수집기 중 안전하게 실행 가능한 항목부터 실제 호출하도록 확장한다.- 학교알리미·서울 열린데이터광장·정비몽땅처럼 이미 키가 있거나 신청한 원천을 planner의 실행 가능 상태와 연결한다.
- 실행 결과에서 워치리스트 후보 초안을 만들고, 사용자가 승인하면 후보로 저장한다.
원문 Markdown: docs/analysis/2026-08-12-종합부동산웹앱-ai분석워크벤치-구현.md