1. 한눈에 보기
스포츠브릿지는 스포츠강좌이용권을 받은 아이가 실제로 다닐 수 있는 강좌가 부족한 지역을 찾고, 그 지역에서 어느 시설을 가맹시키고 어떤 수업을 열어야 하는지를 계산해 주는 지자체·국민체육진흥공단 담당자용 도구입니다. 보호자가 강좌를 검색하는 서비스가 아니라, 공급을 늘려야 하는 사람이 쓰는 서비스입니다.
하는 일
- • 시군구별 공급 공백을 4개 축으로 진단하고 전국 순위를 보여줍니다.
- • 가맹되지 않은 체육시설 중 접촉할 가치가 있는 후보를 점수로 정렬해 CSV로 내보냅니다.
- • 수요 집단(예: 지역아동센터 8명)과 조치(가맹 협의·강좌 신설·정원 추가·이동 지원)를 넣으면 모든 조합의 배정 인원을 계산합니다.
- • 계산 결과만 근거로 협의 계획서 초안을 만들고, 문서 안 모든 숫자를 근거와 대조합니다.
- • 질문 한 번으로 위 과정을 도구 호출로 수행하는 에이전트를 제공합니다.
2. 어떤 문제를 푸는가
스포츠강좌이용권은 저소득층 유·청소년(만 5~18세)에게 월 최대 10만 5천 원의 강좌비를 지원합니다. 그런데 지원 대상이 되어도 동네에 가맹시설이 없거나 종목이 한두 개뿐이면 지원금을 쓰지 못합니다. 국회예산정책처 자료는 2024년 지원기간 미소진 사유 1위가 "이용시설 부족(35.0%)"이라고 설명했고, 2020년 국정감사에서는 서울 25개 자치구 중 19곳이 사용 가능 시설 5곳 미만이었습니다.
공단과 지자체는 공문과 시상으로 가맹시설을 모집하지만, "어느 동네, 어떤 종목, 어느 시설부터 접촉해야 하는가"를 데이터로 계산해 주는 도구는 없었습니다. 스포츠브릿지는 그 빈자리를 채웁니다.
3. 네 단계 흐름
공백 진단
공공데이터만으로 시군구를 4축으로 진단합니다. 입력이 필요 없습니다.
후보 발굴
전국체육시설현황에서 가맹 목록과 대조되지 않은 시설을 점수화합니다.
조치 조합 시뮬레이션
수요 집단과 조치를 넣으면 모든 조합의 배정 인원·비용을 계산합니다.
협의 계획서
선택한 조합의 근거·미확인 조건과 문서 초안을 만듭니다.
1·2단계는 담당자의 입력 없이 동작하고, 2단계 결과가 3단계 시나리오의 초기값으로 자동 채워집니다. 에이전트는 이 네 단계를 질문 한 번으로 이어 줍니다.
4. 이용자용: 내 조건에 맞는 운동 찾기 /user
홈에서 "이용자용"을 고르면 나옵니다. 스포츠강좌이용권을 가진 유·청소년 보호자, 장애인 이용권 대상자, 그리고 이용권과 무관하게 동네에서 운동할 곳을 찾는 일반 시민이 모두 쓸 수 있습니다. 조건은 저장하지 않고 화면에서만 계산합니다.
입력
- 지역(시도·시군구), 대상(유·청소년 이용권 / 장애인 이용권 / 일반), 희망 종목 최대 3개(순서가 우선순위), 나이(선택), 요일별 가능 시간, 이동·준비 여유(분), 월 예산(선택), 이동 수단.
결과 세 묶음
- 조건 일치: 종목·시간(여유 포함)·연령·예산을 모두 통과한 강좌. 시간표·수강료·최근 신청·정류장 도보·안전등급을 함께 보여줍니다.
- 확인 필요: 시간은 맞지만 출석 규칙·연령·수강료 중 확인되지 않은 항목이 있는 강좌. 무엇을 시설에 물어봐야 하는지 적혀 있습니다.
- 조건 불일치: 왜 맞지 않는지(요일 충돌, 예산 초과 등)를 이유와 함께 보여줍니다.
조건 변경 제안
결과가 적으면 실제로 후보가 늘어나는 변경만 제안합니다. 예: "토요일 추가하면 +3", "예산 1만 원 상향하면 +2", "종목에 '헬스' 추가하면 +5". 버튼을 누르면 그 조건으로 다시 계산하고, 원래 조건은 사용자가 바꾸기 전까지 유지됩니다.
무료·공공 공간
일반 이용자(그리고 강좌가 없는 경우 누구나)를 위해 가용시간과 겹치는 개방학교 체육시설(운영 요일·시간, 종목, 샤워실·탈의실)을 함께 보여줍니다.
이 서비스만의 다리: 수요 등록과 가맹 요청
- 수요 등록: 맞는 강좌가 없을 때 "이 조건의 수요가 있다"를 익명으로 남깁니다(지역·종목·요일·시간대·연령대만 저장, 이름·주소·나이 자체는 저장하지 않음). 같은 지역의 등록 수요는 담당자용 시나리오에서 수요 집단 초기값으로 자동 불러와지고, 진단 화면에 "등록 수요 N건"으로 표시됩니다. 즉 이용자의 "없다"가 담당자의 "무엇을 열어야 하는가"로 이어집니다.
- 가맹 요청: 근처 비가맹 체육시설 후보에 "이 시설이 가맹되면 이용하겠다"를 표시합니다. 표시 수는 담당자 후보 점수에 가점(최대 +3)으로 반영되어 유치 순서를 바꿉니다.
5. 5분 빠른 시작(담당자용)
- 홈에서 시도·시군구를 고르고 "진단 보기"를 누릅니다. 4개 축 카드와 전국 순위, 해석 문장을 봅니다.
- 상단 "유치 후보 보기"로 넘어가 부족 종목(예: 수영)을 고르고 적용합니다. 점수 순으로 정렬된 비가맹 시설과 "확인 필요" 사유를 확인하고, 필요하면 CSV 내보내기를 합니다.
- 진단 화면의 "시나리오 만들기"로 이동해 "공급 옵션·후보 불러오기"를 누릅니다. 활동 중인 강좌와 후보 시설의 "가맹 협의 + 강좌 신설" 조치 쌍이 자동으로 채워집니다.
- 수요 집단의 인원·가용 시간을 적고, 조치의 비용·정원을 아는 만큼 입력합니다(모르면 비워 두면 "미확인"으로 처리). 예산을 넣고 "조합 계산"을 누릅니다.
- 비교 화면에서 현재 상태 · 예산 내 최선 조합 · 탐욕 방식을 비교하고 조합을 선택한 뒤 "협의 계획서"로 넘어갑니다. 초안을 복사하거나 인쇄합니다.
문장으로 시작하고 싶다면 에이전트에 "종로구 센터 A 아이들 8명이 수영을 월수금 오후 3~6시에 하고 싶어. 예산 90만원이면 뭘 해야 해?"처럼 적으면 됩니다.
6. 화면: 공백 진단 /gap · /gap/{시군구코드}
전국 비교표
230개 시군구를 표로 보여줍니다. 시도 필터와 정렬(대상자 대비 시설 부족 순, 종목 수 적은 순, 저녁 강좌 비율 낮은 순, 수급률 낮은 순, 대상자 많은 순, 유치 후보 많은 순)을 바꿀 수 있고, 계산할 수 없는 지역은 항상 뒤로 갑니다. 모바일에서는 행이 카드로 바뀝니다.
4개 축
| 축 | 계산 | 데이터 | 읽는 법 |
|---|---|---|---|
| 양 | 이용권 대상자 1,000명당 최근 12개월 활동 가맹시설 수 | 지역별 이용권 활용정보(대상자), 가맹시설·이용현황 | 작을수록 공백이 큼. 전국 순위 1위 = 가장 낮음 |
| 종목 선택권 | 최근 12개월 강좌가 있는 종목 수, 상위 1개 종목 비중 | 이용현황 강좌 | 종목 수가 적고 한 종목(예: 태권도) 비중이 높으면 선택권이 좁음 |
| 시간 선택권 | 시간이 확인된 강좌 중 18시 이후 시작 비율, 주말 포함 비율 | 강좌 시간표(요일·시각) | 맞벌이 가정·지역아동센터가 이용할 수 있는 시간대의 비율 |
| 수급률 | 대상자 대비 실제 수급 인원 | 지역별 이용권 활용정보 | 낮으면 지원을 받을 수 있는데 못 받는 비율이 높음. 원인은 단정하지 않음 |
"활동"은 데이터의 최신 강좌월(2026-08) 기준 12개월 안에 이용 기록이 있는 것입니다. 현재 모집 중이라는 뜻이 아닙니다.
시군구 상세
- 축 카드: 값·전국 순위·계산 불가 사유. 순위 20위 안이면 빨간 배지.
- 해석: "부족·충분" 같은 판정 대신 순위와 원 수치를 문장으로 씁니다.
- 종목·시작 시각·요일 분포: 최근 12개월 강좌 기준 막대.
- 가맹시설 표: 최근 12개월 신청 인원, 마지막 강좌월, 정류장 도보시간, 전체시설 목록과의 대조 결과(대조됨 / 유사 시설 검토 필요 / 미대조). 시설명을 누르면 강좌 목록이 뜹니다.
- 강좌 표: 시간표, 월 수강료, 최근 신청, AI가 추출한 연령·출석 규칙(검토 완료 여부 표시). 시간표가 여러 후보 중 하나면 "모호"라고 적습니다.
7. 화면: 유치 후보 /gap/{시군구코드}/candidates
전국체육시설현황·전국공공체육시설·개방학교 데이터에서 가맹 목록과 대조되지 않은 정상운영 시설을 보여줍니다. "대조되지 않음"이지 "비가맹 확정"이 아니므로 모든 후보에 "가맹 여부 확인 필요"가 붙습니다.
필터
- 부족 종목: 고르면 업종에서 추정한 종목이 일치할 때 가점. 옆 괄호는 현재 그 종목의 활동 강좌 수.
- 업종, 시설명 검색.
- 적합성 미확인 업종 포함(기본 켬), 아동 강좌 가능성 낮은 업종 포함(당구장·골프연습장 등, 기본 끔), 안전점검 양호만.
점수 규칙(공개)
- 아동 강좌 적합 업종 +3, 미확인 +1, 낮음은 제외
- 요청 종목과 업종 추정 종목 일치 +3
- 안전점검 양호 +2, 점검 기록만 있음 +1, 주의·수리필요·사용중지 −3
- 정류장 도보 5분 이내 +2, 10분 이내 +1(공공시설만 데이터 있음)
- 실내 +1, 정보 갱신일 2025년 이후 +1
점수는 "접촉할 가치가 있는 순서"이지 가맹 성사 확률이 아닙니다. 가맹시설과 이름이 비슷해 같은 시설일 수 있는 곳은 따로 경고합니다. CSV 내보내기는 현재 필터를 그대로 적용해 순위·점수·근거·확인 필요 항목·출처까지 담습니다.
8. 화면: 시나리오 편집 /scenario
시나리오는 이 브라우저에만 저장됩니다(서버에 저장하지 않음). JSON 내보내기·불러오기로 다른 PC로 옮길 수 있습니다.
1) 지역과 종목
시도·시군구·종목을 고르고 "공급 옵션·후보 불러오기"를 누르면 최근 12개월 활동 가맹 강좌가 공급 옵션으로, 유치 후보 상위 5곳이 "가맹 협의 + 강좌 신설" 조치 쌍으로 채워집니다. 강좌 신설 조치는 가맹 협의를 선행 조건으로 갖습니다.
2) 수요 집단
익명 집단 단위입니다. 이름, 인원, 종목, 연령(만), 주당 횟수(요일 선택 출석용), 이동·준비 여유(분), 이동 수단(자력·기관 차량·이동 지원 필요), 요일별 가용 시간, 출처 등급을 적습니다. 가용 시간을 비우면 시간 제약 없음으로 봅니다.
3) 공급 옵션
기존 강좌 또는 신설 슬롯입니다. 정원(추가 수용 가능 인원)과 그 출처 등급, 출석 규칙(전 요일 필수 / 요일 선택 / 미확인), 대상 연령, 가맹 여부, 월 수강료, 존재 여부(기존/신설 필요), 세션 시간표, 집단별 이동 가능 여부를 편집합니다. 정원은 공공데이터에 없으므로 담당자가 입력하지 않으면 "미확인"이고, 미확인 정원은 확정 배정에서 제외됩니다.
4) 개선 조치
| 종류 | 효과 | 필요한 값 |
|---|---|---|
| 가맹 협의 | 해당 시설의 옵션이 이용권 사용 가능해짐 | 시설, 비용 |
| 강좌 신설 | 신설 슬롯이 존재하게 되고 정원이 생김 | 공급 옵션, 정원, 비용 |
| 정원 추가 | 기존 옵션 정원 증가 | 공급 옵션, 정원, 비용 |
| 이동 지원 | 특정 집단이 특정 시설에 갈 수 있게 됨 | 집단, 시설, 비용 |
선행 조치(requires)와 배타 조치(conflicts)를 쉼표로 적을 수 있습니다. 비용을 비우면 "미확인"이며, 미확인 비용이 있는 조합은 예산 내 최선 조합으로 뽑히지 않습니다.
5) 예산과 모드
정원·비용 시뮬레이션은 사람 수를 배정하고, 구조 탐색은 정원 없이 "연결 가능한 집단 수"만 셉니다. 검증은 참조 무결성과 미확인 항목을 알려주고, 조합 계산은 비교 화면으로 넘어갑니다.
9. 화면: 조합 비교 /scenario/compare
- 현재 상태: 조치 없이 지금 조건으로 배정 가능한 인원.
- 예산 내 최선 조합: 배정 인원 최대 → 비용 최소 → 조치 수 최소 순으로 고른 조합. 예산 초과·비용 미확인 조합은 제외.
- 탐욕 방식: 조치를 단독 효과 큰 순으로 하나씩 더하는 방식의 결과. "가맹만 해도 0, 개설만 해도 0, 둘 다 하면 8명"처럼 결합 효과가 있으면 탐욕 방식은 그 조합을 놓칩니다. 이 차이가 이 도구의 핵심입니다.
- 조치별 단독 효과 표, 상위 조합 표(예산 초과·비용 미확인·가정 의존 표시).
- 제약 추적: 선택한 조합에서 어느 집단이 어느 옵션에 왜 막히는지(종목 불일치, 필수 출석 요일 충돌, 출석 규칙 미확인, 이동 불가, 비가맹, 정원 미확인 등).
"이 조합 선택"을 누르면 협의 계획서 화면으로 넘길 조합이 저장됩니다.
10. 화면: 협의 계획서 /scenario/plan
선택한 조합에 대해 근거 JSON(수요·조치·배정·막힌 연결·미확인·가정)을 만들고, 그 JSON만 근거로 문서 초안을 씁니다.
- 결정적 템플릿 초안: AI 없이 코드가 작성. 목적 / 수요 집단 / 선택한 조치 조합 / 모델상 결과 / 막힌 연결 / 성립 조건(확인 필요) / 가정에 의존하는 값 / 다음 행동.
- AI로 다듬기(GPT-5.6 Luna): 같은 근거 JSON으로 모델이 초안을 다시 씁니다. 완성된 문서의 모든 숫자와 시설·집단 이름이 근거 JSON에 있는지 코드가 대조하고, 하나라도 없으면 1회 재생성 후 반려합니다. 근거에 없는 값(예: 예산 차액)은 "미확인"으로 남깁니다.
- 모든 초안에는 "자동 생성 초안, 담당자 검토 전" 표시와 "배정 인원은 모델 값이며 실제 참여·예산 절감·사업 승인을 뜻하지 않는다"는 문장이 들어갑니다.
- 마크다운 복사, 근거 JSON 복사, 인쇄를 지원합니다.
11. 화면: 복구 에이전트 /agent
담당자가 문장으로 질문하면 모델이 도구 8종을 골라 호출하고 결과를 서술합니다. 숫자·순위·배정량은 전부 도구(코드)가 계산하고, 모델은 값을 옮겨 적기만 합니다.
도구 8종
| 도구 | 하는 일 |
|---|---|
| 지역·시설 해석 | "부산 동래", "종로구" 같은 표현을 표준 시군구 코드로, 시설명을 가맹·비가맹 시설 ID로 확정 |
| 시군구 진단 | 4축 수치·순위·해석 문장 |
| 지역 비교 | 최대 5개 시군구의 축별 수치와 차이(차이는 코드가 계산) |
| 공급 옵션 조회 | 활동 강좌의 시간표·수강료·신청 인원·AI 추출 사실. 종목·저녁만 필터 |
| 유치 후보 조회 | 점수 순 후보와 확인 필요 사유 |
| 시나리오 생성 | 사용자가 말한 인원·시간·예산·비용·정원으로 시나리오 JSON 구성. 말하지 않은 값은 미확인 |
| 조합 시뮬레이션 | 모든 조치 조합 평가: 현재 상태·최선 조합·탐욕 비교·결합 효과·막힌 제약 |
| 출처 조회 | 데이터 버전·기준일·출처 등급 정의 |
코드 가드(모델이 틀려도 걸러내는 장치)
- 사전 차단: 특정 아동·가구 식별, 수급자 명단, 개인 자격 판정 요청은 모델을 부르지 않고 고정 문구로 거절합니다.
- 근거 없는 숫자: 답변의 숫자가 도구 결과에 없으면 재작성을 요구하고, 그래도 남으면 "(근거 없음)"으로 치환합니다.
- 성과 단정 표현: "참여율이 오를 것", "예산 절감", "가맹 확정", "가장 안전한", "부족합니다/충분합니다"는 재작성하거나 문장을 제거합니다.
- 반복 호출 차단: 같은 인자로 같은 도구를 다시 부르면 결과를 주지 않고 경고합니다. 연속 반복이면 수집한 정보만으로 마무리합니다.
- 부록 강제: 확인 필요 항목과 출처 등급 요약이 답변에 없으면 코드가 붙입니다.
- 한도: 최대 10턴, 90초. 넘으면 "추가 도구 호출 없이" 마무리하도록 지시합니다.
오른쪽 실시간 도구 호출 타임라인에 턴·도구 호출·결과 요약·가드 발동이 실시간으로 표시되고, 근거 카드에 답변에 쓰인 진단·강좌·후보·시뮬레이션 값이 출처 등급 배지와 함께 나옵니다. 질의 기록에서 이전 답변을 다시 볼 수 있습니다.
12. 화면: 검토 큐 /review
AI가 추출·판정한 항목을 사람이 승인·반려하는 곳입니다. 승인 전에는 진단·시나리오에 쓰이지 않습니다.
- 강좌 설명 추출: 강좌 설명 원문과 AI가 뽑은 연령·출석 규칙·수준·셔틀·근거 문장·신뢰도를 나란히 보여줍니다. 연령·출석 규칙은 고쳐서 승인할 수 있습니다. 승인하면 출처 등급이 "AI추출·검토완료"가 되고, 진단의 연령 축이 다시 계산됩니다.
- 시설 동일성 판정: 규칙으로 못 가른 가맹시설↔전체시설 쌍의 판정(same / different / unsure)과 이유. 승인하면 두 시설이 연결되어 후보 목록에서 빠집니다.
13. 화면: 데이터 관리 /data
원본 10종의 출처(상품 페이지·기준일·메모), 파일 크기·수정일, 적재된 해시를 한 표에서 관리합니다. 파일이 적재 이후 바뀌면 "재적재 필요"가 표시됩니다.
- CSV 올리기: 데이터별로 새 원본을 올리면 임시 파일로 받은 뒤 원자적으로 교체합니다(UTF-8 CSV만, 1.2GB까지, 업로드 진행률 표시).
- 전체 다시 적재: 10종을 다시 읽어 새 버전을 만듭니다. 약 1분. 지역 → 가맹시설 → 강좌 → 전체시설·안전·교통 → 매칭 → 집계 → 기록 → 활성 전환의 10단계 진행률과 단계 로그가 서버에 저장되어, 어느 브라우저·어느 페이지에서 보든 같은 진행 바가 상단에 뜹니다.
- 새 버전은 staging에 쓴 뒤 컬렉션을 통째로 교체하므로 실패해도 이전 버전이 그대로 남습니다. 강좌·시설 ID는 버전이 바뀌어도 같아서 즐겨찾기·검토 결과·수요 등록·가맹 요청이 유지됩니다.
- 버전 이력: 활성·보관·실패 버전과 적재 통계, 소요 시간.
14. 출처 등급
모든 값에는 어디서 왔는지가 붙습니다. 등급에 따라 쓰이는 범위가 다릅니다.
| 등급 | 뜻 | 쓰이는 곳 |
|---|---|---|
| 공공자료 | 공공데이터 원본 컬럼 | 진단, 필터, 후보, 배정 판정 |
| 규칙 | 코드 규칙(업종→아동 적합성, 점수) | 후보 점수·필터 |
| AI추출·미검토 | 모델이 텍스트에서 뽑았지만 아직 사람이 안 봄 | "확인 필요" 표시로만 노출 |
| AI추출·검토완료 | 검토 큐에서 승인됨 | 진단 연령 축, 시나리오 출석 규칙·연령 |
| 담당자확인 | 시설·기관에 확인한 값 | 정원·비용의 확정 배정 |
| 가정 | 시연·계획용 가정값 | 결과에 "가정 의존" 표시 |
15. 계산 규칙(엔진)
호환 판정
수요 집단과 공급 옵션이 연결되려면 다음을 모두 통과해야 합니다. 통과하지 못한 이유는 제약 추적에 남습니다.
- 종목 일치.
- 연령: 옵션에 대상 연령이 있고 집단 연령이 있으면 집단 범위가 옵션 범위 안에 있어야 함. 어느 한쪽이 없으면 통과(확인 필요).
- 시간: 옵션의 각 세션 [시작−여유, 종료+여유]가 같은 요일 가용 시간 안에 완전히 들어가야 함. 출석 규칙이 "전 요일 필수" 또는 "미확인"이면 모든 세션이 맞아야 하고(미확인은 보수적 판정), "요일 선택"이면 주당 횟수만큼만 맞으면 됨. 시간표가 없는 옵션은 연결 불가.
- 이동: 이동 지원 조치가 있거나 집단별 이동 가능이 확인되면 통과. "이동 불가"로 확인된 경우와, "이동 지원 필요" 집단에 지원 조치가 없는 경우는 불가. 미확인이면 자력 이동 집단은 통과.
- 가맹: 옵션 시설이 가맹이거나 가맹 협의 조치가 선택돼야 함. 미확인·비가맹은 불가.
- 존재: 신설 슬롯은 강좌 신설 조치가 있어야 존재.
- 정원: 정원·비용 모드에서 정원이 미확인이면 확정 배정에서 제외.
배정
연결된 집단→옵션 사이에서 최대유량으로 배정합니다. 집단은 인원 단위로 나뉘어 여러 옵션에 배정될 수 있고, 옵션은 정원까지만 받습니다.
조합 탐색
조치가 최대 10개이므로 부분집합 최대 1,024개를 전부 평가합니다. 선행·배타 관계를 어기는 조합은 제외하고, 예산을 넘거나 비용 미확인이 있는 조합은 최선 후보에서 뺍니다. 정렬은 배정 인원 최대 → 비용 최소 → 조치 수 최소 → ID 순입니다. 별도로 탐욕 방식을 계산해 결합 효과(조합 효과 > 단독 효과 합)를 표시합니다.
구조 탐색 모드
정원을 모두 무시하고 "연결 가능한 집단 수"만 셉니다. 정원·비용이 아직 없을 때 어느 조치가 구조적으로 필요한지 보는 용도이며, 사람 수로 해석하지 않습니다.
16. 데이터와 결합 규칙
국민체육진흥공단이 문화빅데이터플랫폼에 공개한 CSV 10종을 원본 그대로 적재합니다.
| 데이터 | 역할 |
|---|---|
| 지역별 스포츠강좌이용권 활용정보 | 시군구별 인구·대상자·수급자·시설 수. 표준 지역코드(230개)의 기준 |
| 스포츠강좌이용권 시설 | 가맹시설 이름·주소·전화·종목·좌표·가맹일 |
| 스포츠강좌이용권 이용현황 | 시설·강좌별 월 신청 인원·가격. 강좌의 기본 단위(강좌번호)이자 시설↔강좌를 잇는 다리 |
| 스포츠강좌이용권 이용시설 강좌 | 강좌명·종목·요일·시각·설명. 시설 키가 없어 (종목·강좌명·가격·연도)로 이용현황에 결합 |
| 전국체육시설현황 | 업종·유형·운영상태·주소·좌표. 비가맹 후보의 모집단 |
| 전국공공체육시설 | 공공시설 보충(전국체육시설현황과 중복 제거) |
| 개방학교 체육시설 | 학교 공간 후보(기준연도 혼재, 확인 필요) |
| 체육시설 안전점검정보 | 시설별 최신 안전등급·점검일 → 후보 점수 |
| 이용권시설 인접 대중교통 | 가맹시설별 가장 가까운 정류장 도보시간 |
| 체육시설 인접 대중교통 | 공공시설별 정류장 도보시간 → 후보 점수 |
결합 규칙
- 지역코드: 2026년 행정 개편 코드(전남광주통합특별시 12xxx)와 시 안의 구 코드는 이름으로 표준 코드에 붙입니다. 인천 신설구(제물포·영종·검단·서해)는 옛 중구·서구로 근사합니다.
- 가맹시설: 이용권 시설 목록과 이용현황의 시설을 (지역·이름·주소) 기준으로 병합합니다. 과거 가맹도 포함됩니다.
- 강좌 시간표: 같은 이름의 시간표가 여럿이면 가격·연도가 맞는 것을 고르고, 그래도 여럿이면 "모호"로 표시합니다.
- 가맹↔전체 시설 매칭: ① 이름+주소 정확일치 → ② 시군구 안에서 이름이 양쪽 모두 유일 → ③ 전화번호 일치 → ④ 이름 유사·좌표 300m 이내 후보를 만들어 AI 판정·검토 큐로. 어디에도 걸리지 않은 시설이 후보가 됩니다.
현재 적재 통계는 데이터 안내에 있습니다.
17. AI가 하는 일
모델은 OpenAI GPT-5.6 Luna(가장 저렴한 티어)를 씁니다. 원칙은 "숫자와 판정은 결정적 엔진이 만들고, AI는 텍스트↔구조 변환만 한다"입니다.
하는 일
- • 강좌 설명(자유 텍스트)에서 연령·출석 규칙·수준·셔틀 여부를 스키마로 추출. 근거 문장이 원문에 있는지 코드로 검사
- • 규칙으로 못 가른 시설 쌍의 동일성 판정
- • 업종이 불명확한 시설의 종목·아동 적합성 추정
- • 사용자의 문장을 시나리오 JSON으로 바꾸고, 도구 결과를 서술
- • 근거 JSON을 문서로 다듬기
모든 AI 산출물은 출처 등급·신뢰도·검토 상태를 달고 나오며, 일일 비용 한도와 호출 기록이 있습니다. AI 키가 없어도 진단·후보·시나리오·템플릿 계획서는 그대로 동작합니다.
18. 자주 묻는 질문
보호자도 쓸 수 있나요?
화면은 누구나 볼 수 있지만, 설계는 지자체·공단 담당자와 지역아동센터 같은 기관용입니다. 개인 강좌 검색·신청은 스포츠강좌이용권 공식 사이트에서 하세요.
정원과 비용은 어디서 오나요?
공공데이터에 없습니다. 담당자가 시설·기관에 확인해 입력하거나, 시연용으로 "가정"을 넣습니다. 미확인 정원은 확정 배정에서 빠지고, 가정이 섞인 결과는 "가정 의존"으로 표시됩니다.
왜 "부족하다"고 말해 주지 않나요?
시설 수는 수용 인원이 아니고 데이터의 기준일도 다르기 때문에, 절대 판정 대신 순위와 원 수치를 보여주고 판단은 담당자가 하도록 했습니다.
탐욕 방식과 최선 조합이 왜 다르죠?
가맹만 하면 수업이 없고, 수업만 열면 이용권을 못 씁니다. 각각의 단독 효과는 0이지만 둘을 함께 하면 효과가 납니다. 단독 효과 순으로 고르는 방식은 이런 조합을 놓칩니다. 이 도구는 모든 조합을 계산해 그 차이를 보여줍니다.
AI가 없는 숫자를 만들면요?
답변과 문서의 모든 숫자를 도구 결과·근거 JSON과 대조합니다. 없는 숫자는 재작성을 요구하고, 그래도 남으면 "(근거 없음)"으로 바꾸거나 문서를 반려합니다.
시나리오가 다른 PC에 안 보여요.
시나리오는 브라우저에만 저장됩니다. 편집 화면의 "JSON 내보내기"로 파일을 받아 다른 PC에서 "JSON 불러오기"를 하세요.
데이터는 얼마나 최신인가요?
활성 버전 v20260918-111408, 최신 강좌월 2026-08입니다. 상세는 데이터 안내에 있습니다.
19. 용어
- 가맹시설
- 스포츠강좌이용권으로 결제할 수 있는 체육시설. 이 서비스에서는 공단 시설 목록과 이용현황에 나온 시설의 합집합.
- 활동 시설·강좌
- 데이터 최신 강좌월 기준 12개월 안에 이용 기록이 있는 시설·강좌.
- 대상자
- 기초생활수급·차상위·한부모 가정의 만 5~18세 등 이용권 지원 대상 인원(지역별 활용정보 기준).
- 수급자
- 실제로 이용권 지원을 받고 있는 인원.
- 공급 옵션
- 수요를 받을 수 있는 강좌 슬롯. 기존 강좌 또는 신설 예정 슬롯.
- 조치
- 공급을 바꾸는 행동: 가맹 협의, 강좌 신설, 정원 추가, 이동 지원.
- 조합
- 조치의 부분집합. 최대 1,024개를 전부 평가.
- 모델상 배정 가능 인원
- 입력 조건과 가정하에서 엔진이 계산한 배정 인원. 실제 참여가 아님.
- 결합 효과
- 조합의 효과가 각 조치 단독 효과의 합보다 큰 경우.
- 확인 필요(unresolved)
- 정원·비용·가맹 여부·출석 규칙처럼 데이터에 없어 담당자가 확인해야 하는 항목.