어느 철학 강의실에서였다. 교수님은 칠판에 적힌 명제를 가리키며 “이 문장이 참임을 어떻게 증명할 수 있는가?”라고 물었다. 학생들은 논리적 추론과 경험적 증거를 들었지만, 교수님은 매번 “그 근거가 왜 참인가?”를 다시 물었다. 끝없이 이어지는 물음에 누군가는 짜증을 내고, 누군가는 깊은 생각에 잠겼다. 이 과정은 마치 소프트웨어 테스트에서 경계 조건을 검증하는 것과 닮아 있었다. 입력값이 주어졌을 때, 시스템이 올바른 출력을 내놓는지를 확인하는 일. 그런데 만약 그 출력의 ‘올바름’이 단순한 기능적 정확성을 넘어, 어떤 근본적인 진리의 기준에 부합해야 한다면?
Viveka는 바로 이런 질문을 던진다. 대형 언어 모델(LLM)의 출력을 아드바이타 베단타(Advaita Vedanta) 철학의 경전과 논리 체계에 비춰 검증하는 도구다. Lean이라는 증명 보조 도구를 활용해, LLM이 생성한 텍스트가 이 고대 철학의 핵심 명제와 모순되지 않는지를 기계적으로 확인한다. 기술적으로는 흥미롭지만, 그 이면에는 더 근본적인 문제의식이 자리하고 있다. AI가 인간 지성의 정수를 얼마나 ‘이해’할 수 있는가? 그리고 그 이해의 깊이는 어떻게 검증 가능한가?
소프트웨어 개발에서 검증(verification)과 검사(validation)의 구분은 오래전부터 중요하게 다뤄져 왔다. 코드가 명세에 맞게 작성되었는지를 확인하는 검증과, 그 명세가 실제 사용자의 요구를 충족하는지를 확인하는 검사는 별개의 문제다. Viveka는 이 구분선을 한 단계 더 밀어붙인다. LLM의 출력이 단순히 문법적으로나 의미론적으로 ‘올바른’ 것을 넘어, 특정 철학적 체계의 진리에 부합하는지를 검증하려 한다는 점에서 그렇다. 이는 마치 수학 증명에서 공리 체계의 선택이 결과에 미치는 영향을 논의하는 것과 닮았다. 같은 문제를 다른 공리 체계에서 바라보면 전혀 다른 결론에 도달할 수 있다.
“진리는 언어의 한계를 넘어선다. 하지만 우리는 언어를 통해 진리에 다가가려 한다.”
아드바이타 베단타는 ‘브라흐만(절대자)’과 ‘아트만(개별 자아)’의 동일성을 주장하는 비이원론 철학이다. 이 철학의 핵심은 언어와 개념을 초월한 무언가를 언어와 개념으로 설명하려 한다는 역설에 있다. 그런데 Viveka는 Lean이라는 형식 증명 도구를 통해 이 역설을 기술적으로 구현하려 한다. Lean은 수학적 명제를 엄밀하게 증명할 수 있는 도구로, 수학자들이 복잡한 정리를 검증하는 데 사용된다. 이를 철학적 명제에 적용한다는 발상은 신선하면서도 도전적이다. 과연 철학적 진리를 형식화할 수 있는가? 그리고 그 형식화가 원래의 철학적 통찰을 왜곡하지는 않는가?
여기서 흥미로운 점은, Viveka가 LLM의 출력을 ‘필터링’하는 데 그치지 않고, 그 출력을 철학적 모델과 ‘대화’하게 만든다는 것이다. 이는 단순한 규칙 기반 검사가 아니다. LLM이 생성한 텍스트를 Lean으로 번역하고, 그 번역된 명제가 아드바이타 베단타의 공리 체계에서 증명 가능한지를 확인하는 과정은, 마치 철학자가 제자의 주장을 검토하며 끊임없이 질문을 던지는 것과 닮았다. “네 주장의 근거는 무엇인가?”, “그 근거는 어떤 공리에 기반하는가?”, “그 공리는 왜 참이라고 생각하는가?”
물론 이 접근법에는 한계가 있다. 철학적 진리는 종종 모호하고 해석의 여지가 많은 반면, Lean과 같은 형식 도구는 엄밀성과 명확성을 요구한다. 아드바이타 베단타의 핵심 개념인 ‘마야(환영)’나 ‘아비드야(무지)’를 Lean으로 완벽하게 표현하는 것은 불가능에 가깝다. 또한, LLM 자체가 확률적 생성 모델이라는 점도 문제다. Viveka가 ‘검증’하는 것은 LLM의 출력이 아니라, 그 출력의 특정 해석이다. 해석의 여지가 있는 텍스트를 엄밀한 논리 체계로 번역하는 과정에서 정보의 손실이나 왜곡이 발생할 수 있다.
그렇다면 Viveka는 무엇을 위한 도구인가? 기술적 관점에서 보면, 이는 LLM의 출력을 특정 도메인 지식에 맞게 조정하는 방법론의 일환으로 볼 수 있다. 의료나 법률 분야에서 LLM의 출력을 전문 지식에 맞게 필터링하는 것과 유사하다. 하지만 Viveka의 진정한 가치는 그런 실용성에 있지 않다. 이 프로젝트는 AI와 인간 지성의 관계에 대한 근본적인 질문을 던진다. AI가 인간의 지혜를 ‘이해’할 수 있는가? 그리고 그 이해의 깊이는 어떻게 측정할 수 있는가?
소프트웨어 개발자로서, 이 프로젝트는 우리에게 익숙한 문제와 낯선 문제를 동시에 떠올리게 한다. 우리는 매일 코드를 작성하고, 그 코드가 명세에 맞게 동작하는지를 테스트한다. 하지만 그 명세가 ‘올바른’ 것인지는 어떻게 알 수 있을까? Viveka는 이 질문을 철학의 영역으로 확장한다. 코드가 단순히 동작하는 것을 넘어, 그 동작이 어떤 더 큰 진리에 부합하는지를 묻는다. 이는 개발자에게는 낯설지만, 동시에 오래된 질문이다. 우리가 만드는 시스템이 세상을 더 나은 곳으로 이끄는지, 아니면 그저 복잡성을 더하는지에 대한 질문 말이다.
Viveka는 아직 초기 단계의 프로젝트지만, 그 방향성은 분명하다. AI의 출력을 단순히 ‘유용한’ 것으로 평가하는 것을 넘어, ‘진실한’ 것으로 평가하려 한다는 점에서 그렇다. 물론 이 접근법이 모든 철학적 질문에 적용될 수 있는 것은 아니다. 하지만 적어도 한 가지는 확실하다. 기술이 인간의 가장 깊은 고민과 만나는 지점에서, 우리는 항상 새로운 질문을 발견하게 된다. 그리고 그 질문들은 종종 기술 그 자체보다 더 중요하다.
이 프로젝트에 대한 더 자세한 내용은 GitHub 저장소에서 확인할 수 있다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.