최근 구글에서 에이전트에 대한 백서를 발표했습니다.
오늘은 이거 기반으로 이야기해 보죠, 오늘날 우리에게 인공지능(AI)은 인간의 작업을 보조하고 자동화하는 데 있어 이미 큰 부분을 차지했습니다 인공지능을 사용하냐 사용하지 못하냐로 업무속도는 큰 차이로 나고 그와 관련해 주변에서도 당연히 사용해야 하는 것 정도의 자리를 차지하고 있죠.
그러나 최근 AI 기술은 단순한 보조 역할을 넘어, AI 에이전트(AI Agent)라는 개념을 통해 자율적이고 지능적인 실행 주체로 진화하고 있습니다. 사실 저는 "펄스널 AI"라는 말을 참 좋아하는데요 개인에게 잘 맞고 정확한 영역으로 간 인공지능이라는 표현이 알맞을 것 같습니다.
저또한도 자체 봇을 만들어보고 프로젝트를 만들어서, 에이전트를 만들어 활용하고 있고 특정 부분에서는 에이전트가 압도적인 성능을 보여줍니다. 고급스럽게 말하면 사용자의 목표를 달성하기 위해 자율적 의사결정과 실행 능력을 갖춘 프로그램을 만드는 느낌이죠 자 그럼 이제 본론으로 들어가 보죠
구글의 책에서 주장하는 것 중에 핵심정인 문장을 가져와볼까요?
Agents are autonomous and can act independently of human intervention,
especially when provided with proper goals or objectives they are meant to achieve.
쉽게 말하면 독립적이고 자동적으로 결과물을 내놓는 것이죠 우리가 명령을 내리는 것 이상으로 자동화된 봇을 하나 만들어야 한다는 주장입니다.
여기서 핵심은 우리가 구조와 디렉션을 주고 명령을 정확하게 내릴 수 있다는 점입니다. 원래는 자기가 생각하는 답변을 내리겠지만 우리가 원하는 정보를 정확하게 지정할 수 있다는 거죠
The model used by an agent can be one or multiple LM’s of any size (small / large) that are capable of following instruction based reasoning and logic frameworks, like ReAct, Chain-of-Thought, or Tree-of-Thoughts
사실 이문장에서 흠칫했는데 제가 주력으로 사용하는 프롬프트인 LogiCoT기반으로 작성하라는 명령어가 겹치더라고요 이것들은 후반부에 좀 더 자세히 다루도록 하고
이러한 도구는 외부의 api를 콜링 할 때의 상황을 의미합니다 실제로 현실 지도정보나 예약정보가 대표적인 예시겠죠 여기에 최근 이슈가 되고 있는 RAG(Retrieval-Augmented Generation) 곧 검색 증강 생성까지 좀 더 전문적으로 활용할 수 있다는 것이죠
이런 식으로 설명하는데 결국 기존 모델은 세부적인 명령이 없고 기존자료로만 답변하기에 아쉬웠지만 에이전트는 기존학습+외부 툴 or 자료합에 명령에 따른 여러 단계를 거치게 바꿀 수 있다는 거죠
할 수 있는 게 많아지는 만큼 난이도가 사용난이도가 올라갈 것이라는 건 자명한 사실이지만, 그만큼 할수있는 범위가 넓어진다는건 좋은 소식이기도 합니다.
그럼 어떤 게 있는지 알아볼까요?
ReAct는 언어 모델이 추론(Reason)과 행동(Action)을 결합하여 사용자 질의에 응답하도록 설계된 프롬프트 엔지니어링 프레임워크입니다. 리엑트라는 건 코딩에서도 많이 쓰이는 말이긴 한데 여기서는 그래요
사용자가 제공하는 맥락(Context) 정보가 있든 없든, 주어진 질문에 대해 모델이 논리적 사고 과정을 거쳐 실행 가능한 행동 계획을 생성하는 녀석으로. 모델은 질의에 대한 자신의 사고 과정(Thought)과 그에 따른 행동(Action)을 명시적으로 표현하는 녀석이죠 실제로 사용해 보면 자료 찾을 때 굉장히 유용합니다.
인용수가 높은 논문 기준으로 내가 생각한 주제에 어울리는 논문들과 기초논문의 출처를 가져와 달라거나 특정 실험결과를 주면서 타인이 실험한 데이터를 타깃으로 찾는 등의 명령어에 리엑트 기반으로 해라고 명령하는 방식이 있죠
2. Chain-of-Thought (CoT) Framework
제가 가장 자주 쓰는 방식으로 Chain-of-Thought는 중간 단계를 통해 추론 능력을 강화하는 프레임워크입니다.
TOT는 너무 커버리지가 넓어져 오히려 벗어나는 반면, 이 녀석은 정확하게 제가 내린 명령을 수행합니다.
사용자의 질의에 대한 문제 해결 과정을 여러 단계로 나누어 순차적으로 논리적 사고를 수행하니 제한 조건에는 최적화되어 있고. 단순히 최종 답변만 생성하는 것이 아니라, 각 단계에서 중간 사고 과정을 명시하기에 중간단계를 수정해 나가며 세부적 수정이 가능하다는 게 강점이죠
Self-consistency: 다양한 사고 경로를 탐색하고 가장 일관성 있는 답변을 선택.
Active-prompt: 프롬프트를 동적으로 조정하여 성능 향상.
Multimodal CoT: 텍스트뿐만 아니라 이미지, 오디오 등 다양한 데이터 형식을 포함한 사고 체계 구축.
이런 기반명령어를 손대기 좋다는 거죠 나름대로 꽤 괜찮은 녀석입니다. 특히 액티브 프롬프트 기능을 잘 쓰면 프롬프트 짜는 시간을 단축시킬 수 있으니까요
3. Tree-of-Thoughts (ToT) Framework
최종 도달점에 가깝다고 생각하는 녀석입니다. Tree-of-Thoughts는 전략적 탐구와 다중 사고 경로를 탐색하는 데 적합한 프레임워크입니다.
이론은 Chain-of-Thought의 개념을 일반화하여, 단일 경로 대신 여러 사고 체인을 나무(Tree) 구조로 확장합니다. 문제 해결 시 다양한 사고 경로를 동시에 탐색하며, 최적의 경로를 선택하는 방식인데
특히 탐색과 예측이 필요한 문제나 전략적 계획 수립이 중요한 과제에서 탁월한 성능을 발휘하죠 실제로 저 같은 경우 전체적인 목차를 짜거나, 업무를 계획하는 데 있어 활용했던 모델로
3개를 모두 사용해 봐도 가능한 사고 체인 중 최선의 선택을 하도록 유도한다는 특징에 걸맞게 가장 나은 결과를 내주더군요
이전에는 생각방식에 대해 이야기했죠? 자 이제 세부적인 툴에 대해 이야기해봅시다. 예를 들어볼까요? 구글에서 예로 들면 우리가 특정도시로 여행을 갈 때 얼마나 걸려라고 했을 때 만약 출발지에서의 명령어가 없다면 오류가 나서 할루시네이션이 나올 수 있으니 아래처럼 지도 항공편 날씨가지 세부적인 툴들을 지정해 주는 겁니다 실제 API를 이용하는 방식과 비슷하죠
네 엑셀의 그 펑션 맞습니다. 뭐 예를 들어보면 엑셀의 SUM 함수를 떠올려볼까요? 다 더해주는 기능이 있죠? 세부적인 프레임워크에 펑션을 추가해서 네가 원하는 기능을 끌어내봐 라는 소리입니다. 1~10까지 더해줘라는 명령어를 SUM 1:10이면 되는 거죠
그럼 익스텐션과 같은 거 아니에요?
Doesn’t make a live API call, Functions are executed on the client-side
이두가지로 설명하는데 그니까 내가 Function은 내가 맘대로 조절할 수 있어 자유도가 높고 위쪽 은 API를 활용하기에 제한이 생길 수밖에 없는 거죠 아래와 같은 느낌으로 이해하시면 됩니다.
굳이 이걸 구분해야 하나요?라고 물어보신다면
물리적인 상황으로는 인터넷이 연결 안 되거나, 혹은 보안이 있는 특정사이트에 들어갈 필요가 있거나, 시간에 대해 제약이 있는 상황이 있겠죠
또한 실제로 외부적으로 우리가 찾기 전에 필요한 것만 찾으라는 세부적인 디렉션을 주는 거에 가깝습니다.
그럼 핵심은 뭘까요 이걸 어디에 쓰는데?
RAG(Retrieval-Augmented Generation) 즉 검색증강생성 챗봇 소위말하는 ai 상담사가 이 기능에 가깝습니다. 다만 지금처럼 나열해 둔 게 아닌 제대로 된 녀석이 나올 거고
이제 그럼 제 기준으로 특정 조건에서 문제를 풀어주는 공학상담사나 공학전문 풀이 봇마저도 ai기반으로 편하게 만들 수 있다는 것이겠죠
물론 정말 새로운 것은 아니고 ai에 이런 기능을 조금 더 확장하겠다는 말에 가깝습니다.
마지막으로 이런 식으로 정리하며 마치겠습니다.