AI Sparkup

복잡한 AI 세상을 읽는 힘

Ollama의 새로운 Thinking 기능: AI 사고 과정을 투명하게 들여다보다

AI가 내린 결론이 정말 맞을까요? 복잡한 문제를 풀 때 AI는 어떤 과정을 거쳐 답에 도달했을까요? 이런 의문은 AI를 사용하는 모든 사람이 한 번쯤 가져봤을 것입니다. 바로 AI의 ‘블랙박스’ 문제라고 불리는 현상입니다.

Ollama Thinking 기능 일러스트 출처: Ollama 공식 블로그

최근 로컬 AI 플랫폼으로 유명한 Ollama가 이런 고민을 해결할 수 있는 혁신적인 기능을 출시했습니다. 바로 ‘Thinking’ 기능입니다. 이 기능을 통해 사용자는 AI 모델이 답변에 도달하기까지의 사고 과정을 실시간으로 확인할 수 있게 되었습니다.

AI 블랙박스 문제, 이제 해결할 수 있을까?

전통적으로 AI는 입력을 받으면 바로 결과를 출력하는 ‘블랙박스’ 형태로 작동했습니다. 사용자는 AI가 어떤 논리적 단계를 거쳐 결론에 도달했는지 알 수 없었죠. 특히 복잡한 수학 문제나 논리적 추론이 필요한 작업에서 AI의 답변이 정확한지 검증하기 어려웠습니다.

Ollama의 새로운 Thinking 기능은 이런 문제를 정면으로 해결합니다. 이 기능을 활성화하면 AI 모델이 최종 답변을 제시하기 전에 내부적으로 진행하는 사고 과정을 텍스트로 표시해줍니다. 마치 사람이 문제를 풀 때 “음, 먼저 이걸 계산하고… 그다음에 저걸 고려해야겠네”라고 중얼거리는 것과 비슷합니다.

어떤 모델이 Thinking을 지원할까?

현재 Ollama에서 Thinking 기능을 지원하는 주요 모델은 다음과 같습니다:

  • DeepSeek R1: 수학, 코딩, 추론 작업에서 OpenAI의 o1 모델과 비교될 만한 성능을 보여주는 추론 특화 모델
  • Qwen 3: 알리바바에서 개발한 다국어 지원 대화형 AI 모델

이 중에서도 특히 DeepSeek R1은 추론 능력에 특화된 모델로, Thinking 기능과의 조합에서 탁월한 성능을 보여줍니다. 앞으로 더 많은 모델들이 이 기능을 지원할 예정이며, Ollama는 thinking models 페이지에서 지원 모델 목록을 계속 업데이트하고 있습니다.

실제로 어떻게 사용할까?

1. CLI(명령줄 인터페이스)에서 사용하기

가장 간단한 방법은 Ollama CLI를 통한 사용입니다.

Thinking 기능 활성화:

ollama run deepseek-r1 --think "9.9와 9.11 중 어느 것이 더 클까?"

Thinking 기능 비활성화:

ollama run deepseek-r1 --think=false "9.9와 9.11 중 어느 것이 더 클까?"

대화형 세션에서는 다음 명령어로 설정을 변경할 수 있습니다:

  • /set think: Thinking 활성화
  • /set nothink: Thinking 비활성화

결과만 보고 싶다면 --hidethinking 옵션을 사용하세요:

ollama run deepseek-r1 --hidethinking "복잡한 수학 문제"

2. API를 통한 활용

개발자라면 Ollama의 API를 통해 더 정교하게 활용할 수 있습니다.

curl http://localhost:11434/api/chat -d '{
  "model": "deepseek-r1",
  "messages": [
    {
      "role": "user",
      "content": "strawberry라는 단어에 r이 몇 개 있나요?"
    }
  ],
  "think": true,
  "stream": false
}'

응답에는 thinking과 content 두 부분이 포함됩니다:

  • thinking: AI의 사고 과정
  • content: 최종 답변

3. 프로그래밍 언어별 활용법

Python 예제:

from ollama import chat

messages = [
  {
    'role': 'user',
    'content': '10 + 23은 얼마인가요?',
  },
]

response = chat('deepseek-r1', messages=messages, think=True)

print('사고 과정:\n========\n\n' + response.message.thinking)
print('\n답변:\n========\n\n' + response.message.content)

JavaScript 예제:

import ollama from 'ollama'

const response = await ollama.chat({
  model: 'deepseek-r1',
  messages: [
    {
      role: 'user',
      content: '10 + 23은 얼마인가요?',
    },
  ],
  stream: false,
  think: true,
})

console.log('사고 과정:\n========\n\n' + response.message.thinking)
console.log('\n답변:\n========\n\n' + response.message.content)

실전 활용 시나리오

교육 분야에서의 활용

수학이나 과학 문제를 풀 때 학생들이 AI의 사고 과정을 단계별로 확인할 수 있어 학습에 큰 도움이 됩니다. 답만 알려주는 것이 아니라 문제 해결 과정 자체를 학습할 수 있죠.

개발 및 디버깅

복잡한 코딩 문제나 알고리즘 설계 시 AI가 어떤 논리로 접근하는지 확인할 수 있어 개발자의 사고 과정을 넓혀줍니다.

게임 및 인터랙티브 애플리케이션

NPC(Non-Player Character)가 결정을 내리기 전에 ‘생각하는’ 모습을 보여주거나, 챗봇이 답변하기 전에 고민하는 과정을 시각화하는 등 더 자연스러운 사용자 경험을 만들 수 있습니다.

언제 사용하고 언제 사용하지 말아야 할까?

Thinking 기능을 활성화해야 할 때:

  • 복잡한 수학이나 논리 문제를 해결할 때
  • AI의 판단 근거를 확인하고 싶을 때
  • 교육 목적으로 사용할 때
  • 중요한 결정을 내려야 하는 상황일 때

Thinking 기능을 비활성화해야 할 때:

  • 빠른 답변이 필요할 때
  • 간단한 질문이나 일상적인 대화를 할 때
  • 시스템 리소스를 절약해야 할 때

로컬 AI의 새로운 가능성

Ollama의 Thinking 기능은 단순히 새로운 기능 하나가 추가된 것 이상의 의미를 가집니다. 이는 로컬에서 구동되는 AI 모델이 클라우드 기반 AI 서비스와 차별화될 수 있는 독특한 영역을 개척한 것입니다.

개인 컴퓨터에서 AI를 사용하면서도 그 사고 과정을 투명하게 확인할 수 있다는 것은 프라이버시와 투명성을 동시에 확보할 수 있음을 의미합니다. 특히 민감한 정보를 다루거나 AI의 판단 과정을 상세히 검토해야 하는 업무 환경에서 매우 유용할 것입니다.

앞으로 더 많은 모델들이 이 기능을 지원하게 되면, 로컬 AI 생태계는 한층 더 풍부해질 것으로 예상됩니다. AI가 단순히 답을 제공하는 도구가 아니라, 함께 사고하고 문제를 해결해나가는 진정한 파트너가 될 수 있는 가능성을 보여주는 중요한 발전이라고 할 수 있습니다.


참고자료: Thinking · Ollama Blog

Comments