🖥️AI & GenAI Projects/AI Agent

Building AI Agents with LangGraph: 1.4: Reasoning: Using LLMs to Make Decisions

카멜필름 2025. 7. 24. 21:06

 

Lesson 1.4: 추론 - LLM을 이용해 결정하는 방법 (상세 분석)

이번 강의의 목표는 "AI 에이전트가 어떻게 '생각'하고 '결정'을 내리는가?" 를 이해하는 것입니다.

1. '추론'이란 무엇이고, 왜 중요한가? (Introduction to Reasoning)

  • 추론(Reasoning)이란?
    • 원래는 인간이 결정을 내리고, 문제를 해결하며, 세상을 이해하는 근본적인 인지 과정을 의미합니다. "A는 B이고, B는 C이다. 따라서 A는 C이다" 와 같이 논리적으로 생각하는 모든 과정이 추론입니다.
  • AI 에이전트에게 추론이 왜 중요한가?
    • 에이전트가 단순히 정해진 명령만 따르는 로봇이 아니라 복잡하고 예측 불가능한 환경과 상호작용하기 위해 반드시 필요합니다.
    • 에이전트가 자율적으로 판단하고 행동하려면 추론 능력이 필수적입니다.
    • 구체적으로 추론을 통해 하는 일:
      • ① 과업 분해 (Breaking down tasks): '여름휴가 계획 세우기'라는 큰 임무를 '비행기 예약', '숙소 찾기', '여행 코스 짜기'와 같이 작은 단위로 쪼갭니다.
      • ② 계획 조정 (Adjusting plans): 계획을 실행하다가 '예약하려던 비행기가 매진됐다'는 새로운 정보를 받으면, "그럼 다른 항공사를 찾아보자" 와 같이 계획을 실시간으로 수정합니다.

2. LLM의 추론: 진짜 '생각'일까, '흉내'일까? (Pattern Recognition vs. True Reasoning)

여기서 아주 중요한 질문이 나옵니다. "LLM이 하는 추론이 인간의 추론과 같을까?" 강의에서는 그렇지 않다고 설명합니다.

  • LLM은 본질적으로 '패턴 인식기 (Pattern Recognizers)'
    • LLM은 수억, 수십억 개의 인터넷 텍스트 데이터를 학습하며 단어와 단어 사이의 통계적 패턴을 익힙니다. "사과"라는 단어 뒤에는 "맛있다", "빨갛다" 같은 단어가 올 확률이 높다는 것을 아는 식이죠.
    • 즉, 의미를 '이해'해서 답하는 게 아니라 방대한 데이터에서 본 패턴을 기반으로 가장 그럴듯한 다음 단어를 예측하고 생성하는 것입니다.
  • 추론을 흉내 내는 것 (Simulation of Reasoning)
    • LLM은 학습한 데이터에 수많은 논리적인 글들이 포함되어 있기 때문에 마치 논리적인 구조를 가진 것처럼 보이는 결과물을 만들어낼 수 있습니다. 추론하는 것처럼 보이지만, 사실은 추론하는 '척' 흉내를 내는 것에 가깝습니다.
  • LLM의 명백한 한계
    • ① 상식의 부재 (Lack of Common Sense Knowledge): LLM은 "코끼리를 냉장고에 넣으려면 어떻게 해야 할까?" 같은 질문에 "문을 열고 코끼리를 넣은 다음 문을 닫는다"처럼 그럴듯하지만 현실 세계의 물리적 상식에는 맞지 않는 답변을 할 수 있습니다. 실제 세상에 대한 경험이 없기 때문이죠.
    • ② 의도성 없음 (No Intentionality): LLM은 인간처럼 스스로 목표나 동기, 자의식을 가지고 있지 않습니다. 그냥 주어진 프롬프트에 따라 다음에 올 단어를 예측할 뿐, 무언가를 '이루고 싶다'는 의도 자체가 없습니다.

이해했는지 확인해볼까요?

  • 질문: LLM이 때때로 말이 안 되거나 엉뚱한 답변을 하는 근본적인 이유는 무엇일까요? '진짜 추론'과의 가장 큰 차이점 두 가지를 들어 설명해보세요.
  • 답변: LLM은 세상을 '이해'하는 것이 아니라 학습한 데이터의 '패턴'을 흉내 내기 때문입니다. '진짜 추론'과의 가장 큰 차이점은 (1) 실제 세상에 대한 '상식'이 부족하고, (2) 스스로 무언가를 하려는 '의도'가 없다는 점입니다.

3. LLM의 추론처럼 '보이는' 능력의 비밀 (Emergent Behaviors in LLMs)

  • 창발적 행동 (Emergent Behaviors): LLM의 모델 크기(파라미터 수)와 학습 데이터 양이 일정 수준을 넘어서면 따로 가르치지 않았는데도 갑자기 새로운 능력이 나타나는 현상을 '창발적 행동'이라고 합니다.
  • 추론과 닮은 능력들:
    • 간단한 논리 퍼즐 풀기
    • 여러 단계로 이루어진 지시사항 따르기
    • 여러 정보를 연결해서 모순점 찾아내기
  • 왜 이런 일이 일어날까?
    • 모델의 규모가 어마어마하게 커지면서, 단순한 패턴 인식을 넘어 매우 복잡하고 추상적인 패턴까지도 인식하고 재현할 수 있게 되기 때문입니다. 이 능력이 밖에서 보기에는 마치 추론 능력처럼 보이는 것입니다.

4. 에이전트의 추론 능력을 강화하는 방법 (Enhancing Agent Capabilities)

LLM의 추론이 '흉내'에 가깝다면, 개발자는 어떻게 이 능력을 최대한으로 끌어내서 똑똑한 에이전트를 만들 수 있을까요? 바로 '추론 과정을 설계' 해주는 것입니다.

  1. 추론 프레임워크 사용 (Use of Reasoning Frameworks)
    • ① ReAct 프레임워크: Reason(생각)과 Act(행동)를 결합한 방식입니다. 에이전트가 [생각 → 행동(도구 사용) → 관찰 → 다시 생각...] 의 순환 고리를 반복하며 문제를 해결하도록 설계하는 것입니다. 예를 들어 "서울 날씨 어때?" 라는 질문에, (생각) '날씨를 알려면 검색 도구가 필요해' → (행동) '검색 도구로 서울 날씨 검색' → (관찰) '검색 결과: 맑음, 25도' → (최종 답변) "서울 날씨는 맑고 25도입니다" 와 같이 작동하게 만드는 틀입니다.
    • ② 사고의 연쇄 (Chain-of-Thought, CoT) 프롬프팅: LLM에게 바로 답을 요구하지 않고, "단계별로 생각하면서 설명해봐" 라고 유도하여 문제 해결 과정을 스스로 정리하게 만드는 프롬프트 기술입니다. 복잡한 문제의 정답률을 크게 높일 수 있습니다.
  2. 사용할 도구 선택 (Choosing Tools to Use)
    • "345 * 892는 얼마야?" 라는 질문을 받았을 때, 에이전트가 "이건 복잡한 계산이네. 내가 직접 푸는 것보다 '계산기' 도구를 쓰는 게 정확하겠다" 라고 추론해서 적절한 도구를 선택하게 만드는 것입니다.
  3. 과업 분해 (Task Decomposition)
    • 위에서 설명했듯이 에이전트가 추론을 통해 거대한 문제를 관리 가능한 작은 문제들로 나누도록 설계하는 것입니다. 이것이 바로 '계획(Planning)'의 기초가 됩니다.

이해했는지 확인해볼까요?

  • 질문: AI 에이전트 개발자로서, LLM의 추론 능력을 극대화하기 위해 사용하는 'ReAct' 프레임워크는 어떤 방식으로 작동하나요?
  • 답변: ReAct는 에이전트가 '생각(Reason)'과 '행동(Act)'을 번갈아 하도록 만드는 작동 방식입니다. 먼저 무엇을 해야 할지 생각하고, 그 생각에 따라 필요한 도구를 사용해 행동한 뒤, 그 결과를 보고 다시 다음 할 일을 생각하는 순환 구조를 통해 복잡한 문제를 해결합니다.

정리

이번 강의를 통해 우리는 에이전트의 핵심 두뇌인 '추론'이 인간의 것과는 다르지만(패턴 인식), 그 규모 덕분에 추론과 유사한 능력을 보이며(창발적 행동), 개발자가 ReAct 같은 프레임워크를 통해 이 능력을 강화하고 제어할 수 있다는 것을 배웠습니다.

 

728x90
LIST