brunch

You can make anything
by writing

C.S.Lewis

by being cognitive Jun 05. 2024

2024 AI 키워드, Agentic Workflow

에이전트 기반 워크플로우, 그리고 Image-to-Music

[ 2024 AI 키워드 중 하나인 Agentic Workflow에 대해서 알아봅시다~]


올해 Andrew Ng교수님이 주로 말씀하시는 키워드가 Agentic Workflow인데요,
최근 deeplearning.ai에 관련 short-course들이 올라왔기에, 수강하면서 느낀점들을 까먹기 전에 공유하고, 

여기에 영감을 받아서 후다닥 만든 Image-to-Music 사례도 공유해보고자 합니다.


0. 배경 : 백스페이스를 한번도 쓰지 않고 글을 쓰는 LLM


Andrew Ng 교수님이 "Agentic Workflow" 설명할 때 사용하는 비유가 있는데요,


현재의 LLM이 글을 쓰는 방식은, 사람으로 치면 백스페이스를 한번도 누르지 않고 에세이를 작성하는 것과 같다고 표현합니다. (Auto-regression을 쉽게 표현하시려 한 것.)


(*물론 LLM은 백스페이스 없이 일필휘지로 써야만하는 제약 조건에도 불구하고 제법 잘 동작하긴 하지만) 이러한 제약으로 인해, Prompt Engineering에 아무리 공을 들여도 결과물이 아쉬울 때가 많이 있습니다.


앞으로 계속 빠른 속도로 기술이 발전하면서 모든 면에서 성능이 좋아지겠지만, AGI가 단일 모델로 나올 때까지 기다리는 것 대신에, 지금 수준의 AI로도 여러 AI를 조합하여 Agentic Workflow (에이전트 기반 워크플로우)를 사용함으로써 우리가 기대하는 성과를 내보자는 취지입니다.


(* 이는 작년에 센세이셔널한 반향을 일으켰던 AutoGPT, HuggingGPT등의 연장선에 놓여있다고 생각합니다.)


1. Agentic Workflow란 무엇인가?


위에 설명한대로, 하나의 AI에게 한번의 결과를 기대하는 대신에, 


"여러" 역할로 정의된 AI"들"을 바탕으로 워크플로우를 구성해서, 그 협동의 결과를 얻어내는 방식을 의미합니다. 


e.g. "AI가 음악산업에 미칠 영향에 대해서 글을 쓴다"라는 Task가 있다면,


 [ A. 전체 관리자 AI Agent ] --> [ B. Writer AI ] <-> [ C. Critic AI ] 와 같이 구분된 역할을 부여하여,


 사람은 태스크를 A.에게만 지정하면, A는 계획을 세워서 B에게 작업을 시키고, B는 C에게 리뷰 의견을 구하고, B가 재작성하면, A가 그 전체 품질을 다시 평가하는 방식이 되어, AI로 팀 하나를 꾸려서 일을 진행시킬 수 있게 되는 것이죠.


+ Andrew Ng교수님 발표에 따르면, Agentic Workflow 적용시 gpt-3.5-turbo로도 gpt-4 수준의 결과물을 얻을 수 있다는 연구결과가 있다고 합니다.



2. 그리고, Agentic Workflow를 적용한다면, 여러 회사의 모델을 한꺼번에 쓸 수 있는 또다른 장점이 있습니다.


예를 들어, 전체 관리는 gpt-4o가 강하고, 우리말 글쓰기는 네이버가, Critic은 Claude가 강하다라고 판단했다면,


A.는 gpt-4o를, B.는 NAVER를, C.는 Claude를 하나의 워크플로우에서 동시에 활용할 수 있다는 특장점이 생깁니다.


Researcher는 Llama 3 70B를, Writer는 GPT-4를 적용  --> 즉, 여러 회사의 AI를 동시에 활용할 수 있다!


3. 기타 Agentic Workflow 적용시 고려사항


Crew.AI와 MS의 AutoGen 에 대한 deeplearning.ai short-course들을 수강하면서 더 디테일한 내용들을 알 수 있었는데요,


A. Manager 눈높이에서 생각해보자. 어떤 태스크를 수행한다고 했을 때에, 어떤 직군을 채용할 것인가? 라는 관점에서 Agent들을 설계하면 효율적인 설계가 될 것이라고 합니다. 

매니저의 관점에서 Agent들을 설계하고, 이왕이면 보다 구체적인 Role을 부여하라


B. 워크플로우는 Sequential, Broadcasting, Asynchronous 방식으로 여러가지로 설계할 수 있습니다. 작업의 난이도에 따라서 다양하게 시도해볼 수 있겠습니다.




4. 유사한 개념으로 저도 후다닥 하나 만들어봤는데요 : Image_to_Music입니다.


사람의 경우 어떤 이미지를 보고 영감을 얻어서 음악을 작곡하는 경우가 있을텐데요,


AI모델들이 더욱 좋아지면서 이를 한번에 수행하는 모델이 가까운 미래에 나오겠지만, 지금 그것이 없다면,


Step 1. 이미지 --> [ 멀티모달AI ] --> 텍스트로 설명

Step 2. 텍스트 --> [ 일반LLM ] --> 음악생성용 프롬프트로 한번 더 다듬고

Step 3. 음악생성용 프롬프트 --> [ 음악생성AI ] --> 음악생성


과 같은 여러 AI들의 협업을 통해서, 이미지로부터 음악을 생성하는 AI를 후다닥 만들 수 있겠습니다.


사실은 소스코드대로 Colab에서 실제로 실행하는데 시간이 너무 오래 걸려서 time-out이 나기 때문에, 일단 맨 아래 >재생버튼으로 생성된 음악만 한번 확인해주시는 것으로... 할게요~ ^^

소스코드 : https://colab.research.google.com/drive/1HYukNcJpZS7eJC0DdK9hOoopOpDxIGty?usp=sharing



** 오늘 글도 AI의 현재를 읽는데에 도움이 되셨기를 바라며~ 이만 줄입니다. ^-^

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari