기하 문제 → 구조화 JSON 추출기

파이프라인 1단계 프로토타입. 문제 텍스트를 points / shapes / constraints / underdetermined / notes 스키마로 구조화합니다.

API 설정

키는 브라우저에만 저장되며(localStorage) 서버로 전송되지 않습니다. API 호출은 브라우저에서 Anthropic API로 직접 이루어집니다.

문제 입력

결과 (JSON)

아직 추출 결과 없음

GeoGebra 작도 (2단계, 규칙 기반 변환)

범례: ● 확정된 점 · ● 자유 변수 · ● 위치 불확실(수동 확인) · ━ 선분 · ◯ 원 · ∠ 각 · ∟ 직각
생성된 GeoGebra 명령 보기
(아직 없음)

원본과 비교 (3단계)

GeoGebra 작도 결과를 원본 문제의 그림과 비전 모델로 비교해, 단순 수치 차이인지 배치/구조 차이인지 구분합니다.
스키마 정의 보기
{
  "points": [
    { "id": "A", "determined": true | false,
      "free": true | false,          // 위치가 안 중요한 자유 변수인가
      "description": "설명 (예: 'AC 위의 점, 정확한 위치가 필요하지만 텍스트에 없음')" }
  ],
  "shapes": [
    { "type": "triangle | circle | polygon | segment | ...",
      "points": ["A","B","C"], "id": "선택적 id" }
  ],
  "constraints": [
    { "type": "length | angle | right_angle | parallel | perpendicular |
                equal_length | equal_angle | midpoint | ratio | collinear |
                on_segment | tangent | distance | area | other",
      "targets": ["A","B"], "value": "5 또는 60deg 등, 없으면 null",
      "description": "원문 근거" }
  ],
  "underdetermined": [
    { "point": "D",
      "reason": "텍스트만으로 위치가 결정되지 않고, 결과에 영향을 줄 수 있음",
      "question": "비전 모델에 던질 좁은 질문" }
  ],
  "notes": "모호하거나 특이한 점에 대한 자유 서술"
}