Intro

<aside> 🔥

AI Agent의 내부적인 작동 방식인 추론하고 계획하는 능력을 알아봅니다.

</aside>

Agent는 **내면의 대화(internal dialogue)**를 활용하여 정보를 분석하고, 복잡한 문제를 풀기 쉽게 세부적인 단계로 쪼개며, 그 이후에 어떤 행동(Action)을 취할 지 의사결정합니다. 또한, 모델이 행동(Action)하기 전에 “step by step”하도록 유도하는 프롬프트 기법인 Re-Act(Chain of Thought) 접근 방식도 소개합니다.

주의할 점은 허깅페이스에서는 ReAct라는 표현을 사용하긴 하지만, 일반적으로는 **CoT(Chain of Thought)**라고 표현합니다. 원활한 소통을 위해 Re-Act라는 표현 대신 CoT를 쓰도록 합니다! (프론트엔드 react 프레임워크랑 겹쳐서 검색도 어렵습니다..)

Body

1. Thought

생각(Thoughts)는 task(문제)를 풀기 위해 다음 단계를 포함합니다.

  1. Reasoning : Agent의 내부적인 추론 과정
  2. Planning : 문제를 어떻게 처리할지 계획하는 것

위처럼 사고하는 과정은 Prompt에 제공된 정보를 분석할때 사용하는 Agent의 LLM 능력을 활용하여 진행됩니다.

이를 사람처럼 표현해보면 Agent의 **내면의 대화(internal dialogue)**로 생각해볼 수 있습니다. 내면의 대화는 Agent가 현재 과제를 고려하고 그에 대한 전략을 세우는 과정입니다.

Agent의 생각(thought)은 현재 확인한 정보(Observation)를 바탕으로 다음에 취해야 할 행동(Action)을 결정하는 데 중요한 역할을 합니다.

이러한 과정을 통해 Agent는 복잡한 문제를 더 작고 풀기 쉬운 작은 단위로 쪼개며, 과거 경험을 반영(reflect)하며, 새로운 정보에 따라 지속적으로 계획을 조정할 수 있습니다.

다음은 일반적인 사고 유형(Thought type)과 그 예시입니다.

사고 유형 예시
계획(Planning) 이 작업을 세 단계로 나눠야 해! 1. 데이터 수집 2. 트렌드 분석 3. 보고서 생성
분석(Analysis) 오류 메세지를 보니 데이터베이스 연결 파라미터에 문제가 있는거 같아!
의사결정 (Decision Making) 사용자의 예산 제약을 고려할 때, 중간 가격대 옵션을 추천해야겠어!
문제 해결(Problem Solving) 이 코드를 최적화하려면 먼저 병목 지점을 파악하기 위해 프로파일링을 해야 해.
기억 종합(Memory Integration) 사용자가 전에 Python을 선호한다고 했으니, Python 예시를 제공해야겠다.
자기 성찰(Self-Reflection) 지난번 접근 방식은 잘 되지 않았으니, 다른 전략을 시도해야겠어.
목표 설정 (Goal Setting) 이 작업을 끝내기 위해 먼저 수용 기준을 정해야 해.
우선순위 결정 (Prioritization) 보안 취약점 문제를 새로운 기능 추가보다 먼저 해결해야 해.

만약, function calling(함수 호출)에 특화되어 fine-tuning된 LLM의 경우 이러한 생각 과정은 선택사항입니다.

2. Chain of Thought(Re-Act)

CoT(Chain of Thought) 방식은 생각(Reasoning)과 행동(Acting)을 결합(concatenation)한 방식입니다.

CoT는 LLM이 Next Token Prediction을 하기 직전에 “Let’s think step by step”이라고 하는 텍스트를 프롬프트에 추가하는 아주 간단한 프롬프트 기법입니다.

실제로, 실제로 LLM 모델에게 “step by step”라고 지시(prompting)하면, 최종 답변을 바로 생성하는 대신 **계획을 세우는 방향(generate a plan)**으로 Next Token Prediction을 유도할 수 있습니다. 이는 문제를 여러 하위 task(sub-tasks)로 나누도록 장려하기 때문입니다.

이러한 CoT 방식은 하위 task들을 보다 자세히 생각해볼 수 있게 해주며, 최종 답변을 곧바로 생성하려는 방식보다 일반적으로 오류가 적게 발생합니다. 단, 제 경험상 보면 task 자체가 Reasoning task와 연관된 경우에만 성능이 더 올랐습니다.

스크린샷 2025-03-24 오전 9.11.23.png

Conclusion

최근(2025년 3월 24일)에는 **추론 전략(Reasoning strategy)**에 대한 관심이 크게 증가하고 있습니다. 이는 Deepseek R1이나 OpenAI의 o1 같은 모델들이 등장한 배경이기도 합니다. 이 모델들은 “think before answering” 방식으로 fine-tuning 되었습니다.

이러한 모델들은 항상 특정한 thinking 섹션을 포함하도록 훈련되어 있습니다(<think></think> special token으로 감싸져 있습니다). 이는 단순한 CoT와 같은 프롬프트 기법이 아니라, 모델이 우리가 원하는 방식대로 사고 과정을 생성하도록 수천 개의 예시를 통해 학습한 일종의 훈련 방법입니다.


⬅️ 이전 페이지

1.6. Understanding AI Agents through the Thought-Action-Observation Cycle

➡️ 다음 페이지

1.8. Actions: Enabling the Agent to Engage with Its Environment

Reference

https://huggingface.co/learn/agents-course/en/unit1/thoughts

<aside>

Topics

1. Introduction to Agents

1.1. Introduction

1.2. What is Agent?

1.3. What are LLMs?

1.4. Messages and Special Tokens

1.5. What are Tools?

1.6. Understanding AI Agents through the Thought-Action-Observation Cycle

1.7. Thought, Internal Reasoning and the Re-Act Approach

1.8. Actions: Enabling the Agent to Engage with Its Environment

1.9. Observe: Integrating Feedback to Reflect and Adapt

</aside>