[명경] 운세가 아니라 자기 해석의 거울로 만들고 싶었다
사주 서비스를 만들면 쉽게 운세 콘텐츠로 흘러간다. 오늘의 운이나 재물운처럼 짧고 단정적인 문장을 보여 주면 사용자는 곧바로 반응한다. 명경에서 만들고 싶었던 것은 그 반대편이었다. 계산 결과를 맞히는 게임보다, 사용자가 자기 경험을 다른 언어로 살펴보는 시간을 만들고 싶었다.

계산과 해석을 섞지 않기
사주에는 계산 구조가 있다. 하지만 계산 결과가 곧바로 사용자의 삶을 설명해 주는 것은 아니다. 명경을 설계하며 먼저 분리한 것도 이 두 단계였다. saju-engine-web과 saju-api가 계산의 경계를 보여 준다면, discord-saju-engine과 discord-saju-bot은 그 결과가 사용자에게 전달되는 방식을 생각하게 했다.
계산하는 층과 표현하는 층이 한 덩어리가 되면 검증하기 어렵다. 더 큰 문제는 단정적인 표현이 계산 결과에 과도한 권위를 부여한다는 점이다. 결과를 만들 수 있는 것과 결과를 어떻게 책임 있게 보여 주는 것은 다른 일이다.

거울은 결론을 대신 내리지 않는다
명경의 문장은 사용자가 “맞다”라고 느끼는 데서 끝나면 안 된다. 그 반응이 자기 선택을 더 선명하게 보는 계기가 되어야 한다. 그래서 운세처럼 다음 행동을 정해 주기보다, 자신의 패턴과 현재 상황을 비교해 볼 수 있는 관찰의 틀을 남기는 쪽을 택했다.
이 원칙은 표현의 톤에도 영향을 줬다. 확정적인 예언보다 가능성과 질문을 사용하고, 사용자가 자기 경험으로 답을 보완하게 해야 했다. Ruminate가 고전 문장을 상담의 결론이 아니라 질문의 재료로 쓰려 했던 이유와도 닿아 있다.

제품의 책임을 어디에 둘 것인가
해석형 제품은 재미만으로 설명하기 어렵다. 사용자가 결과를 사실처럼 받아들이면 작은 문장 하나도 선택에 영향을 줄 수 있다. 계산을 정확하게 하는 것만큼, 무엇을 모르는지와 어디서 멈춰야 하는지를 표현하는 일이 중요했다.
명경을 거울에 가깝게 잡은 것도 그래서다. 거울은 사용자를 대신해 살지 않는다. 다만 지금의 표정과 방향을 조금 더 잘 보게 한다. 제품은 그 관찰을 돕되 결론을 빼앗지 않아야 한다.
마치며
명경에서 가장 어려운 일은 그럴듯한 운세 문장을 만드는 것이 아니다. 사용자가 자신의 경험을 다시 읽을 여지를 남기는 것이다. 계산과 표현을 분리하고, 단정 대신 관찰을 선택하는 기준은 앞으로도 이 제품을 설명하는 출발점으로 남는다.