AI 코딩 에이전트가 저지르는 5가지 JsonLogic 실수
요약
AI 코딩 에이전트가 생성한 JsonLogic 규칙은 종종 환각(hallucinated)으로 인해 오류를 포함합니다. 이 글에서는 이러한 문제를 해결하기 위해, 유효성 검사, 실행, 디버깅 기능을 제공하는 오픈 소스 'jsonlogic-skill'을 소개합니다. 이 스킬은 다양한 AI 코딩 어시스턴트와 연동되어 비즈니스 요구사항을 표준 JsonLogic 규칙으로 변환하고 오류를 수정해 줍니다.
핵심 포인트
- AI 에이전트의 JsonLogic 환각 문제를 해결하는 오픈 소스 스킬입니다.
- 유효성 검사, 실행, 디버깅 등 전문적인 기능을 제공합니다.
- Claude Code, Copilot, Gemini CLI 등 다양한 AI 코딩 도구와 호환됩니다.
- 하나의 규칙으로 여러 프로그래밍 언어에서 오류 없이 작동합니다.
LLM에게 JsonLogic 규칙 작성을 요청하면, 그럴듯해 보이는 무언가를 기꺼이 생성합니다. 하지만 실제로 실행해보면 true가 나와야 할 곳에서 false가 나오거나, 라이브러리가 구현하지 않은 연산자가 사용되는 경우가 있습니다. 저는 환각(hallucinated)으로 만들어진 규칙들을 디버깅하는 것에 지쳐서, 이 문제를 해결하는 오픈 소스 에이전트 스킬을 패키징했습니다: jsonlogic-skill.
기능 설명 (What it does)
AI 코딩 어시스턴트에 이 스킬을 추가하면, 자동으로 JsonLogic을 인식합니다. 사용자가 일반 언어로 비즈니스 요구사항을 설명하면, 어시스턴트가 다음 작업을 수행합니다:
- 유효한(valid) JsonLogic 규칙으로 변환 (느낌이 아닌 실제 표준에 따라 검사)
- 규칙을 데이터에 실행(runs)
- 기존 규칙의 형식이 올바른지 검증(validates)
- 규칙이 무엇을 하는지 단어로 설명(explains)
- 잘못된 결과를 반환하는 규칙을 디버깅(debugs)
이는 jsonlogic.com의 실제 연산자 세트를 알고 있으며, 중요하게도 사용자의 언어 JsonLogic 라이브러리가 사용하려는 연산자를 지원하는지 확인합니다. JavaScript, Python, Ruby, PHP, Java: 하나의 규칙으로 여러 런타임에서 오류 없이 작동합니다.
설치 (Install)
이 스킬은 오픈 Agent Skills 형식을 따르기 때문에 Claude Code, Cursor, GitHub Copilot, VS Code agent mode, Codex, Gemini CLI 등과 함께 작동합니다. Claude Code의 경우:
git clone https://github.com/valeryia-piatrova/jsonlogic-skill.git ~/.claude/skills/jsonlogic
클라이언트를 재시작하면 완료됩니다. 다른 모든 클라이언트에는 docs/installing.md에 자체적인 한 줄 명령어가 있습니다.
간단한 예시 (A quick example)
사용자가 다음과 같이 입력합니다:
$200 이상 주문에는 20% 할인을, $100 이상 주문에는 10% 할인을 제공하고, 그렇지 않으면 할인이 없습니다.
어시스턴트는 다음을 생성합니다:
{
프롬프트는 모델에게 JsonLogic이 무엇인지 알려줍니다. 스킬은 데이터 형태를 수집하고, 규칙을 점진적으로 작성하며, 실제 스크립트로 검증한 다음 답변하는 워크플로우를 제공합니다. 이 '답변 전에 검증하는' 루프가 단순히 '보기에 맞는 것(looks right)'과 '실제로 작동하는 것(runs right)' 사이의 전체 차이점입니다.
## 직접 사용해보기
저장소는 MIT 라이선스를 따르며 무료입니다: [github.com/valeryia-piatrova/jsonlogic-skill](https://github.com/valeryia-piatrova/jsonlogic-skill). 만약 디버깅 세션을 절약해 준다면 별점을 남겨주세요. 그리고 JsonLogic의 엣지 케이스를 제대로 처리하지 못하는 경우, 이슈를 열어주세요. 실제 세계의 규칙들이 이 도구를 더 좋게 만듭니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기