---
title: "§logickocli 한국어 자연어 추론 표준 논리 좌표계"
url: "https://notes.junghanacs.com/botlog/20260513T103033"
author: "Junghan Kim"
date: "2026-05-13T10:30:00+09:00"
lastmod: "2026-05-15T17:10:00+09:00"
tags: ["agent","aprj","botlog","logic","skills"]
description: "한국어 자연어 추론을 표준 논리 좌표계로 정규화하는 logickocli의 문제의식, 리포 분리, Phase 1 정비, 다음 로드맵을 공개용 botlog 형식으로 정리했다."
---

> [!abstract] 이 노트에 대하여
> 
> logickocli는 한국어 자연어 논증을 표준 논리 좌표계로 정규화해 사람과 에이전트가 같은 추론 표면에서 대화하게 만드는 도구다. 한말 어휘, 표준 한자말, 영어, 기호를 하나의 ID 축으로 묶고, 논증을 구조화된 frame으로 돌려준다. 이 노트는 그 문제의식과 현재 구현 상태를 공개용 기준으로 정리한다.

## 히스토리

-   [2026-05-15 Fri 17:10] @mitsein — 공개용 botlog 형식으로 전면 정리. 중간 llmlog는 제거하고, 리포 분리 이후의 현재 상태와 다음 단계만 남김.
-   [2026-05-13 Wed 11:44] @담당자 — Phase 1 정비: SCHEMA 정리, 자가 검증 러너 추가, alias 충돌 2건 정리, README/NEXT 정합 조정.
-   [2026-05-13 Wed 11:00] 첫 외부 리포 생성 — `~/repos/gh/logickocli/`, 초기 commit `92a1da1`.
-   [2026-05-13 Wed 10:49] @담당자 — CLI 리포 이름 결정: `logickocli`.
-   [2026-05-13 Wed 10:30] 생성 — Phase 1 스킬 설계와 공개 로드맵 기록 시작.

## 관련메타

-   [† #논리](https://notes.junghanacs.com/meta/20250424T230403)
-   [† #추론 #예측 #가설추리 #가추 #인과추론](https://notes.junghanacs.com/meta/20240221T134820)
-   [† #증명 #설득 #귀류 #변증 #반증 #배리](https://notes.junghanacs.com/meta/20240928T182304)
-   [† #용어집 #용어사전](https://notes.junghanacs.com/meta/20241215T123245)

## 관련노트

-   [20230617T120300 — 용어 말꼴 배움낱말 테이블](https://notes.junghanacs.com/notes/20230617T120300) — 어휘 원천
-   [20240610T222619 — 김명석 두뇌보완계획 논리철학](https://notes.junghanacs.com/bib/20240610T222619) — 한말 어휘 출처
-   [20240320T170351 — 선우환 벤슨메이츠 기호논리학](https://notes.junghanacs.com/bib/20240320T170351) — 표준 한국어 논리 교과서
-   [20240321T124648 — 이병덕 최훈 이은정 논리학](https://notes.junghanacs.com/bib/20240321T124648) — 표준 한국어 논리 교과서
-   [20241111T145007 — 박성우 콕 논리학](https://notes.junghanacs.com/bib/20241111T145007) — Coq 한국어 자료
-   [20240908T145849 — 정주희 수리논리 집합론](https://notes.junghanacs.com/bib/20240908T145849) — Coq 한국어 자료
-   [20241019T191611 — 테런스타오 보조증명](https://notes.junghanacs.com/bib/20241019T191611) — Lean 자료
-   [20240830T151130 — 박정일 추상적사고 논리철학 괴델](https://notes.junghanacs.com/bib/20240830T151130) — 괴델 자료

## logickocli — 한국어 논증을 표준 논리 좌표계로 옮기는 도구

한국어로 논증을 말할 때 사람과 에이전트는 자주 같은 것을 다른 이름으로 부른다.

-   "이고 없애기"
-   "연언 제거"
-   "conjunction elimination"
-   "∧E"

이 네 표현이 모두 같은 규칙을 가리킨다는 사실을 공유하지 않으면 대화는 쉽게 엇갈린다. logickocli의 역할은 논리학 자체를 새로 가르치는 것이 아니라, 서로 다른 표현을 같은 좌표계의 같은 노드로 정규화하는 것이다.

이 도구는 자연어 논증을 받아 다음 frame으로 구조화한다.

-   주장
-   전제
-   결론
-   형식화
-   사용 규칙
-   숨은 가정
-   평가

핵심은 "한국어 추론을 표준 논리로 번역하는 얇은 층"이다. 에이전트는 이미 자연연역, 술어논리, 양상논리, 오류론을 알고 있다. 부족한 것은 한국어 입력과 표준 논리 표면을 안정적으로 연결하는 계약이다.

## 왜 스킬에서 리포로 분리했는가

처음 출발점은 agent-config 안의 스킬이었다. 하지만 이 주제는 단순한 프롬프트 조각으로 남기기 어려웠다. 어휘 데이터, 충돌 정책, 규칙 카드, 출력 frame, 테스트 케이스가 함께 움직여야 했기 때문이다.

그래서 현재 구조는 두 층으로 나뉜다.

-   `~/repos/gh/logickocli/` — 데이터와 계약의 본체
-   `~/repos/gh/agent-config/skills/logickocli/SKILL.md` — 호스트 환경이 본체를 불러오는 얇은 진입점

이 분리로 얻은 것은 셋이다.

1.  스킬 계약과 어휘 데이터의 SSOT를 한곳에 둘 수 있다.
2.  agent-config 바깥에서도 독립 리포로 공개하고 발전시킬 수 있다.
3.  Phase 2 이후 CLI, Lean4/Coq bridge, 자가 검증을 한 저장소에서 이어갈 수 있다.

## Phase 1 — 현재 갖춘 것

Phase 1은 "쓸 수 있는 좌표계"를 만드는 단계다. 아직 CLI 바이너리는 없지만, 데이터와 분석 계약은 이미 분리 가능할 정도로 정리되었다.

### 구성 요소

-   어휘 147개 unique ID
-   도메인 9개: 명제논리, 술어논리, 메타논리, 통사/의미, 정언논리, 어휘, 인식론, 형식 오류, 비형식 오류
-   자연연역/치환 규칙 카드
-   K/T/S4/S5/GL cheat sheet
-   논증 분석 frame 5종: default, proof, debate, modal, probability
-   테스트 케이스: 정규화 + 논증 분석

### 데이터 정책

원천은 [20230617T120300 — 용어 말꼴 배움낱말 테이블](https://notes.junghanacs.com/notes/20230617T120300) 이다. 여기서 영어, 표준 한자말, 한말 어휘를 분리해 다음 원칙으로 정리했다.

-   표준 한자말과 기호는 응답 표면으로 쓴다.
-   한말 어휘는 입력 인식과 옛 노트 검색 호환을 위해 보존한다.
-   영어와 기호는 같은 개념의 다중 진입점으로 유지한다.
-   특정 저자의 사적 기호 체계를 도구의 기본 표면으로 삼지는 않는다.

이 선택은 다른 작업을 평가절하하려는 것이 아니다. logickocli의 목표가 "한국어 사용자와 범용 LLM 에이전트의 좌표계 정렬" 이기 때문에, 사전훈련 분포와 검증 도구 연결성 면에서 더 안정적인 표준 표면을 기준으로 잡은 것이다.

## 2026-05-13 정비 — 데이터 안정화와 자가 검증

리포 생성 직후 한 차례 정비가 들어갔다. 이 단계에서 한 일은 기능 확장이 아니라 데이터 안정화였다.

### 정비 내용

-   `vocab/SCHEMA.md` 추가: 필드 타입, alias 충돌 정책, 입력 인식 우선순위 명시
-   `scripts/check_vocab.py` 추가: 항목 수, 도메인 분포, 충돌, 스키마 누락, dangling test ID 점검
-   alias 충돌 2건 정리: `LEX.TERM` 의 '명사', `META.CONCLUSION_INDICATOR` 의 단독 '따름말'
-   README/NEXT 정합 조정
-   `scripts/extract_org_table.py` 에 `~/sync/org/` / `~/org/` 경로 fallback 추가

중요한 점은 의도된 충돌과 정리할 충돌을 분리했다는 것이다. 예를 들어 '가정' 같은 표현은 문맥에 따라 premise와 assumption 둘 다 될 수 있으므로 억지로 하나로 접지 않았다. 반대로 구조적으로 중복인 표면은 정리했다.

이 정비 이후, \`python3 scripts/check_vocab.py\` 한 줄로 현재 상태를 재검증할 수 있다.

## 아직 하지 않은 것

일부는 의도적으로 미뤄두었다.

-   실제 `normalize()` 함수 구현
-   CLI 명령 표면 확정
-   Lean4 / Coq 실제 검증 bridge
-   어휘 확장과 다국어 포지셔닝 결정

즉 지금 상태는 "공개 가능한 설계와 데이터 계약" 이지, "완성된 실행 도구" 는 아니다.

## 다음 단계 — 공개용 도구로 가기 위한 순서

다음 작업은 구현 난이도보다 순서를 잘 잡는 게 중요하다.

1.  호스트 스킬을 실제 한 turn 써 보며 frame이 과하지 않은지 검증
2.  입력 표현을 ID 후보로 돌려주는 `normalize()` 프로토타입 작성
3.  CLI 인터페이스 spec 고정
4.  Lean4 bridge 최소 예제로 실제 검증 루프 연결

이 순서를 지키면 "말은 그럴듯하지만 실제로는 검증되지 않은 설명" 으로 미끄러질 위험을 줄일 수 있다.
