부동산 에이전트 만들기

소개

스터디에 영감을 얻어 시작한 프로젝트입니다.

"정부 정책 공고, 심리지수, 경제지표를 매번 따로 찾아보는데...

AI가 이걸 한 번에 통합 분석해주면 어떨까?"

그래서 Claude Code(claude.ai/claude-code)를 활용해서

부동산 시세 예측 AI 에이전트 시스템을 직접 만들어봤습니다.

핵심 아이디어:

- 공공 API 7개 이상을 연동해서 데이터 자동 수집

- Claude AI가 데이터를 분석하고 시세 예측

- Streamlit 대시보드로 누구나 쉽게 조회

진행 방법

【 사용 도구 】

- Claude Code (CLI) : 코드 전체 설계 및 구현

- Ralph Loop 플러그인 : 자동 반복 개선 루프

- Python 3.12

- Streamlit : 대시보드 UI

- Plotly : 차트 시각화

- httpx : API 통신

【 연동한 공공 API 】

1. 한국부동산원 R-ONE API → 아파트 가격지수, 심리지수

2. 국토부 실거래가 API → 아파트 실거래가 (공공데이터포털)

3. 한국은행 ECOS API → 기준금리, M2, CPI, 주담대금리

4. 통계청 KOSIS API → 미분양 현황, 건축허가

5. 브이월드 API → 국가공간정보 (용도지역, 좌표)

6. 나라장터 G2B API → 입찰공고 (택지개발, 도시계획)

7. 지자체 공고 크롤러 → 서울시, 경기도, 정비사업온누리

【 사용한 프롬프트 전문 】

--- 첫 번째 프롬프트 ---

나는 부동산 전문가야 정부정책 심리지표 그리고 경제 지표를 통해

부동산 시세를 예측할거야 일단 agent skill 등등 을 만들고 계획을 작성해줘

(참고한 데이터 소스 목록)

- 공공데이터포털 / API / 온비드

- 상권정보시스템 / 오픈API

- 브이월드

- 지자체 자료 공고추적 / 열람공고 결정고시 승인

- 도시관리계획

- 정보몽땅/정비사업온누리

- 전략환경영향평가/환경영향평가/소규모환경영향평가

- 조달청 나라장터 검색 입찰공고 과업지시서

- 통계청

- 아파트 - 한국부동산원 부동산테크 API 심리지표 그리고 경제 지표를 통해 부동산 시세를 예측

📁 만들어진 결과물 구조

budonsan2/

├── agents/

│ ├── orchestrator.py ← 메인 통합 에이전트 (Claude Tool Use)

│ ├── policy_agent.py ← 정책 모니터링 전문 에이전트

│ └── market_agent.py ← 시장 분석 전문 에이전트

├── skills/ ← Claude가 호출하는 도구 모음

│ ├── skill_policy.py ← 나라장터 공고, 공간정보 분석

│ ├── skill_market.py ← 실거래가, 심리지수

│ ├── skill_economic.py ← 금리, M2, CPI 분석

│ └── skill_supply.py ← 미분양, 정비사업 현황

├── collectors/ ← 각 API 수집기

│ ├── kab_collector.py

│ ├── molit_collector.py

│ ├── ecos_collector.py

│ ├── kosis_collector.py

│ ├── vworld_collector.py

│ ├── naramarket_collector.py

│ └── local_gov_crawler.py

├── models/

│ ├── price_predictor.py ← 시세 예측 모델

│ ├── feature_engineering.py

│ └── backtester.py ← 백테스트 검증

├── dashboard/

│ └── app.py ← Streamlit 대시보드 (4탭)

├── config/

│ └── api_keys.env.example

├── run.py ← 통합 실행 스크립트

└── setup.py ← 의존성 자동 설치

총 29개 파일 자동 생성

【 핵심 코드 - Agent Tool Use 구조 】

```python

# orchestrator.py 핵심 로직

# Claude가 스스로 어떤 데이터가 필요한지 판단하고 도구를 호출

ALL_TOOLS = (

skill_policy.POLICY_TOOLS # 정책: 나라장터, 브이월드

+ skill_market.MARKET_TOOLS # 시장: 실거래가, 심리지수

+ skill_economic.ECONOMIC_TOOLS # 경제: 금리, M2

+ skill_supply.SUPPLY_TOOLS # 공급: 미분양, 정비사업

)

while iteration < max_iterations:

response = client.messages.create(

model="claude-opus-4-6",

tools=ALL_TOOLS, # 11개 도구 제공

messages=messages,

)

# Claude가 필요한 도구를 선택해서 호출

# → 데이터 수집 → 재분석 → 최종 예측

```

```python

# 예측 모델 - 4가지 지표 종합

def predict(price_mom_3m, sentiment_index, rate_change, economic_score):

scores = {

"가격 모멘텀": weights["price"] * tanh(price_mom_3m / 5),

"시장 심리": weights["sentiment"] * (sentiment_index - 100) / 20,

"금리 환경": weights["rate"] -tanh(rate_change 2),

"경제 여건": weights["eco"] * economic_score / 10,

}

composite = sum(scores.values())

direction = "상승" if composite > 0.2 else ("하락" if composite < -0.2 else "보합")

return direction, composite

```

【 대시보드 실행 방법 】

1. 의존성 설치: python setup.py

2. API 키 설정: .env 파일에 키 입력

3. 대시보드 실행: python run.py dashboard

4. 브라우저 접속: http://localhost:8501

대시보드 4개 탭:

[시세 예측] 낙관/기본/비관 시나리오 + 리포트 다운로드

[시장 현황] 가격지수, 심리지수 차트, 지역별 테이블

[정책 모니터링] 지자체 공고 호재/악재 분류, 나라장터 공고

[경제지표] 기준금리, M2, CPI 대시보드

💡 결과와 배운 점

【 배운 점 & 꿀팁 】

1. Claude Code는 도메인 지식을 주면 줄수록 결과물이 달라진다

→ 막연하게 "부동산 앱 만들어줘"가 아니라

사용하는 데이터 소스, API, 분석 프레임워크를 구체적으로 알려줄수록

전문가 수준의 코드가 나온다.

2. Ralph Loop로 반복 개선이 효과적

→ "계속해봐" 한 마디로 Claude가 스스로 이전 작업을 보고

다음 단계를 이어서 구현한다.

Phase 1(수집기) → Phase 2(스킬) → Phase 3(모델) → Phase 4(대시보드)

자동으로 진행됨.

3. 자체 검증 요청이 코드 품질을 높인다

→ "자체 검증을 통해 완벽할때까지 계속 해봐"라고 하니

Claude가 직접 python -m py_compile 로 구문 검사,

FutureWarning 수정, import 체인 검증, 로직 테스트까지 수행.

4. Tool Use (함수 호출) 패턴이 핵심

→ Claude에게 도구 목록만 주면, 어떤 데이터가 필요한지

스스로 판단해서 API를 호출하고 분석한다.

GPT의 함수 호출과 동일한 개념인데 훨씬 자연스럽다.

【 시행착오 】

- Ralph Loop에 긴 텍스트를 넣으니 bash 파싱 오류 발생

→ 짧고 명확한 프롬프트로 분리해서 해결

- pandas FutureWarning: fillna(method='ffill') deprecated

→ df.ffill().fillna(0) 으로 수정

- plotly, anthropic 패키지 미설치 시 import 오류

→ try/except로 graceful fallback 처리

- Windows 환경에서 한글 출력 시 cp949 인코딩 오류

→ 검증 스크립트를 ASCII로 작성해서 우회

【 앞으로의 계획 】

Phase 3b: ML 모델 고도화

- XGBoost: 피처 중요도 기반 예측

- LSTM: 시계열 딥러닝

- Prophet: 계절성 분석

Phase 5: 알림 시스템

- 정책 호재/악재 감지 시 Slack/카카오톡 알림

- 급등/급락 조기 경보

Phase 6: 실 데이터 연동 완성

- 현재는 일부 샘플 데이터

- 실제 API 키 발급 후 라이브 데이터 연동

【 도움이 필요한 부분 】

API가 병목이다.....

🔗 도움 받은 글 (옵션)

- 지피터스 Claude Code 스터디 자료

- Anthropic 공식 문서: Tool Use (함수 호출)

https://docs.anthropic.com/en/docs/tool-use

- 공공데이터포털 API 목록: https://www.data.go.kr

- 한국부동산원 R-ONE: https://www.reb.or.kr/r-one

- 한국은행 ECOS: https://ecos.bok.or.kr

- 브이월드: https://www.vworld.kr

4
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요