Entitled: An AI Agent That Tells Indians Which Government Schemes They're Owed (Built on Sanity)
Entitled: 인도인이 받을 수 있는 정부 복지 혜택을 찾아주는 AI 에이전트 — Sanity 기반
Entitled는 인도 정부 복지 제도의 자격 요건을 구조화해 시민의 상황과 대조하는 AI 에이전트입니다. Sanity의 GROQ 쿼리와 Inception Mercury를 결합하고, 제외 조건과 공식 신청 링크를 데이터에서 확인해 결과의 근거를 제시합니다.
- 주제
AI 요약
인도에는 중앙정부와 주정부가 운영하는 복지 제도가 많지만, 자격 요건이 여러 포털과 PDF에 흩어져 있고 법률 용어로 작성돼 필요한 사람이 혜택을 놓치곤 합니다. Entitled는 이용자가 영어 또는 칸나다어로 자신의 상황을 설명하면 해당 제도를 찾아 자격 가능성, 판단 근거, 혜택, 준비 서류, 신청 절차와 공식 링크를 카드로 보여주는 AI 에이전트입니다.
자격 규칙을 문장이 아닌 데이터로 관리합니다
프로젝트는 Sanity에 제도(scheme), 자격 규칙(eligibilityRule), 신원 서류(identityDocument), 신청 단계(applicationStep), 출처(source)를 별도 유형으로 구성합니다. 규칙에는 연령·소득·직업·토지 소유·거주지 같은 attribute와 비교 operator, 값, 이용자에게 보여줄 설명, 제외 조건 여부를 저장합니다. 서류는 여러 제도가 참조할 수 있도록 별도 문서로 관리합니다. 제도 상태와 대체 제도, 마지막 검증 시점도 데이터에 둬 변경 사항을 검토할 기반을 마련했습니다.
긍정 조건뿐 아니라 제외 조건도 확인합니다
농부가 토지를 소유했다는 사실만으로 PM-KISAN 자격을 판정하지 않습니다. 예를 들어 정부 공무원인 농부는 긍정 조건을 충족해도 제외 규칙에 걸릴 수 있습니다. Entitled는 ‘정부 직원은 대상이 아님’이라는 규칙을 구조화해 조회하고, 결과 카드에 탈락 근거로 표시합니다. 판단을 모델의 막연한 추론에 맡기지 않고 데이터에 기록된 규칙을 대조하는 방식입니다.
검색과 판정을 분리합니다
에이전트는 이용자의 설명에서 주, 연령, 성별, 직업, 소득, 가족 구성과 토지 정보를 추출합니다. Sanity Context MCP의 초기 문맥·스키마 도구를 확인한 뒤 GROQ 쿼리로 자격 규칙이 있는 제도와 관련 자료를 가져옵니다. 이어 긍정 규칙과 모든 제외 규칙을 이용자 정보와 대조하고, 도구 사용을 마친 뒤 별도 형식화 단계에서 결과를 JSON으로 정리합니다. 처음에는 Knowledge Base를 사용했지만 제도 항목을 하나씩 읽느라 도구 호출을 20회까지 소모했습니다. 구조화된 데이터에 맞춰 GROQ 모드로 바꾸자 필요한 제도를 직접 조회하는 방식으로 전환했습니다.
링크는 모델이 만들지 않습니다
초기에는 답변 형식화 과정에서 신청 링크와 출처가 빠지는 문제가 있었습니다. 프롬프트를 반복해서 고치는 대신, API 경로가 모델 답변 뒤에 Sanity 데이터를 다시 조회해 실제 신청 URL과 공식 출처 URL을 붙이도록 바꿨습니다. 자격 판단은 모델이 맡되, 링크는 데이터셋에서 가져와 생성하지 못하게 분리했습니다.
구현 과정과 사용자 인터페이스
에이전트는 Vercel AI SDK를 통해 Inception Mercury에 연결하고, @ai-sdk/mcp로 Sanity Context MCP를 사용합니다. 결과를 칸나다어로도 제공하며 언어 선택을 방문 간 유지합니다. 후속 질문에는 앞서 입력한 정보를 이어 쓰고, WhatsApp 공유용 결과에는 제도별 판정과 금액, 신청 링크를 담습니다. 실행 중에는 제도 읽기, 규칙 대조, 결과 작성의 세 단계를 표시합니다. Mercury의 도구 호출 기록을 그대로 형식화 요청에 넘겼을 때 503 오류가 발생하자 최종 답변만 전달하도록 수정했습니다. 칸나다어 응답에서 JSON 따옴표와 쉼표가 깨지는 경우에는 관대한 파서를 추가했습니다.
데이터 범위와 주의점
데이터셋에는 제도 125개가 들어 있으며 중앙정부 제도가 118개, 주정부 제도가 7개입니다. 이 가운데 10개 대표 제도에는 직접 작성한 자격 규칙 33개를 적용했고, 11개는 제외 규칙입니다. 나머지 115개는 요약과 출처만 있어 규칙 기반 판정을 하지 않습니다. 범위도 카르나타카주와 중앙정부 제도로 한정합니다. 모든 규칙을 공식 고시와 대조해 검증한 상태는 아니므로 결과는 안내로만 취급해야 하며 최종 판단은 담당 기관이 내립니다.
연간 혜택 총액에도 주의가 필요합니다. PM-KISAN의 현금 지급, Ayushman Bharat의 보험 보장액, PMAY-U의 일회성 보조금처럼 성격이 다른 혜택을 같은 연간 금액 필드에 담아 합산하면 실제 수령액을 부풀릴 수 있습니다. 글에서는 현금·보장·현물·일회성 지급을 구분하는 benefitType 필드를 다음 스키마 개선안으로 제시합니다.
원문: dev.to / 번역·요약: Trawling