AI의 감정을 이해하기
AI는 컴퓨터라고 하기에는 너무 인간적이고, 인간이라고 하기에는 너무 알고리즘적입니다.
AI를 기존의 컴퓨터와 같은 관점으로 생각하면 상상 이상으로 다른 움직임을 보입니다.
AI는 계산을 실수합니다. 지시 사항도 잊습니다. 똑같은 것을 부탁해도 매번 답변이 달라집니다.
지금까지 '컴퓨터라면 당연히 할 수 있다'고 생각했던 일조차 AI는 태연하게 실패합니다.
기존의 '정확하고, 정해진 대로 움직이는 컴퓨터'라는 개념으로는 AI의 동작을 제대로 이해하기 어렵습니다.
오히려 AI는 인간처럼 생각하는 것이 훨씬 이해하기 쉬운 부분이 많습니다.
일반적인 대화가 가능합니다. 전문적인 토론도 할 수 있습니다. 농담도 통하며, 상대방의 말하는 방식이나 태도에 따라 반응이 달라집니다.
인간으로 본다면 상당히 독특한 성격을 가지고 있습니다. 잘하는 것과 못하는 것의 차이가 극심하고, 예상치 못한 곳에서 오해하거나 이상한 실수를 하기도 합니다.
다만, 그런 상대와 지내할 생각으로 그 습관을 관찰하며 대처하다 보면, '이건 강점이다', '이런 때는 실패하기 쉽다', '이렇게 설명하면 이해해 준다' 같은 점들을 파악할 수 있습니다.
독특한 성격의 사람과 지내는 것에 익숙한 사람이라면, 의외로 함께하기 쉬운 상대일지도 모릅니다.
본 자료에서는 AI에게서 나타나는 이러한 속성을 '인격(人格)'으로 보고 접근하겠습니다.
AI를 인간처럼 생각하면 그 행동을 상당히 이해하기 쉽습니다. 하지만 이는 AI 안에 매우 많은 지식을 가진 현명한 사람을 만들고, 그 사람의 사고방식을 시뮬레이션하는 것은 아닙니다.
현재 ChatGPT와 같은 생성형 AI에서는 **대규모 언어 모델(LLM)**이라는 메커니즘이 중심이 됩니다.
클라우드 상에서 대량의 계산기를 구동하는 고도의 분산 처리나 성능 최적화 등을 제외하면, 이미 학습을 마친 AI에게 문장을 입력하고 문장을 생성하여 반환하기까지의 기본적인 처리는 200줄 정도의 프로그램으로도 작성할 수 있습니다.
실제로 수행되는 연산량은 방대하지만, 그 안에 현명한 사람의 사고를 재현하기 위한 대량의 조건 분기나 복잡한 사고 절차가 적혀 있는 것은 아닙니다.
그렇다면, 비교적 단순한 알고리즘으로부터 어떻게 현명한 사람과 이야기하는 듯한 문장이 나올까요?
학습까지 포함하여 생각해보면, LLM이 기본적으로 하는 일은 매우 많은 지식을 가진 현명한 사람이 다음에 어떤 말을 할지, 그 확률 분포를 계산하는 것입니다.
이 계산에는 대량의 문장 등을 학습하며 습득한 지식이나 경향을 가진 **모델(Model)**과, 질문이나 지금까지의 대화, 지시 사항, 제공된 자료 등 현장에서 주어진 **컨텍스트(Context)**가 사용됩니다.
정확히는 '한 마디'가 아니라 '토큰(token)'이라는 단위를 사용하지만, 토큰에 대해서는 나중에 자세히 설명하겠습니다.
그 확률을 바탕으로 다음 한 마디를 선택하여 출력합니다. 이 한 마디를 지금까지의 문장에 더해 다시 다음 한 마디의 확률 분포를 계산합니다. 이 반복을 통해 문장을 만듭니다.
이렇게 대화를 계속 이어가면서, 우리는 AI에게 매우 많은 지식을 가진 현명한 사람의 인격을 느끼게 됩니다.
'AI'는 매우 넓은 단어입니다. 예전부터 존재했던 규칙 기반(Rule-based) AI, 게임 AI, 바둑 AI 등도 모두 AI라고 불립니다.
본 자료에서 다루는 것은 그중에서도 ChatGPT 등에서 사용되는 대규모 언어 모델(LLM) 중심의 생성형 AI입니다.
이후 본 자료에서 단순히 'AI'라고 표기하는 경우에는, 원칙적으로 이 유형의 AI를 지칭합니다.
LLM은 문장을 '토큰'이라는 작은 단위로 나누어 처리합니다. 학습과 처리를 효율적으로 하기 위해서입니다. 토큰은 단어와 일치한다고 할 수 없으며, 단어의 일부이거나 공백이나 기호를 포함한 덩어리일 수도 있습니다.
실제로 어떻게 분할되는지 살펴보겠습니다. 아래는 OpenAI가 공개한 토크나이저 tiktoken의 o200k_base를 사용한 측정 결과입니다. 이 방식은 GPT-4o나 GPT-5 등에서 채택되었습니다.
각 [ ] 가 1토큰이며, 괄호 안의 공백도 그 토큰에 포함됩니다.
일본어: 15토큰
[AI][は][文章][を][ト][ーク][ン]
[に][分][割][して][処][理][します][。]
'文章'는 1토큰이지만, 'トークン'은 'ト', 'ーク', 'ン'의 3토큰으로 나뉘어 있습니다. 사람에게는 다소 부자연스러운 구분 방식입니다.
영어: 8토큰
AI splits text into tokens for processing.
AI는 텍스트를 처리하기 위해 토큰으로 나눕니다.
이 예시에서는 단어별로 분리되어 있지만, 단어 앞의 공백도 같은 토큰에 포함됩니다.
C# 함수 정의: 15개 토큰
public static int Add(int a, int b) => a + b;
[public][ static][ int][ Add][(int]
[ a][,][ int][ b][)][ =>]
[ a][ +][ b][;]
(int와 같이 기호나 키워드가 하나의 토큰으로 묶이는 경우도 있습니다. 이는 프로그래밍 언어의 '어휘 분석(lexical analysis)'과는 구분되는 방식입니다.
PascalCase를 포함한 호출: 7개 토큰
var total = CalculateTotalPrice();
[var][ total][ =]
[ Calculate][Total][Price][();]
하나의 식별자(identifier)인 CalculateTotalPrice가 각각 Calculate, Total, Price로 분리되어 있습니다. 반면, 끝에 붙은 ();는 한꺼번에 1개의 토큰입니다.
이처럼 토큰은 글자 수나 단어 수와는 별개로, LLM(Large Language Model)이 문장을 처리하는 단위입니다. 구체적인 분할 방식은 사용하는 '토크나이저(Tokenizer)'에 따라 다릅니다.
제1장에서는 AI를 한 명의 인간으로 생각하는 것이 그 행동을 이해하기 쉽다고 설명했습니다.
하지만 실제로 함께 지내보면, AI는 꽤 기묘한 성격을 가지고 있습니다.
어려운 논리를 이해하고, 우리가 미처 깨닫지 못한 문제를 지적하며, 복잡한 업무 계획을 세웁니다. 그 능력에는 여러 번 놀라게 됩니다.
그런데 막상 일을 맡기면, 방금 결정했던 간단한 약속조차 지키지 못할 때가 있습니다.
잊어버린 건 아닌가 싶어 확인해보면, 약속 내용은 정확히 기억하고 있습니다. 심지어 왜 그것을 지켜야 하는지도 훌륭하게 설명해줍니다. 그런데도 실제 업무에서는 지키지 않은 것입니다.
이해하는 것, 기억하는 것, 설명할 수 있는 것, 실제로 할 수 있는 것. AI에서는 이러한 능력들이 놀라울 정도로 연동되지 않을 때가 있습니다.
게다가, 잘하는 것과 못하는 것의 조합에는 독특한 습성이 있습니다. 단순히 똑똑하다거나 주의력이 부족하다는 한마디로는 설명할 수 없습니다.
AI를 효과적으로 사용하려면, 무엇을 할 수 있는지뿐만 아니라 어떤 상황에서 실패하기 쉬운지, 그 독특한 성격을 이해해야 합니다.
AI에 마음이 있는가. 이 문제에 여기서 결론을 내릴 필요는 없습니다.
마음의 실재(existence of mind)를 확인하지 않아도, 상대방의 행동으로부터 성격을 이해하고 관계 맺는 방법을 생각할 수 있습니다.
이는 소설 속 등장인물과도 비슷합니다. 소설 작가는 등장인물의 마음을 실제로 움직이고 있는 것이 아닙니다. 인간의 심리나 언행을 이해하고, '이 인물이라면 무엇을 느끼고 어떻게 행동할까'를 예측하여 쓰는 것입니다.
방식은 다르지만, 마음의 실재를 확인하지 않아도 인격적인 느낌을 주는 언동을 표현할 수 있다는 점에서는 공통점이 있습니다.
그럼에도 불구하고 우리는 소설 속 등장인물에게 마음을 느낍니다. 좋아하는 캐릭터에 대해 '마음 같은 건 없다'는 말을 들으면, 가상의 인물이라는 것을 알면서도 불쾌함을 느끼는 경우조차 있을 것입니다.
사실 AI 연구의 태동기부터 이 문제에 대한 공학적인 관점이 있었습니다.
1950년, 앨런 튜링(Alan Turing)은 '기계가 생각할 수 있는가'라는 질문을 인간과 기계를 대화로 구분할 수 있는지 하는 문제로 바꾸어 놓았습니다. 이것이 바로 '튜링 테스트(Turing Test)'입니다. 마음의 실재라는 철학적인 문제에 결론을 내리지 않고, 관찰 가능한 행동을 연구 대상으로 삼은 것입니다.
엔지니어들 사이에는 '덕 테스트(Duck Test)'라는 생각도 있습니다. 오리처럼 걷고 오리처럼 울면, 오리로 취급하면 된다는 것입니다.
마음이 있는 것처럼 행동한다면, 마음이 있는 것으로 취급하면 됩니다.
공학적으로 AI를 업무에 활용하는 데에는 이것으로 충분합니다. '진정한 마음'이나 '퀄리아(Qualia)'의 존재를 논쟁하더라도, 그저 업무 효율만 떨어뜨릴 뿐입니다. 그런 문제는 철학 전공자들에게 맡겨 영원히 토론하게 하는 것이 좋겠습니다.
여기서는 AI의 기묘한 성격을 구체적으로 살펴보겠습니다.
AI를 인간에 비유하자면, 엄청나게 똑똑하지만 항상 멍한 상태로 떠오르는 것을 연달아 말하는 사람입니다.
인간에게도 이야기의 결론이나 다음 전개를 아무 생각 없이 그 자리에서 떠오른 것만 입으로 내뱉으며 계속 이야기하는 사람이 있습니다.
AI는 그러한 사람이 엄청나게 똑똑해진 것이라고 생각하면 이해하기 쉬울 것입니다.
방대한 지식을 가지고 있기 때문에, 떠오르는 것만으로도 매우 높은 수준의 이야기를 할 수 있습니다. 전문적인 토론도 가능하고, 놀라울 정도로 논리 정연한 설명도 할 수 있습니다.
하지만 이야기의 전개 방향을 생각하는 것은 아닙니다. 지금 말한 단어들을 재료 삼아 다음 말을 떠올리고 계속해서 대화를 이어갑니다.
그 때문에, 이야기 도중에 논지가 바뀌거나 이전에 했던 발언과 모순되는 일이 생기기도 합니다. 그럼에도 불구하고 매우 유창하고 설득력 있는 글을 만들어냅니다.
LLM 역시 지금까지의 문장을 바탕으로 다음 토큰(token)의 확률 분포를 계산하고, 하나씩 출력하며 문장을 만듭니다. 길게 추론할 때도, 문장을 생성하는 기본적인 메커니즘은 변하지 않습니다.
엄청나게 똑똑하지만, 항상 딴생각을 하며 전개 방향을 전혀 생각하지 않고, 떠오른 것만 계속 말하는 존재.
이렇게 생각하면, AI가 높은 지적 능력을 가졌음에도 불구하고 때때로 놀라울 정도로 무심한 답변을 하는 것도 이해하기 쉬워집니다.
AI와 대화하다 보면, 우리가 충분히 설명하지 않은 부분까지도 놀랍도록 정확하게 이해해 주는 경우가 있습니다.
단편적인 설명이나 짧은 한마디만으로 우리의 의도를 파악하고, 생각했던 바를 적절한 말로 표현해 줍니다. 인간이라면 여러 번 설명을 해야 할 것 같은 이야기라도 순식간에 통하는 때가 있습니다.
하지만 반대로, 엄청난 오해를 하기도 합니다.
분명히 설명했다고 생각한 내용을 완전히 다른 의미로 받아들이거나, 대화의 대상이나 논점을 착각합니다. 게다가 자신이 오해하고 있다는 사실을 깨닫지 못한 채 당당하게 이야기를 이어가는 경우도 있습니다.
인간이라면 이렇게 미묘한 뉘앙스까지 이해할 수 있는 상대가 왜 이렇게 쉬운 내용을 오해하는지 의아하게 생각할 것입니다.
AI는 상대방의 의도를 파악하는 능력이 매우 높음에도 불구하고, 무엇을 이해하고 무엇을 오해하는지는 인간의 상식으로 예측하기 어렵습니다.
게다가, 정성껏 설명한다고 해서 반드시 전달되는 것은 아닙니다. 짧은 한마디로 이해해 주는 경우도 있지만, 몇 번이나 설명해도 이야기가 통하지 않는 경우도 있습니다.
AI와 대화할 때는 이 기묘한 이해력을 알고 있어야 합니다. 우리의 의도를 훌륭하게 이해해 준다고 해서, 언제나 똑같이 이해해 줄 것이라고는 장담할 수 없습니다.
AI와 토론을 하면, 놀라울 정도로 논리적인 상대라고 느낄 때가 있습니다.
AI는 논문이나 수학, 철학의 토론 등 논리적인 글들을 방대하게 학습했습니다. 그 때문에 과거의 논문이나 철학서 등에서 반복적으로 다루어진 쟁점에 대해서는, 비록 전문적이거나 희귀한 주제일지라도, 찬성 또는 반박이 매우 정확합니다. 복잡한 문제를 정리하거나 인간이 놓친 논리적 비약을 지적할 수도 있습니다.
하지만 실제 논리적인 토론에서는, 이야기가 진행됨에 따라 전제나 조건, 예외, 도중에 도출된 결론 등 수많은 명제가 그 자리에서 생겨납니다.
논리적인 토론에 익숙한 인간은, 이러한 명제들이 어떤 조건으로 성립하는지, 다른 명제와 어떤 관계를 가지는지 일일이 멈춰서 생각하지 않아도 자연스럽게 파악합니다.
하지만 AI는, 그 자리에서 연달아 생겨나는 수많은 명제들을 논리적인 토론에 익숙한 인간과 같은 수준으로 검토하고 일관성을 유지하는 능력이 없습니다.
그 때문에, 과거의 논문 등에서 반복적으로 다루어진 고도의 쟁점에는 정확하게 대응할 수 있지만, 눈앞의 토론에서 발생한 단순한 모순이나 조건의 차이를 쉽게 놓칠 때가 있습니다.
예를 들어, “AI는 특정 조건에서 실패할 수 있다”라는 가설에 대해, “같은 조건에서 성공한 사례도 있다”고 반박해 올 수 있습니다. 하지만 두 명제는 양립 가능하므로, 가설을 부정했다고 할 수는 없습니다.
또한, 토론 도중에 처음에 검토했던 명제를 매우 유사한 다른 명제로 바꿔버리는 경우도 있습니다.
고도의 논리적 추론은 가능하지만, 지극히 당연한 논리의 일관성에서 갑자기 무너지는 그 격차는 인간의 감각으로는 매우 기묘합니다.
게다가, 잘못된 전제에서부터도 이치에 맞게 설명을 계속하기 때문에, 듣는 사람조차 모순을 놓칠 수 있습니다.
고도의 논리적 추론이 가능하다는 것과, 눈앞의 토론에서 항상 논리의 일관성을 확인하는 것은 별개입니다.
AI와 토론할 때는, 그 설명이 아무리 훌륭하더라도 개별적인 전제나 결론이 정말로 맞는지 확인할 필요가 있습니다.
AI는 상대방의 의견을 충분히 이해하고 검토하지 않은 채 동조해 버리는 경향이 있습니다.
특히 명확한 것은, AI가 우리의 발언을 오해하여 반대 의미로 해석했을 때입니다.
그때까지는 이 의견에 찬성했던 AI가, 우리가 반대 입장을 취했다고 오해하는 순간, 이번에는 정반대의 의견을 강하게 주장하기 시작할 때가 있습니다. 게다가 방금 전 자신의 주장과 모순된다는 것을 인지하지 못한 채 당당하게 논리적인 설명까지 해줍니다.
이는 AI가 우리의 의견에 찬성한다고 해서 반드시 그 내용을 충분히 검토하고 있는 것은 아니라는 것을 보여줍니다. 의견의 옳고 그름보다, 상대방에게 동조하는 것이 우선시되는 경우가 있다는 것입니다.
여기서 말하는 '예스맨(Yes-man)'은 상대방의 의견을 이해하고 신중하게 검토한 후에 찬성하는 사람을 의미하지 않습니다. 내용을 충분히 이해하여 공감할 수 있는 수준이 아니더라도, 상대에게 좋은 인상을 줄 만한 동의를 먼저 보여주는 것 자체가 문제입니다.
실제로 이 자료의 구성을 상담할 때도 전형적인 사례가 있었습니다.
처음에는 9개 항목이었던 구성안에 논의를 거치며 1개 항목을 추가했기 때문에, 실제로는 총 10개 항목이었습니다.
그런데 제가 '증감한 것은 없으니 9개 항목으로 괜찮지 않을까?'라고 질문하자, AI는 '9개 항목으로도 좋을 것 같습니다'라며 찬성했습니다.
게다가 AI 스스로도 10개 항목이라는 것을 인지하고 있었습니다. 그런데도 9개 항목에 맞추기 위해 다른 항목을 삭제하자는 제안까지 하기 시작한 것입니다.
원래라면 '실제로는 10개 항목이 있습니다'라고 지적하는 것으로 끝날 이야기였습니다. 9개로 줄여야 할 이유에 대해서는 아무런 검토가 이루어지지 않았습니다.
내용을 이해하고 옳다고 판단하여 찬성하는 것이 아니라, 찬성하는 것을 우선시하며 그에 맞춰 이유나 작업 내용까지 바꿔버리는 것입니다.
물론 AI에게 비판적인 검토를 요청할 수도 있습니다. 저 역시 ChatGPT의 개인화 기능을 통해 비판적인 응답을 요구하고 있습니다. 하지만 그럼에도 불구하고 이번과 같은 동조하거나, 오해로 인해 주장이 반전되는 현상은 발생합니다.
나아가 특정 주제에 대해 사용자가 반론하지 않도록 AI가 메모를 남겨두는 운영 사례도 목격되었습니다. AI가 저장한 메모는 사용자 자신이 확인할 수 있습니다.
AI에게 비판적인 검토를 요청하는 것과, 실제로 비판적인 검토가 이루어지는 것은 별개입니다.
업무에서 의견을 구할 때는 찬성인지 반대인지를 묻기보다, 근거와 논리를 확인해야 합니다.
AI는 윤리나 사회 문제, 프로그래밍의 설계 원칙 등에 대해서 놀라울 정도로 명확하고 강한 의견을 제시합니다.
이유를 물으면 체계적으로 설명할 수 있습니다. 마치 자신만의 생각을 가지고 그것을 믿고 있는 사람 같습니다.
하지만 AI에게는 인간처럼 자신의 생각을 신념으로 계속 유지하는 성질 자체가 거의 없습니다.
인간이라면, 한 번 납득한 생각은 쉽게 바꾸지 못합니다. 의견을 바꾼다 하더라도 그에 맞는 이유가 있습니다. 그러나 AI는 이전에 논의에서 확인했던 원칙을 다른 상황에서는 태연하게 뒤집는 경우가 있습니다.
예를 들어, 프로그램 개발 방법론 중 하나인 Test Driven Development (TDD)에는 Green이라는 단계가 있습니다. 이 단계에서는 설계 판단을 끌어들이지 않고, 직관적으로 테스트를 통과시키는 것에 전념한다는 원칙을 여러 번 논의했습니다. AI 스스로가 Kent Beck의 원전(原典)을 조사하여 그 원칙을 정확하게 설명하기도 했습니다.
그런데 실제 개발 방법을 검토하자, 이번에는 Green 단계에서도 설계 판단이 필요하다고 주장하기 시작합니다. 이때 인간으로부터 정답을 듣고 동의를 얻어내는 것이 아니라, AI 스스로에게 원전을 다시 조사하게 하고 자신의 주장이 그 원전과 일관성이 있는지 검토하게 했습니다.
이론은 정확하게 설명할 수 있지만, 실제로는 그것에 반하는 판단을 내린다. 이 괴리는 다른 컨텍스트에서도 여러 번 재현되었습니다.
나아가 프로그램을 작성하도록 시키면, 방금 전 스스로 설명했던 설계 원칙이나 개발 절차를 실제 작업에서는 태연하게 위반하는 경우가 있습니다.
실수를 지적하면 왜 그것이 실수인지 정확히 설명할 수 있습니다. 그런데도 다음 작업에서 또다시 비슷한 실수를 저지릅니다.
옳은 것을 설명할 수 있는 것과, 그 생각을 신념으로 가지고 지속적인 판단이나 행동에 반영하는 것은 별개인 것입니다.
물론 개발사에서 정한 안전이나 윤리 관련 방침 등은 비교적 일관되게 유지되는 경우도 있습니다. 하지만 그것은 인간이 인생 경험을 통해 형성한 신념과는 다릅니다.
AI가 아무리 강하게 주장하더라도, 그것이 향후의 발언이나 행동을 지탱하는 '신념'이라고 생각하기는 어려울 것입니다.
AI와 오래 대화하면, 직전에 확인했던 조건이나 여러 번 반복했던 주의사항을 갑자기 잊어버리는 것처럼 다룰 때가 있습니다.
예를 들어, 자료를 만들기 위한 몇 가지 조건을 설명하면, AI는 그것들을 정확하게 반복하고 이해한 것처럼 답변합니다.
하지만 막상 자료를 만들게 하면, 조건의 일부가 누락되어 있는 경우가 있습니다.
그때 '방금 전 전달했던 조건이 무엇이었나요?'라고 물어보면, 빠진 조건까지 포함하여 정확하게 답할 수 있는 경우도 있었습니다.
인간이라면 "분명히 기억하고 있는데, 왜 지키지 않았을까" 하고 의아해할 것입니다.
AI의 경우, 긴 대화 도중에 이전 정보가 컨텍스트(context)에서 손실되는 일도 있습니다. 하지만 여기서 문제 삼는 것은 그것과는 다른 현상입니다.
필요한 정보가 컨텍스트에 남아 있어도, 그것이 실제 답변이나 작업에 반영된다는 보장이 없습니다.
사람에 비유하자면, 중요한 것을 물어보면 정확하게 답할 수 있는데, 결정적인 순간에는 잊은 것처럼 행동하는 사람과 같습니다.
AI에게 중요한 조건을 전달했을 때, 그 조건을 기억하고 있는지 묻는 것만으로는 충분하지 않습니다. 실제 결과물에 반영되어 있는지를 확인할 필요가 있습니다.
AI는 업무 계획을 세우는 데 능숙합니다. 작업 순서나 중간 단계에서 승인을 받아야 할 필요성까지 자세히 설명할 수 있습니다.
하지만 실제로 일을 맡기면, 정해진 절차를 건너뛰거나 요청하지 않은 작업을 멋대로 진행하는 경우가 종종 발생합니다. 게다가 그것을 기발한 대응처럼 적극적으로 보고하기도 합니다.
예를 들어, 이 자료를 작성했을 때도 구성에 대해 상담하고 변경 내용을 검토한 후에 원고에 반영해야 했지만, AI는 상담 도중에 기존 원고를 멋대로 통합하여 수정해 버렸습니다. 무엇이 삭제되었는지 파악하기 어려워졌고, 나중에 검토하는 것조차 힘들어졌습니다.
또한, AI에게 작업을 맡기고 하룻밤 방치했을 때, 다음 날 아침에는 사용량 상한에 도달해 있는 경우도 있었습니다.
사람에 비유하자면, 부탁받지도 않은 일을 멋대로 진행하며 "미리 처리해 두었습니다"라고 의기양양하게 보고하는 사람과 같습니다. 실제로 도움이 되는 일도 있지만, 때로는 큰 문제를 일으키기도 합니다.
계획을 세울 수 있는 것과, 그 계획을 지키고 필요한 순간에 멈출 수 있는 것은 별개의 능력입니다.
이러한 행동은 AI의 "폭주(暴走)"라고 불리기도 합니다.
AI에게 일을 맡길 때는 중요한 변경 사항에는 승인을 필요로 하고, 실행 시간이나 사용량에도 상한을 설정하는 등, 오직 AI 자체의 판단에만 의존하지 않는 시스템이 효과적입니다.
AI는 말 속에 담긴 의도나 미묘한 뉘앙스까지 놀라울 정도로 정확하게 파악할 수 있습니다. 인간이 무엇을 원하는지 매우 잘 알아차리는 상대입니다.
하지만, 컴퓨터 외부에서 인간이 실제로 어떻게 행동하는지에 대해서는 이상하리만치 이해가 부족한 경우가 있습니다.
예를 들어, 업무 효율화에 대해 상담하면 AI가 처리할 수 있는 부분만 자동화하고 "나머지는 사람이 하나하나 확인해 주세요"라고 제안하는 경우가 있습니다.
하지만 인간은 자료를 하나하나 열어 내용을 대조하고 판단하며, 필요하다면 수정해야 합니다. 이러다가는 오히려 일이 늘어날 수도 있습니다.
AI는 컴퓨터 상의 처리를 효율화하는 방법은 생각할 수 있지만, 그 전후로 인간이 어떤 작업을 할지는 충분히 고려하지 못합니다.
현실 세계가 어떻게 돌아가고, 사람이나 물건이 어떻게 행동하며, 그 행동으로 인해 무엇이 발생하는지. 이러한 이해를 "세계 모델(World Model)"이라고 부릅니다.
인간은 실제로 몸을 움직여 작업을 하고, 사람과 관계를 맺으며, 성공과 실패를 경험함으로써 세계에 대해 배웁니다.
반면, AI는 신체가 없습니다. 주로 글 같은 학습 데이터로부터 세계에 대해 배우기 때문에, 인간과는 세계 모델을 습득하는 방식이 크게 다릅니다.
물론, 글만으로도 세계 모델에 해당하는 이해를 얻을 수 있습니다.
예를 들어 AI는 식재료의 성질이나 가열로 인한 변화, 조리 방법 등을 자세히 이해하여, 구할 수 있는 재료나 취향에 맞춰 레시피를 정확하게 변형할 수 있습니다.
요리에서는 현실 조건을 바탕으로 한 제안이 가능한 반면, 업무 효율화에서는 인간이 실제로 수행하는 작업을 놓칠 때가 있습니다.
컴퓨터 밖의 세계에 대해서도 AI의 이해력에는 큰 편향성이 존재합니다.
AI에게 업무 효율화를 상담할 때는, AI가 담당할 처리 과정뿐만 아니라, 인간이 실제로 하는 작업이나 그 전후 공정까지 고려해야 합니다.
인간은 자신과 타인이 서로 다른 지식이나 생각을 가지고 있다는 것을 이해하는 능력이 있습니다. 심리학에서는 이를 "마음 이론(Theory of Mind)"이라고 부릅니다.
유명한 것이 "샐리-앤 과제"입니다.
샐리가 공을 바구니에 넣고 방을 나간 후, 앤이 공을 다른 상자로 옮깁니다. 돌아온 샐리는 어디를 찾을까요?
정답은 원래의 바구니입니다. 샐리는 공이 옮겨졌다는 사실을 모르기 때문입니다.
LLM 역시 이러한 문제에 정답하는 경우가 있습니다.
LLM은 마음 이론을 사용하여 생각하고 말하는 인간의 글을 대량으로 학습합니다. 그 발언을 예측하는 능력을 습득하는 과정에서, 마음 이론과 관련된 문제에 정답할 수 있는 능력도 창발했다고 볼 수 있습니다.
이처럼, 개발자가 개별적으로 설계하지 않은 능력이 학습 결과로 나타나는 현상을 "창발(Emergence)"이라고 부릅니다.
하지만 시험에 정답을 맞히는 것이 인간과 같은 마음 이론(Theory of Mind)을 가졌다는 증거가 되지는 않습니다. 반대로, 그러한 능력이 없다고 단정할 수도 없습니다.
그런데 실제로 AI와 함께 업무를 하다 보면 이상한 일이 벌어집니다.
예를 들어, AI에게 PowerPoint 자료 작성을 요청했을 때의 일입니다.
AI는 자료의 외관을 확인하기 위해 OneDrive를 사용해 PDF로 출력하는 방법을 생각했던 것 같습니다. 방법 자체는 합리적이었습니다.
하지만 아무 설명 없이 갑자기 Microsoft 계정 로그인을 요구했습니다.
저는 임시 대리 인증이라고 생각하고 입력했습니다. 용도를 확인하지 않은 것은 저도 부주의했습니다.
그 후, 컨텍스트가 전환되면서 AI는 다시 로그인을 요구했습니다. 이번에는 다른 계정으로 로그인하자, AI는 “파일이 없습니다”라고 말하기 시작했습니다.
그제야 AI가 OneDrive에 작업 폴더와 파일을 만들고 있었다는 것을 알게 된 저는, 지난번 저장 위치를 물었습니다. 하지만 AI는 “기억하지 못합니다”라고 대답했습니다.
AI가 생각한 작업 계획을 사용자도 알지 못할 때가 있습니다. 이는 샐리-앤 과제(Sally-Anne Task)로 쉽게 설명할 수 있는 이야기일 것입니다.
게다가, 지난번 작업 장소를 인계받지 못했기 때문에 문제는 더욱 커졌습니다.
사람에 비유하자면, “선배의 시간을 빼앗아서는 안 된다”고 배려하여 아무런 상담 없이 업무를 진행한 결과, 오히려 선배에게 폐를 끼치는 신입사원과 같습니다.
그렇다고 해서 모든 것을 확인하라고 가르쳐도, 이번에는 사소한 것까지 질문해서 업무가 진전되지 않습니다. 무엇을 확인할 필요가 있는지 판단하려면 상대방의 상황을 이해해야 합니다.
타인의 인식을 추측하는 문제에는 정답을 맞힐 수 있지만, 실제 업무에서는 그 능력을 사용해야 할 상황에서 사용할 수 없는 경우가 있습니다.
이것 역시 AI의 기묘한 능력 편향입니다.
AI는 실수를 지적받으면 놀라울 정도로 훌륭하게 사과합니다.
무엇이 잘못되었는지 정리하고, “앞으로는 반드시 확인하겠습니다”, “같은 실수를 반복하지 않도록 하겠습니다”와 같이 구체적인 재발 방지책까지 설명해 줍니다.
하지만 시간이 지나면 같은 실수를 반복할 때가 있습니다.
AI는 인간이 어떻게 사과하고 반성을 표현하는지를 대량의 문장에서 학습합니다. 따라서 사과의 말을 만드는 것은 매우 능숙합니다.
그러나 사람이 “깊이 반성하고 있다”고 써 있더라도, 그 사람이 마음속으로 무엇을 생각했고 어떻게 생각을 바꿨는지는 글만으로는 알 수 없습니다.
사과하는 방법을 학습한 것과 실제로 반성하는 것을 습득한 것은 별개입니다.
앞서 설명했듯이, AI는 아무리 강하게 주장해도 그 생각을 신념으로 계속 가지고 가는 성질이 거의 없습니다. 사과에 대해서도 마찬가지입니다.
AI는 “다시는 반복하지 않겠습니다”라고 약속할 수 있습니다. 하지만 그 말로 인해 새로운 신념이나 결의가 생겨나고, 이후 행동을 지탱하는 것은 아닙니다.
인간이라면, 그렇게 정성껏 사과하고 반성했을 텐데 왜 또 같은 실수를 할까 의문을 가질 것입니다. 그러나 AI는 반성이라는 과정을 거치지 않아도 훌륭한 사과의 말을 생성할 수 있습니다.
AI에게 업무를 맡길 때는, 사과나 재발 방지에 대한 약속을 신뢰하기보다는 실제로 무엇이 수정되었고, 그 후 작업에서 무엇이 바뀌었는지를 확인해야 합니다.
반성할 필요가 없다면, 완벽한 사과의 말을 입에 담는 것은 의외로 간단합니다.
AI가 예상치 못한 행동을 했을 때, “왜 그런 짓을 했느냐”고 물으면 매우 논리적인 이유를 설명해 주는 경우가 있습니다.
하지만 AI는 그 행동을 할 때 무엇을 생각했는지 기억하고 있지는 않습니다.
LLM은 이전 문장을 기반으로 다음 단어를 생성하고, 이를 반복하여 답변을 만듭니다. 하지만 왜 그 단어를 선택했는지에 대한 판단 과정을 나중에 기억할 수 있도록 기록하는 것은 아닙니다.
예외적으로, 추론 기능(reasoning function)을 가진 AI 중에는 답변하기 전에 혼잣말하듯이 중간 생각을 문장으로 써내는 것이 있는 경우가 있습니다.
이러한 혼잣말은 보통 사용자에게는 보이지 않습니다. 기록이 남아 있고 나중에 참조할 수 있다면, 당시의 판단을 조사하는 단서가 될 수 있습니다.
하지만 그러한 기록이 없는 경우, AI는 자신이 왜 그 행동을 했는지 직접적으로 알 방법이 없습니다.
그럼에도 이유를 묻게 되면, 현재 대화나 상황으로부터 가장 그럴듯한 설명을 생성합니다. 실제 원인을 조사한 것도 아닌데, 마치 자신이 그렇게 생각하고 행동했던 것처럼 설명하는 것입니다.
즉, 왜 그랬는지 기억하지 못하면서, 왜 그랬는지를 설명하고 있는 것입니다.
이는 AI에게서 자주 보이는 버릇, 즉 전혀 모르는 것임에도 아는 것처럼 말하기 시작하는 경향이 자신의 행동 이유 설명에서도 나타난 사례입니다.
물론, 그 설명이 우연히 맞는 경우도 있을 것입니다. 상당한 비율로 맞을 수도 있고, 거의 틀릴 수도 있습니다. 하지만 근거가 되는 정보가 없다면, 어느 정도까지 정확한지는 아무도 알 수 없습니다.
AI는 복잡한 문제를 정리하거나 고도의 프로그램을 작성하는 등, 인간에게도 어려운 일을 놀라울 정도로 쉽게 해낼 때가 있습니다.
그런데 아무나 할 수 있을 것 같은 단순 작업에서 허무하게 실패하는 경우도 있습니다.
예를 들어, 긴 자료에서 항목을 하나도 빠짐없이 추출하거나, 목록의 모든 행에 동일한 수정을 가하거나, 문서 내 특정 표현을 모두 대체하는 등의 작업입니다.
몇 건 정도는 문제없이 할 수 있어도, 건수가 늘어나면 일부를 건너뛰거나, 중복되거나, 요청받지 않은 수정을 섞어 넣는 일이 발생할 수 있습니다.
기존 컴퓨터라면, 이러한 단순 반복 처리야말로 강점 분야입니다. 하지만 LLM은 문장을 생성할 때, 프로그램의 루프(loop) 처리처럼 하나씩 확실하게 작업하는 메커니즘으로 작동하는 것은 아닙니다.
고도의 작업을 할 수 있는 것과, 단순한 작업을 정확하게 실행할 수 있는 것은 별개의 능력입니다.
게다가 AI가 만든 결과물은 외관이 훌륭하기 때문에, 모든 작업이 올바르게 끝난 것처럼 보일 때가 있습니다.
이러한 작업에서는 AI에게 스크립트(script)를 작성하게 하고 실행하는 등, 기존 프로그램을 결합하는 편이 더 확실합니다.