[00:00]
요즘 모든 사람들이 LLM을
[00:02]
모든 프로그램에 넣고 에이전트라고 부르고 있습니다
[00:04]
하지만 그렇게 단순한 게 아닙니다. 저는 이런 경우를
[00:07]
특히 n8n 같은 노코드 도구에서 자주 봅니다
[00:09]
여기서 중요한 점은
[00:12]
실제 AI 에이전트와
[00:15]
단순히 LLM이 포함된 워크플로우 사이에는
[00:17]
큰 차이가 있다는 것이며
[00:19]
이는 매우 중요한 구분입니다
[00:21]
에이전트를 만드는 방식과
[00:23]
워크플로우를 만드는 방식, 그리고 각각의 활용처가
[00:25]
완전히 다르기 때문에
[00:27]
무엇을 만들고 있는지 알아야 합니다. 둘 다
[00:29]
매우 유효하고 가치 있지만 각각이 해결하는 문제는
[00:31]
완전히 다른 영역입니다
[00:34]
이제 함께 자세히 살펴보겠습니다
[00:35]
에이전트가 무엇인지 뿐만 아니라
[00:37]
무엇이 아닌지도 보여드리겠습니다
[00:39]
이를 통해 확실히 이해하실 수 있을 겁니다
[00:40]
게다가 이해를 돕기 위한
[00:42]
시각적 예시들도 준비했고
[00:44]
허깅페이스와 앤트로픽의
[00:46]
에이전트 정의도 다룰 예정입니다
[00:48]
에이전트를 사용해야 할 때와
[00:51]
단순 워크플로우가 더 나은 경우도 알아보고
[00:52]
실제 사례를 통해
[00:54]
에이전트와 비에이전트의 예시를 보여드리겠습니다
[00:57]
오늘 많은 가치 있는 내용을 준비했으니
[00:59]
바로 시작해보겠습니다
[01:01]
자, 이렇게 진행하겠습니다
[01:02]
먼저 AI 에이전트가 실제로 무엇인지
[01:04]
함께 정의해보겠습니다. 아마도
[01:07]
AI 에이전트를 만드는 일반적인 사람들에게
[01:09]
에이전트가 무엇인지 물어보면
[01:12]
명확한 정의를 내리지 못할 것입니다
[01:15]
그래서 지금
[01:16]
허깅페이스와 앤트로픽의 도움을 받아
[01:18]
에이전트에 대한 명확한 정의를
[01:20]
만들어보겠습니다. 이것이
[01:22]
이후 내용의 토대가 될 것입니다
[01:24]
n8n을 통해 실제로
[01:27]
에이전트의 예시와
[01:29]
에이전트처럼 보이지만 실제로는 아닌
[01:31]
워크플로우의 예시를 보여드리겠습니다
[01:34]
여기 허깅페이스의
[01:35]
블로그 포스트를 보시면
[01:37]
에이전트에 대한 간단명료한 정의가 있습니다
[01:40]
이것만으로는 부족하지만
[01:42]
좋은 시작점이 될 것 같습니다
[01:43]
AI 에이전트는 LLM의 출력이
[01:46]
워크플로우를 제어하는 프로그램입니다
[01:50]
여기서 제가 강조하고 싶은 핵심 단어는
[01:53]
'비결정적'이라는 것입니다
[01:55]
이는 에이전트가 워크플로우를 제어할 때
[01:57]
정확히 어떤 일이 일어날지 모른다는 뜻입니다
[02:00]
단순히 A 단계, B 단계, C 단계처럼
[02:01]
순차적으로 진행되는 것이 아닙니다
[02:05]
에이전트가 워크플로우에서
[02:07]
무엇을, 언제, 몇 번이나 실행할지 결정하기 때문입니다
[02:10]
허깅페이스의 AI 에이전트 과정에서
[02:12]
제시하는 또 다른 좋은 정의가 있는데
[02:14]
화면에 보여드리겠습니다
[02:16]
이것은 매우 중요한데요
[02:18]
AI 에이전트는 특정 목표를 달성하기 위해
[02:21]
환경과 상호작용할 수 있는 능력이 주어진
[02:23]
AI 모델이라고 설명합니다
[02:26]
이는 에이전트가 목표 지향적이라는 점을
[02:27]
보여주는데, 워크플로우가
[02:30]
단순히 선형적인 경로를 따라
[02:32]
특정 작업을 수행하는 것과 달리
[02:34]
에이전트는 실제로 목표를 가지고
[02:35]
그 목표에 도달하는 방법을 추론합니다
[02:38]
이것이 허깅페이스가 제시한 내용이고
[02:40]
매우 좋은 시작점이 되지만
[02:42]
또 다른 정의도 있습니다
[02:44]
Anthropic에서 제시한 이 정의를 매우
[02:46]
높이 평가하고 싶습니다.
[02:47]
최근 그들의 YouTube 채널에서
[02:49]
AI 에이전트 구축에 대한 팁을 공유했는데,
[02:51]
에이전트와 워크플로우의 차이점에 대해
[02:53]
우리가 지금까지 이야기했던 것처럼
[02:56]
자세히 다루고 있습니다.
[02:57]
이 영상 클립을 한번 보시죠.
[02:59]
정말 훌륭한 내용입니다.
[03:01]
블로그 포스트에서 우리가 탐구한 것처럼
[03:03]
많은 사람들이 단순한 LLM 호출 이상의
[03:06]
모든 것을 에이전트라고
[03:08]
부르고 있습니다.
[03:09]
블로그 포스트에서 우리가 시도한 것은
[03:11]
이를 명확히 구분하는 것이었습니다.
[03:13]
워크플로우는 여러 개의
[03:15]
LLM 호출이 연결된 것이고,
[03:18]
반면 우리가 생각하는 진정한 에이전트는
[03:20]
LLM이 실행 횟수를 스스로 결정하고
[03:22]
해결책을 찾을 때까지
[03:24]
계속해서 반복하는 것입니다.
[03:26]
이는 고객 지원을 위한
[03:28]
대화일 수도 있고,
[03:30]
코드 변경을 반복하는 것일 수도 있습니다.
[03:33]
중요한 점은 목표 달성까지
[03:34]
얼마나 많은 단계가 필요할지
[03:37]
미리 알 수 없다는 것입니다.
[03:39]
이것이 바로 우리가 정의하는
[03:40]
진정한 에이전트입니다.
[03:42]
정말 훌륭한 설명이죠.
[03:43]
이는 앞서 본 Hugging Face의
[03:46]
정의와도 매우 잘 일치합니다.
[03:48]
아직 이해가 잘 되지 않더라도
[03:50]
걱정하지 마세요.
[03:52]
제가 곧 보여드릴 예제들이
[03:53]
이 개념을 더 명확하게 해줄 것입니다.
[03:55]
비결정적 에이전트가 워크플로우에서
[03:58]
실행을 결정하는 방식과
[04:00]
순차적 워크플로우와의 차이점을
[04:02]
이해하는데 도움이 될 것입니다.
[04:03]
n8n 워크플로우로 넘어가기 전에
[04:06]
몇 가지 다이어그램을 보여드리고 싶습니다.
[04:08]
다이어그램이 개념 이해에
[04:10]
도움이 된다는 걸 알기 때문입니다.
[04:12]
여러분도 같은 생각이시라면
[04:14]
이것이 매우 유용할 것입니다.
[04:15]
이 다이어그램은 Hugging Face와
[04:18]
Anthropic이 설명한 정의들을
[04:20]
잘 정리해서 보여줍니다.
[04:22]
본질적으로 에이전트는
[04:24]
Google Drive나 Slack 같은 것들과
[04:27]
상호작용할 수 있는 도구들을
[04:29]
능력으로서 부여받습니다.
[04:31]
시스템 프롬프트를 통해
[04:33]
목표와 선호도가 주어지고,
[04:35]
대화 기록을 통한
[04:37]
단기 메모리나
[04:38]
RAG와 같은 장기 메모리를 통해
[04:40]
사전 지식도 제공됩니다.
[04:42]
이 모든 것이 에이전트에 주어지면
[04:44]
환경 내에서 사용자를 대신해
[04:46]
작업을 수행할 수 있게 됩니다.
[04:49]
이메일 작성, Slack 메시지 전송,
[04:52]
데이터베이스 쿼리 등
[04:55]
도구들이 에이전트에게 가능하게 하는
[04:57]
모든 작업을 수행하죠.
[05:00]
그리고 이는 순환 구조입니다.
[05:01]
에이전트가 관찰하는 단계가 있어서
[05:04]
도구를 사용했을 때 환경에서
[05:06]
어떤 일이 발생했는지,
[05:08]
데이터베이스를 조회했을 때
[05:10]
어떤 결과를 받았는지,
[05:12]
다음에 무엇을 해야 할지 판단하고
[05:14]
다시 환경과 상호작용할 수 있습니다.
[05:16]
다시 말하지만, 목표를 달성하기 위해
[05:18]
몇 번의 상호작용이 필요할지는
[05:19]
미리 알 수 없습니다. 이것이 바로 제가 앞서 언급한
[05:22]
비결정적 행동입니다.
[05:24]
그리고 또 다른 다이어그램이 있는데,
[05:26]
이것은 조금 더 복잡하지만
[05:28]
AI 에이전트를 에이전트답게 만드는
[05:30]
도구적인 측면을 더 잘 설명합니다.
[05:33]
도구란 에이전트에게 주어진 기능으로,
[05:35]
웹 검색이나 API 호출과 같은 것들,
[05:37]
예를 들어 이 예시의 날씨 API나
[05:40]
지식 베이스에 대한 RAG 수행,
[05:42]
또는 계산기 사용 등을 말합니다.
[05:44]
이러한 도구들은 에이전트가
[05:46]
환경과 상호작용할 수 있게 해주죠.
[05:48]
왼쪽 끝에서 사용자 입력이 시작되어
[05:50]
LLM으로 들어갑니다. LLM은
[05:52]
모든 것의 두뇌 역할을 하며
[05:54]
사용자가 준 목표를 달성하기 위해
[05:56]
무엇을 해야 할지 결정합니다.
[05:59]
이것이 에이전트가 가진
[06:00]
모든 도구들입니다. 답을 얻기 위해
[06:03]
웹 검색이 필요할 수도 있고
[06:05]
지식 베이스를 찾아봐야 할 수도 있죠.
[06:07]
이러한 작업들을 수행하고 나면
[06:09]
관찰 결과가 다시 LLM으로 돌아가
[06:12]
도구들을 다시 호출할 수 있고
[06:13]
이 비결정적 루프가 계속됩니다.
[06:16]
최종적으로 목표 달성에 필요한
[06:19]
모든 작업을 수행했다고 판단하면
[06:20]
결과를 사용자에게 보냅니다.
[06:23]
이제 이것을 염두에 두고
[06:25]
AI 에이전트가 무엇인지에 대한
[06:27]
명확한 정의와 그 구성 요소들을
[06:29]
이해했으니,
[06:31]
이제 에이전트가 아닌
[06:33]
워크플로우의 예시들을 살펴보겠습니다.
[06:35]
제가 가장 좋아하는 '에이전트가 아닌 것'의
[06:37]
예시부터 시작해보겠습니다.
[06:40]
이 워크플로우의 역할은, 사람들이
[06:42]
자주 만드는 종류의 워크플로우인데,
[06:44]
사용자로부터 특정 주제에 대한 프롬프트를 받아
[06:46]
X(트위터)에 맞는 게시물을 만들고
[06:49]
X에 게시한 다음,
[06:53]
LinkedIn과 블로그에도
[06:55]
같은 작업을 수행하고,
[06:57]
마지막에 LLM을 사용해 각 플랫폼에
[07:00]
게시된 내용을 요약하여
[07:02]
사용자에게 응답을 보내는 것입니다. 이것은
[07:05]
AI 에이전트가 아닙니다. 이것은
[07:08]
단순히 LLM 호출들을 연결한
[07:11]
워크플로우입니다. Anthropic 영상에서 본 것처럼
[07:13]
이는 매우 명확한 정의입니다.
[07:16]
이것을 알 수 있는 방법은
[07:17]
n8n을 보면 알 수 있죠. 참고로
[07:19]
n8n을 모르거나 사용해보지 않았더라도
[07:21]
시각적으로 매우 직관적이어서
[07:23]
이해하기 쉬울 거라 생각합니다.
[07:25]
제가 n8n을 좋아하는 이유는
[07:27]
순차적인 과정을 잘 보여주기 때문입니다. X 게시물을 만들고
[07:30]
게시한 다음, 똑같은 작업을
[07:32]
LinkedIn과 블로그에 수행합니다.
[07:33]
여기에는 어떠한
[07:36]
비결정성도 없습니다. X에 두 번 게시하거나
[07:39]
어떤 이유로 블로그 게시를 건너뛰는 일도 없죠.
[07:42]
만약 실제로 그런 결정들이 있고
[07:43]
LLM이 그것을 제어한다면
[07:46]
그때는 AI 에이전트가 되겠죠.
[07:48]
하지만 이것은 단순히 A, B, C 단계를 거쳐
[07:51]
완료되는 것뿐입니다. 이것은 에이전트가 아니에요.
[07:54]
물론 오해하지 마세요. 이것은
[07:56]
실제로 매우 가치 있는 워크플로우입니다.
[07:58]
사람들이 이런 워크플로우를 자주 만드는 것을 봅니다.
[08:00]
Make나 n8n, Zapier에서 많이 보이는데,
[08:03]
각 플랫폼에 맞는 메시지를 만들기 위해
[08:06]
잘 정의된 시스템 프롬프트와 LLM을 사용하는 것이
[08:09]
매우 중요합니다.
[08:11]
X에 올리는 게시물과
[08:13]
LinkedIn에 올리는 게시물은
[08:14]
매우 다르기 때문이죠.
[08:16]
하지만 이것이 에이전트는 아닙니다.
[08:18]
실제로 테스트를 해보겠습니다.
[08:21]
AI에 대한 X 게시물, LinkedIn 게시물,
[08:24]
그리고 블로그 포스트를 작성해달라고 하면
[08:26]
잘 작동하는 것을 볼 수 있습니다.
[08:27]
이것은 단순한 워크플로우가
[08:30]
AI 에이전트보다 더 나은 좋은 예시입니다.
[08:33]
이것을 에이전트로 만들 수도 있는데,
[08:35]
X 포스트를 만드는 도구와
[08:37]
LinkedIn 포스트를 만드는 도구를 가지고
[08:39]
각각의 작업을 수행하도록
[08:40]
요청할 수 있습니다.
[08:43]
하지만 우리는 이런 비결정성을
[08:45]
원하지 않습니다.
[08:46]
만약 에이전트가 어떤 이유로
[08:48]
환각 상태에 빠져서
[08:50]
X에 두 번 포스팅을 하거나 LinkedIn 포스트를
[08:53]
원하는 대로 만들지 않으면 어떨까요?
[08:55]
우리는 에이전트가
[08:57]
워크플로우를 제어하는 것을 원하지 않습니다.
[08:59]
순차적으로 만들어
[09:01]
일반적인 워크플로우로 만드는 것이 더 좋습니다.
[09:04]
이것이 최종 응답입니다.
[09:06]
각 플랫폼에 게시된 내용의
[09:07]
요약을 보여주는데요.
[09:10]
약간의 오류가 있지만,
[09:11]
요점을 이해하실 수 있을 겁니다.
[09:12]
이것은 매우 분명하게
[09:14]
훌륭한 워크플로우이지만
[09:15]
AI 에이전트는 아니라는 것을 보여줍니다.
[09:18]
이제 다른 예시를 살펴보겠습니다.
[09:19]
이번에는 조금 다른 방식으로 접근해보겠습니다.
[09:21]
다음 예시에서는
[09:23]
n8n 채팅 창에서 시작하는데
[09:26]
여러분이 판단해보시기 바랍니다.
[09:27]
이 워크플로우나 에이전트와 대화를 나누면서
[09:31]
이것이 워크플로우인지 에이전트인지
[09:33]
이것은 기술 스택 전문가입니다.
[09:35]
제가 만들고 싶은 애플리케이션을 설명하면
[09:37]
몇 가지 질문을 통해
[09:38]
어떤 기술을 사용해야 할지
[09:40]
프론트엔드, 백엔드,
[09:42]
데이터베이스 등을
[09:44]
결정하도록 도와줍니다.
[09:46]
대화 내용을 빠르게 넘어가면서
[09:47]
보여드리겠습니다.
[09:50]
여러분이 직접 판단해보세요.
[09:51]
이것이 워크플로우일까요, 아니면 에이전트일까요?
[10:07]
자, 이제 대화를 마쳤습니다.
[10:09]
프론트엔드, 백엔드에 대해 질문했고
[10:11]
AI 코더 사용 여부,
[10:12]
사용자 수 등에 대해 물어봤습니다.
[10:15]
전체 대화가 끝난 후에
[10:18]
프론트엔드에 대한 모든 것을 추천해주는데
[10:20]
여기 보시면
[10:22]
백엔드, 인증 시스템,
[10:25]
내가 선호하는 데이터베이스, LLM,
[10:28]
호스팅까지 꽤 멋지게 추천해줍니다.
[10:30]
이제 여러분께 질문드립니다.
[10:32]
이 정도의 복잡성과
[10:34]
내가 원하는 것을 이해하고
[10:37]
다양한 기술에 대해 판단을 내리는 것을 보면
[10:39]
이것이 목표 달성을 위해
[10:41]
환경에서 동작하는 AI 에이전트일까요?
[10:43]
아니면 단순히 기술 스택을 도와주는
[10:45]
워크플로우나
[10:47]
일반적인 LLM 챗봇일까요?
[10:50]
자, 이제 여러분이 직접 판단해보세요.
[10:52]
n8n 워크플로우로 이동해서
[10:54]
실제로 어떻게 작동하는지 보여드리겠습니다.
[10:56]
지금 바로 전환하겠습니다.
[10:57]
보시다시피 우리가 방금 나눈 전체 대화는
[11:00]
단일 LLM에 의해 진행되었고
[11:02]
이것은 AI 에이전트가 아닙니다.
[11:06]
에이전트가 아닌 이유를 보시면
[11:08]
에이전트 노드의 도구 부분이
[11:11]
그냥 허공에 매달려 있죠.
[11:13]
환경과 상호작용할 수 있는 것이
[11:16]
아무것도 주어지지 않았습니다.
[11:18]
그래서 이건 그냥 일반 챗봇입니다.
[11:20]
에이전트의 기준 중 하나는
[11:21]
특정 목표를 달성하기 위해 환경과
[11:24]
상호작용할 수 있어야 하며, 단순히 챗봇처럼 동작해서는 안 됩니다.
[11:27]
우리가 방금 나눈 전체 대화는
[11:29]
이 멋진 시스템 프롬프트에 의해서만
[11:32]
진행되었기 때문입니다.
[11:34]
기술 스택을 파악하기 위해
[11:36]
도구를 호출하는 것이 전혀 없었고
[11:37]
모든 것이 여기에 정의되어 있었죠.
[11:40]
중요한 점은 이 워크플로우나 챗봇이
[11:43]
다른 것과 달리 비결정적이라는 것입니다.
[11:46]
우리는 얼마나 많은 단계가 필요한지
[11:48]
정확히 알 수 없습니다.
[11:49]
AI 코딩 지원을 파악하는 데
[11:51]
왜냐하면 아마도
[11:52]
질문을 하고 답변을 받은 후
[11:54]
다시 AI 코딩 시스템에 대해 물어볼 수 있고
[11:56]
그 다음에야 프론트엔드나
[11:58]
백엔드에 대해 물어볼 수 있기 때문입니다.
[11:59]
따라서 이는 비결정적이며
[12:01]
우리는 이 대화가
[12:02]
몇 단계가 필요할지 모릅니다.
[12:04]
최종적으로 기술 스택을
[12:06]
파악하기까지 말이죠. 하지만 여전히
[12:09]
이것은 에이전트가 아닙니다.
[12:10]
왜냐하면 어떤 방식으로도
[12:13]
환경과 상호작용하지 않기 때문입니다.
[12:16]
마지막 예시에서는
[12:18]
실제로 X에 게시물을 올리고
[12:20]
LinkedIn에 게시하고 블로그 포스트를 작성하며
[12:21]
환경과 상호작용했지만
[12:23]
순차적이었기 때문에 에이전트가 아니었습니다.
[12:26]
이번 경우는 비결정적이지만
[12:28]
에이전트가 아닙니다.
[12:30]
왜냐하면 환경과
[12:31]
상호작용하지 않기 때문입니다.
[12:34]
두 예시 모두 무엇이 에이전트인지
[12:36]
결정하는 서로 다른 기준을 보여줍니다.
[12:38]
이 경우처럼 단순한 챗봇이거나
[12:40]
이전 케이스처럼 워크플로우인 것과
[12:42]
이제 n8n에서 다른 예시들로 넘어가
[12:44]
실제 AI 에이전트의 예시를
[12:47]
보여드리도록 하겠습니다.
[12:50]
이것이 단순한 워크플로우 이상인
[12:52]
첫 번째 에이전트 예시입니다.
[12:54]
이전 두 예시와 달리
[12:56]
이것은 모든 기준을 충족합니다.
[12:58]
우선 첫째로, 사용자의 목표 달성을 위해
[13:00]
환경과 상호작용할 수 있는
[13:02]
도구들을 가지고 있습니다.
[13:04]
이 에이전트는 Google Docs를 사용하여
[13:07]
장기 메모리와 노트를 관리하는데
[13:09]
정말 멋집니다.
[13:10]
설명란에 링크를 공유하겠습니다.
[13:13]
이것은 제가 발견한 n8n 워크플로우
[13:15]
템플릿 라이브러리에서 가져온 것으로
[13:17]
매우 훌륭한 에이전트입니다.
[13:19]
또한 비결정적인데, 때로는 에이전트가
[13:21]
노트나 장기 메모리에
[13:23]
아무것도 저장할 필요가 없다고 판단하고
[13:25]
다른 때는 저장하기도 합니다. 따라서 어떤 도구를
[13:27]
어떤 도구를 얼마나 많이 호출할지
[13:28]
미리 알 수 없습니다. 여기 예시를 보여드리겠습니다.
[13:31]
지금 직접 대화를 나눠보면서
[13:32]
보여드리도록 하겠습니다.
[13:34]
먼저 기본적인 메시지로 시작해보겠습니다.
[13:36]
'안녕'이라고 보내면, 이 경우에는
[13:39]
어떤 도구도 호출하지 않을 겁니다.
[13:40]
도구가 호출되면 여기 초록색 원이
[13:42]
표시될 텐데, 기본적인 메시지이기 때문에
[13:44]
아무것도 표시되지 않습니다.
[13:46]
하지만 이제 장기 기억에 저장될 만한 것을
[13:48]
물어보도록 하겠습니다.
[13:50]
매우 명시적으로 해보겠습니다.
[13:51]
아주 중요한 내용이라고 말하면서
[13:54]
신발 끈 매는 법을 배워야 한다고 하겠습니다.
[13:58]
좀 단순한 예시이긴 하지만
[14:00]
이제 노트 저장 도구가 호출되는 것을 보실 수 있습니다.
[14:02]
이제 구글 독스에 가보면
[14:04]
에이전트가 저장하기로 결정한 내용이
[14:07]
신발 끈 매는 법을 배워야 한다는 내용이
[14:10]
저장되어 있을 것입니다.
[14:12]
이제 대화를 새로고침 해보겠습니다.
[14:14]
대화 기록에는 아무것도 없지만
[14:17]
이전 내용을 기억할 수 있는 건
[14:18]
전적으로 구글 독스에서
[14:20]
가져온 정보 때문입니다.
[14:22]
워크플로우가 시작될 때
[14:23]
'무엇을 해야 하나요?'라고 물어보겠습니다.
[14:27]
노트에서 정보를 가져와서
[14:28]
노트를 확인해보라는 응답을 합니다.
[14:32]
노트를 확인해보면
[14:34]
신발 끈 매는 법을 배워야 한다고 나옵니다.
[14:37]
보세요, 노트에서 정보를 가져왔고
[14:38]
이번에는 도구를 호출하지 않았습니다.
[14:40]
단순히 질문에 답변만 했기 때문이죠.
[14:41]
이것이 바로 진정한 에이전트입니다.
[14:43]
이 워크플로우는 매우 기본적이지만
[14:45]
꽤 흥미롭습니다.
[14:47]
100% 완벽하게 작동하지는 않습니다.
[14:49]
보셨듯이 노트를 확인하라고
[14:50]
직접 말해야 했지만
[14:52]
여전히 에이전트의 좋은 예시입니다.
[14:54]
이것이 에이전트인 이유는
[14:56]
비결정적이면서도 질문에 답변하는 것이
[14:59]
목표이기 때문입니다.
[15:01]
구글 독스라는 환경을 활용해서 말이죠.
[15:03]
다음 예시를 보여드리게 되어 기쁩니다.
[15:05]
제가 만든 깃허브 에이전트인데
[15:07]
제 유튜브 채널의 AI 에이전트 시리즈를 위해 만들었습니다.
[15:09]
깃허브 저장소 URL이 주어지면
[15:12]
저장소의 구조를 분석할 수 있고
[15:14]
개별 파일을 살펴볼 수도 있습니다.
[15:17]
어떤 파일을 볼지
[15:18]
스스로 선택할 수 있어서
[15:20]
매우 비결정적이며
[15:22]
깃허브라는 환경과 상호작용합니다.
[15:24]
채팅으로 들어가서
[15:26]
데모를 보여드리겠습니다.
[15:28]
제가 최근에 시작한
[15:30]
AI 에이전트 빌더인 아콘(Archon) 저장소를 입력하겠습니다.
[15:33]
계속 개선하면서
[15:34]
여러 버전을 만들어왔는데
[15:36]
각 버전마다 다른 리드미가 있습니다.
[15:38]
각각을 분석해서
[15:40]
각 버전들을 설명하도록 요청할 수 있습니다.
[15:42]
보시다시피 먼저
[15:44]
저장소의 전체 구조를 가져오고
[15:46]
그 다음 네 번에 걸쳐
[15:49]
아콘의 각 버전별
[15:51]
리드미를 분석하기로 결정했고
[15:53]
각 버전의 리드미를 분석한 다음
[15:55]
간단명료하게
[15:57]
설명을 제공합니다.
[15:59]
각 버전에 대한 명확하고 간단한
[16:00]
버전 1, 버전 2, 버전 3에 대한
[16:02]
그리고 네 번째 호출은 아마도
[16:04]
GitHub 저장소의 루트에 있는 README를
[16:05]
분석한 것 같습니다. 여기서 매우 에이전트다운 특징은
[16:09]
도구를 몇 번 호출할지 스스로 결정하고
[16:10]
각각을 어떻게 사용할지 판단했다는 점입니다.
[16:13]
만약 제가 후속 질문을 한다면
[16:14]
도구를 전혀 사용하지 않기로 결정할 수도 있죠.
[16:17]
이것이 바로 에이전트다운 특징입니다.
[16:19]
n8n에서 비결정적이고 환경과 상호작용하는
[16:22]
또 다른 좋은 에이전트의 예시입니다.
[16:24]
마지막으로 에이전트가 아닌 것의 예시로
[16:26]
실제 사례를 들어보겠습니다.
[16:28]
바로 ChatGPT.com인데요,
[16:31]
이것은 실제로 그저
[16:33]
앞서 봤던 텍스트 스택 전문가처럼
[16:35]
대화형 챗봇에 불과합니다.
[16:38]
웹 검색 기능이 활성화되어 있더라도
[16:40]
단순히 웹을 검색하고 그 결과를
[16:42]
LLM의 컨텍스트로 제공할 뿐입니다.
[16:44]
검색을 더 정교화하기 위해
[16:46]
웹을 다시 검색할지 결정하는
[16:48]
에이전트는 아닙니다.
[16:49]
예를 들어 '일론 머스크의
[16:51]
순자산이 얼마인가?' 라고 물으면
[16:54]
웹을 검색하고 그 컨텍스트를
[16:56]
LLM에 제공해 최종 답변을 주지만
[16:58]
잘못된 정보를 찾았을 때
[17:00]
다시 웹을 검색할지
[17:02]
결정할 수는 없습니다.
[17:04]
웹 검색 여부를 결정할 수 있다는 점에서
[17:06]
에이전트라고 할 수도 있지만
[17:08]
그 기본적인 결정 외에는
[17:11]
일반적인 챗봇에 불과합니다.
[17:13]
이것을 Windsurfr와 비교해보면
[17:15]
매우 에이전트다운 특성이 드러나는데
[17:18]
여기서 프롬프트를 주면, 음...
[17:21]
여기 있는 추가 부분을 지우고
[17:22]
제가 사용하는 모델을 업데이트하겠습니다.
[17:24]
방금 Pantic AI와 Windsurfr로
[17:26]
이 에이전트를 만들었고, 이제
[17:28]
사용된 대규모 언어 모델을
[17:31]
변경하고 있습니다. 여기서는
[17:33]
배후에서 일어나는
[17:34]
Windsurfr의 의사결정이 훨씬 많습니다.
[17:36]
파일을 분석하기로 결정하고
[17:38]
도구를 호출하기로 결정합니다.
[17:40]
실제로 제 AI 에이전트 빌더인
[17:43]
Archon을 사용하고 있죠. 매우 에이전트답습니다.
[17:45]
어떤 분석을 할지, 어떤 파일을
[17:47]
편집할지 결정하는 것을
[17:49]
미리 알 수 없기 때문입니다.
[17:51]
하나의 흐름에서 모든 결정을 내립니다.
[17:53]
ChatGPT와 비교하면
[17:55]
훨씬 더 많은 의사결정이
[17:57]
이루어지고 있습니다.
[17:59]
이 영상이 AI 에이전트와
[18:01]
LLM이 내장된 워크플로우의 차이를
[18:03]
이해하는 데 도움이 되었길 바랍니다.
[18:05]
둘 다 매우 가치 있습니다만,
[18:08]
AI 에이전트의 미래가
[18:10]
더 밝다고 생각합니다.
[18:12]
훨씬 더 많은 가능성을 열어주고
[18:14]
강력한 기능을 제공하기 때문입니다.
[18:16]
그래서 제 채널에서는 이것에 초점을 맞춥니다.
[18:18]
이 콘텐츠가 도움이 되었고
[18:20]
AI 에이전트에 대한 더 많은 내용을 기대하신다면
[18:22]
좋아요와 구독 부탁드립니다.
[18:24]
다음 영상에서 만나뵙겠습니다.
[18:26]
감사합니다.