깨진 마크다운 고치기
에이전트가 쓴 마크다운은 표준 마크다운 변환으로는 제대로 표현되지 않을 수 있습니다. 닫지 않은 강조, 출력이 끊겨 열린 채 남은 코드펜스, 짝 없는
백틱이 흔합니다. mdwire 는 채널에 맞게 렌더링하기 전에 이런 문제부터 고칩니다. 이
데모는 입력과 mdwire 가 보내는 결과를 나란히 놓고 더한 글자와 뺀 글자를
표시합니다. 아래의 정규화 보고는 고친 횟수를 종류별로 셉니다.
예시는 테스트 케이스 중에서 실제로 정규화가 일어나는 것만 골랐습니다. 입력을 직접 망가뜨려 봐도 됩니다.
WASM 빌드를 불러오는 중…
WASM 빌드를 불러오는 중…
정규화 보고를 보면 모델이 자기 서식을 얼마나 자주 깨는지 알 수 있습니다. 답변마다 기록해 두면 에이전트가
정규화에 얼마나 기대는지도 보입니다. CLI 의 --batch jsonl 은 답변 수백 개를 한 번에 이렇게 집계합니다.
정규화 보고의 앞 네 항목은 고친 횟수이고, 뒤 여섯 항목은 채널에 맞춰 바꾼 횟수입니다.
table-cell-overflow 에서는 표를 다시 쓴 횟수도 잡힙니다. 노션으로는 표가 <table> 태그로 나가서
이 횟수가 잡히지 않습니다(Concepts).
이 데모의 코드
import { renderWithReport } from "@minjun0219/mdwire";
const out = renderWithReport(input, "slack-markdown");
const r = out.repairs;
out.parts.join(""); // 보낼 텍스트
r.closedEmphasis; // 블록 끝에서 닫아 준 강조
r.closedFence; // 문서 끝에서 닫아 준 코드펜스
r.revertedCodeSpan; // 짝이 없어 텍스트로 되돌린 연속된 백틱
r.droppedMarker; // 짝이 없어 버린 **
r.rewrittenTable; // … 그리고 채널에 맞춰 바꾼 것 여섯 가지
r.free(); // 둘 다 WASM 메모리에 있으므로 다 쓰면 해제
out.free();더하고 뺀 글자 표시는 이 페이지가 입력과 출력을 글자 단위로 비교해 만듭니다. mdwire 는 바꾼 횟수만
알려 줍니다. 전체 컴포넌트:
site/src/components/RepairCompare.tsx.