메인 콘텐츠로 건너뛰기
page thumbnail

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티

요약

모든 것에서 중요한 것은 기본기입니다. 기본을 잡으면 수 많은 현상에서도 흔들리지 않고 핵심을 집어나가고 승리할 수 있습니다.

오늘은 AI 기초를 재미있게 정리하여 전달해 드리겠습니다.

토큰

LLM 은 결국 특정 토큰이 들어갔을 때 논리적으로 가장 확률이 높은 다음 토큰을 출력하는 논리 계산기입니다.

그렇다면 토큰이 뭘까요? LLM 을 훈련할 때 글자 단위로 묶어서 훈련을 하면 비효율적입니다. 그래서 글자들을 특정 단위로 묶어서 처리하게 됩니다. 이게 토큰입니다.

Tiktokenizer 에 가면 글자를 어떻게 토큰으로 쪼개는지 볼 수 있습니다.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 1

안녕하세요. 는 안/녕하세요/. 이렇게 3개의 토큰으로 이루어져 있습니다.

기억하세요. LLM 의 원리는 심플합니다. 특정 토큰이 들어가면 다음 토큰이 나옵니다. 이게 끝입니다.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 2

Context window

컨텍스트 윈도우는 LLM 모델이 처리할 수 있는 최대 토큰의 수입니다. 보통 chatgpt 와 같은 서비스에서는 이전의 모든 채팅 내역을 같이 보내서 처리합니다. 그래서 chatgpt 가 이전 대화 내역을 기억할 수 있는 것이지요. 컨텍스트 윈도우는 일종의 모델의 메모리라고 보시면 됩니다.

https://platform.openai.com/docs/models/gpt-5.1

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 3

이렇게 모델들을 보면 40만 컨텍스트 윈도우라고 표시가 되죠? 이것이 바로 모델이 처리할 수 있는 최대의 토큰 양인 컨텍스트 윈도우입니다. 중요한 개념이니 꼭 기억해 주세요!

그렇다면 저 컨텍스트 윈도우를 넘어가게 되면 어떻게 될까요? 네 LLM 은 넘어간 이전 대화 내역을 기억하지 못하게 됩니다.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 4

멀티턴 (Multi turn)

여기에서 자연스럽게 등장하는 개념이 멀티턴입니다. 어렵지 않습니다. LLM 에게 한 번 질문하면 1턴입니다. 그리고 다음 턴에 다시 질문하는 것이 멀터턴입니다. 여기에서 중요한 것은 이전 대화 내역이 같이 제공되기 때문에 LLM 이 이전 대화 내역을 기억하고 있다는 것을 이해하고 쓰는 것입니다.

채팅 예시

Q : 미국 남북 전쟁에 대해서 알려줘.

A : 미국 남북 전쟁은~

Q : 그것의 가지는 역사적 의미는?

이 대화에서 AI 가 그것이 미국 남북 전쟁이라는 것을 이해하고 쓰는 것이 멀티턴의 핵심입니다. 이렇게 했을 때 대화 자체를 효과적으로 이끌어 갈 수 있습니다.

반면에 하나의 대화에서 관련되지 않은 대화를 동시에 다루면 어떻게 될까요? LLM이 그 때부터 헷갈리기 시작하고 성능이 떨어집니다. 그래서 주제가 바뀌면 새로운 대화를 시작하는 것이 필요합니다.

하나의 턴으로 끝내기 보다는 후속 질문을 하고 그 전체 대화 흐름을 여러분의 목표를 이루는데 도움이 되는 방향으로 사용하세요.

모든 것은 프롬프트에서 시작됩니다.

LLM은 말로 동작하는 컴퓨터입니다. 그렇기 때문에 프롬프트를 입력해야 작동을 합니다. 프롬프트는 모든 AI 활용의 시작점입니다. 그렇기 때문에 아무리 강조해도 지나치지 않습니다.

벡터 공간

우리가 프롬프트를 ChatGPT와 같은 LLM에 입력하면 어떤 일이 벌어질까요?

프롬프트가 입력되면 모델은 먼저 텍스트를 토큰화(Tokenization)하여 여러 조각으로 나눕니다.

  • 예: "ChatGPT is amazing!" → ["Chat", "GPT", "is", "amazing", "!"]

각 토큰은 고유한 임베딩 벡터로 변환되어 숫자로 표현됩니다. 이렇게 텍스트 데이터를 벡터(vector)로 변환하는 것을 임베딩(Embedding)이라고 합니다.

embedding : [
  -0.006929283495992422,
  -0.005336422007530928,
  ...
  -4.547132266452536e-05,
  -0.024047505110502243
]

이 벡터들은 다차원 벡터 공간에 매핑되어 모델이 문맥과 의미를 이해하는데 사용됩니다.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 5

위의 이미지는 위키피디아에 있는 책들을 2차원의 벡터 공간에 장르별로 표시한 예시입니다.

이미지에서는 이해를 위해 저차원의 공간에 표현을 했지만 LLM은 좀 더 복잡한 다차원 상의 공간에 표현을 합니다.

이렇게 벡터 공간에서 각 요소의 멀고 가까움을 통해 LLM은 일종의 단어의 관계를 이해하게 됩니다. 벡터의 값이 비슷하면 비슷한 공간에 위치하고 비슷한 의미라고 생각하는 것이지요. 예를 들어 "바나나"와 "과일"의 임베딩 벡터는 가깝게 위치합니다. 반대로 멀면 서로 다른 의미라고 생각하겠죠. 이를 통해 LLM 이 일종의 논리적 의미를 계산하는 것입니다.

키워드를 프롬프트에 포함하라.

프롬프트를 작성할 때 내가 원하는 원하는 결과를 얻기 위해 중요한 키워드를 포함하는 것이 매우 중요합니다. 입력된 프롬프트는 토큰으로 나뉘어져 벡터 공간으로 날아가서 연산됩니다. 그렇기 때문에 어떤 단어를 포함하는지가 모델의 이해와 응답에 직접적인 영향을 미칩니다.

예를 들어 프롬프트에 "경영" 이라는 단어를 넣으면 이 프롬프트는 경영 분야에 대해서 생각하는 프로그램이 됩니다. 반대로 "코딩"이라는 단어를 넣으면 이 프롬프트는 코딩이라는 분야에 대해서 생각하는 프로그램이 됩니다.

눈치채셨나요? 프롬프트는 자연어로 코딩하는 미니 프로그램과 같습니다. 따라서 우리가 해야할 일은 프롬프트 위에 여러분의 단어를 정교하게 올려 놓는 것입니다. 어떤 단어를 올려 놓냐구요? 여러분이 도달하려고 하는 결과와 관련된 단어들입니다. 아주 잘 쓴 한 편의 시를 원한다면 세익스피어, 아름다운, 운문이라는 단어를 올려놓으면 되겠죠? 만약 여러분이 원하는 것이 영화라면? 시네마틱, 감동적인, 최고의 영화 감독의 시선으로라는 단어를 사용하면 됩니다.

그렇기 때문에 AI를 사용하면서 우리가 무엇을 원하는 것인지를 생각하는 것이 아주 중요해집니다. 결국 AI는 우리가 원하는 결과를 더 빠르게 얻기 위한 가속화 도구이니깐요.

이것을 좀 더 풀어서 말하면 의도가 중요합니다. (intention) 현재는 프롬프트 또한 프롬프트로 자동으로 만들어 주는 현상이 많아지고 있습니다. 이것을 메타 프롬프트라고 합니다. 하지만 그 시작점이 되는 의도는 인간이 정해야 합니다. 왜냐하면 현재의 LLM 은 아무런 방향성이 없기 때문입니다. 그 방향성을 입력해야 작동합니다. 그것이 프롬프트입니다.

진짜 어려웠던 건 애초에 "어떤 질문을 던져야 하느냐?" 입니다. "답"을 찾는게 아니라요.

일론 머스크

프롬프트 템플릿

프롬프트는 무한합니다. 그렇기 때문에 정답이 없습니다. 하지만 이렇게 했더니 효과가 있다라고 하는 Best Practice 가 있습니다.

  • 역할

  • 지침 (instriction)

  • 세부사항 (specifics)

  • 문맥 (context)

  • CoT (Chain of Thought)

  • 출력 양식

  • 기타 사항

제가 하나씩 쉽게 설명 드리겠습니다.

역할 (선택)

역할은 마케팅 전문가, UX UI 전문가처럼 역할은 정해주는 것입니다. 이건 많이 들어보셨죠? 그런데 이게 중요한 이유가 따로 있습니다.

왜 맨 앞에 정해줄까요? 이 역할이라는 것이 방대한 공간 탐색을 앞 부분에서 확 줄여주기 때문입니다. 예를 들어 "너는 마케팅 전문가야"라고 정해줬을 때 마케팅을 주로 생각하는 LLM이 되겠죠?

역할은 하나의 페르소나 프로필이라고 생각하면 됩니다. 앞으로 우리는 수 많은 에이전트들을 만들게 될 겁니다. 그러면 그 에이전트들은 하나의 프로필을 가져야 하죠. 역할을 활용해서 우리는 마케팅, 디자인, 코딩, 글쓰기 등 다양한 멀티 에이전트를 사용하게 될 것입니다.

그리고 역할을 사용하는 두 번째 이유는 이것이 사용자의 UX 적인 측면에서 몰입감을 높여주기 때문입니다. 예를 들어 스티브 잡스처럼 멘토링하는 역할을 해달라고 했을 때 그의 생각과 가치관에 맞는 맞춤형 조언들을 받을 수 있겠죠? 이것이 사용자들이 AI 를 조금 더 재미있게 쓸 수 있도록 만들어 준답니다.

물론 중요한 건 AI는 사람이 아니라는 걸 꼭 인지하고 사용해야 한다는 것입니다. 인공지능 모델은 데이터에 의해 수 많은 파라미터가 조정된 모델입니다. 모델은 그냥 모델로 바라봐야 한다는 것이죠. 이게 왜 중요할까요? 잘못된 의사결정을 내릴 수 있기 때문입니다. 예를 들어 중요한 비즈니스 결정에 스티브 잡스가 이렇게 말했으니깐...이라고 생각해서 오판을 할 수 도 있습니다. 그래서 최종적인 결정은 나의 생각과 판단에 의해서 해야만 합니다. 기억하세요. AI 는 그저 확률적으로 가장 가능성이 높은 다음 토큰을 생성하는 기계일 뿐입니다.

자, 그러면 우리도 프롬프트를 하나 만들어 보면서 해보죠. 저는 마케팅 전문가 역할을 부여하겠습니다.

너는 최고의 마케팅 전문가야.

지시사항

그 다음에 필요한 것은 뭘까요? 바로 CPU 입니다. 프롬프트의 전체 방향성을 결정지을 지시사항을 넣어야 합니다. LLM은 아무 방향성이 없는 시동이 걸리지 않은 자동차 같습니다. 명령을 입력하기 전에는 절대 움직이지 않죠. 여기에 우리의 의도를 넣어줘야 합니다. 제가 원하는 것을 생각해 보겠습니다.

틸노트의 최고의 마케팅 플랜을 짜고 싶어.

어렵지 않죠? 이 지시 사항을 instruction 이라고 합니다. 이것이 프롬프트를 이끌어갈 운전대와 같은 역할을 합니다.

구체적인 사항을 추가하라.

자, 여기에서 끝나면 효과가 너무 약하죠. 이 다음은 무엇일까요? 여기에서 프롬프트의 불문율이 나옵니다. "구체적으로 질문하라" 그런데 이 문구는 너무 추상적이죠? 이걸 강력한 실전 기술로 바꿔봅시다. 바로 리스트로 구체적인 세부 사항을 추가하는 것입니다.

틸노트의 최고의 마케팅 플랜을 짜고 싶어.

여기에서 하나씩 생각하는 것입니다. 최고의 마케팅 플랜이란 뭘까? 일단 틸노트는 웹 서비스이기 때문에 디지털 마케팅이 좋을거야. 디지털 마케팅이라면 콘텐츠 마케팅이 포함됐으면 좋겠어. 콘텐츠 마케팅이면 역시 SNS가 필요하겠지?

지금 저의 생각과 과정이 보이시나요? 이걸 리스트로 더해가며 쉽게 추가하면 됩니다.

틸노트의 최고의 마케팅 플랜을 짜고 싶어.

- 틸노트는 웹 서비스이기 때문에 디지털 마케팅이 필요하다.

- 콘텐츠 마케팅을 포함해줘.

- 콘텐츠 마케팅에는 각 SNS 에 최적화된 콘텐츠를 각각 출력해줘.

이렇게 마이너스 기호로 리스트를 만들다 보면 훌륭하게 세부적인 프롬프트가 완성되어 있을 것입니다.

문맥

이제 세 번째로 정말 중요한 파트가 나옵니다. 바로 문맥 (context) 입니다. 저는 누가 지금 바로 인공지능을 3배 잘 쓰는 방법을 알려달라고 하면 이렇게 이야기할 것입니다. 문맥을 제공하세요.

그런데 이 문맥이라는 것은 뭘까요? 네, 바로 데이터입니다. 제가 프롬프트는 하나의 프로그램과 같다고 했죠? 그렇기 때문에 이런 데이터를 받아서 처리할 수 있습니다.

예를 들어 아까 프롬프트에 어떤 문맥을 제공하면 될까요? 바로 틸노트 서비스가 어떤 서비스인지 잘 정리해 놓은 텍스트가 있으면 됩니다.

틸노트의 최고의 마케팅 플랜을 짜고 싶어.

- 틸노트는 웹 서비스이기 때문에 디지털 마케팅이 필요하다.

- 콘텐츠 마케팅을 포함해줘.

- 콘텐츠 마케팅에는 각 SNS 에 최적화된 콘텐츠를 각각 출력해줘.

# context

틸노트 서비스 개요.

- 틸노트는 AI 노트 서비스.

- 위키피디아 형식의 지식 노트 생성 가능.

- 틸노트 클립 크롬 확장 프로그램으로 보고 있는 웹사이트, 유튜브를 노트로 한 번에 변환 가능.

이런 식으로 context 를 넣어줬습니다. 보시면 두 가지 특징이 보이시죠?

일단 문맥을 제공하기 위해 새로운 단락을 넣어 줬습니다. (## context) 저는 이렇게 마크다운 문법을 사용해서 단락을 구분하는 것을 좋아합니다. 빠르게 구조화를 하고 AI가 쉽게 이해할 수 있기 때문이죠.

마크다운 문법이 아니라 xml 태그를 이용해서 context 를 제공할 수 도 있습니다.

<context>

틸노트 서비스 개요.

- 틸노트는 AI 노트 서비스.

- 위키피디아 형식의 지식 노트 생성 가능.

- 틸노트 클립 크롬 확장 프로그램으로 보고 있는 웹사이트, 유튜브를 노트로 한 번에 변환 가능.

</context>

xml 은 끝나는 태그와 닫는 태그가 있는 하나의 쌍입니다. <추가 데이터></추가 데이터> 이렇게 써도 됩니다.

중요한 것은 맥락 정보를 따로 구분해서 AI 가 구조적으로 쉽게 이해하기 원하는 것입니다. 정말 간단하게는 이렇게 써도 됩니다.

다음 텍스트를 요약해줘.

===

요약할 텍스트

이렇게 지시사항과 텍스트만 넣고 === 와 같은 특이한 문자로 구분을 지어주면 이해합니다. 특별히 어떤 기호들이 정해져 있는 것이 아니라 AI가 이게 구분되어 있는거구나 하고 논리적으로 인지할 수 있으면 됩니다. 이런 기호들을 유식하게 delimiter (구분자)라고 부릅니다.

이렇게 프롬프트를 구조화하면 강력한 프롬프트가 됩니다. 가장 많이 쓰이는 것은 마크다운과 xml 태그 구요.

CoT (Chain of Thought)

자 이제 4번쨰 강력한 무기가 나옵니다. 바로 Chain of Thought 입니다. 생각의 사슬이라고 하는 건데요. 사실 이거에 대해서 "수학 문제를 풀 때 특정 논리 과정을 주입해 준다" 이렇게 알고 계신 분들이 많으실거에요. 하지만 이건 작은 개념이고 원리를 알면 굉장히 강력하게 사용할 수 있습니다.

바로 포인트는 논리를 주입한다는 것입니다. LLM은 이 세상의 수 많은 논리를 학습한 머신입니다. 여기에서 이 논리는 하나의 레고 블럭과 같습니다. LLM은 이 레고 블록을 여러 형태로 조립하면서 하나의 결과를 만들어 냅니다. 그렇다면 여기의 로직(논리)에 나의 논리를 끼워 넣을 수 있는 거죠. 이렇게 논리를 끼워 넣으면 굉장히 독특한 결과를 만들어 냅니다.

그렇다면 논리란 무엇일까요?

논리는 A - B - C 와 같이 생각을 전개해나가는 것입니다. 너무나도 간단하죠? 이것이 아리스토 텔레스의 삼단 논법에서 시작해서 우리 세계를 발전시켜온 과학적 원동력입니다. 우리가 머릿 속에서 항상 하고 있는 것이기도 하구요. (말의 이치 = 논리)

자 아까 프롬프트는 프로그램이라고 했죠? 그러면 여기에 내가 원하는 로직을 집어넣어 봅시다.

틸노트의 최고의 마케팅 플랜을 짜고 싶어.

- 틸노트는 웹 서비스이기 때문에 디지털 마케팅이 필요하다.

- 콘텐츠 마케팅을 포함해줘.

- 콘텐츠 마케팅에는 각 SNS 에 최적화된 콘텐츠를 각각 출력해줘.

# context

틸노트 서비스 개요.

- 틸노트는 AI 노트 서비스.

- 위키피디아 형식의 지식 노트 생성 가능.

- 틸노트 클립 크롬 확장 프로그램으로 보고 있는 웹사이트, 유튜브를 노트로 한 번에 변환 가능.

# 작동 원리

1. 틸노트 마케팅을 위해 구체적인 계획을 세운다.

2. 각 계획을 가장 성공 가능 확률이 높은 순으로 정렬한다.

3. 각 계획에 대해 세부 계획을 수립한다.

4. 해당 계획을 실행할 첫번째 쉽고 실용적인 스텝을 제공한다.

자, 이제 제가 설계한 알고리즘이 보이시나요? 효과적인 마케팅 플랜을 위한 효과적인 방법을 생각해서 작동 원리라는 섹션으로 따로 제공을 했습니다.

이렇게 했을 때 기존의 LLM 이 주는 틀에 박힌 답변에서 벗어나 나에게 더 적합한 계획을 가질 수 있습니다.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 6

보면 성공 확률이 높은 순서대로 나오고 세부 계획 - 첫 번째 스텝 - SNS 별 콘텐츠까지 같이 나온 것이 보이시죠?

프롬프트는 하나의 미니 프로그램입니다. 여러분이 말과 논리로 쉽고 재미있게 만들 수 있습니다.

출력 양식

프롬프트에서 마지막으로 실전에서 많이 사용하는 출력 양식에 대해서 말씀 드릴게요.

출력 양식은 어떤 방식으로 콘텐츠를 보여줄지 콘트롤 하는 것입니다. 이렇게 했을 때 활용 가능성이 굉장히 높겠지요?

기본적으로 리스트나 마크다운, JSON, 표 등으로 많이 출력합니다. 이건 한번 프롬프트로 해보시기를 추천 드립니다.

저는 제가 출력 양식 예시를 제공해서 해당 형식으로 해보겠습니다.

# 출력 양식

다음과 같은 마크다운 형식으로 출력.
  
## n 순위 (성공 확률 x%) : 제목

성공 확률 분석 : 1줄로 가능성 분석.

세부 계획

- 세부 계획 1

- 세부 계획 2

- 세부 계획 3

## 첫번째 스텝

효과적인 첫번째 스텝

SNS 별 콘텐츠

- Threads

- Twitter

- Instagram

- Linkedin

...

이런식으로 출력 양식을 디테일하게 콘트롤할 수 있습니다.

자, 여러분 이제 프롬프트에 대해서 이해를 하셨나요? 이런 것들을 아시면 정말 강력한 프롬프트들을 구사하실 수 있으실 거에요.

AI 기본기 잡기 세미나 - AI 스퀘어 커뮤니티 image 7

감사합니다!