목적
- 연출이랑 대사같은 것은 항상 막상 하려고 하면 잘 생각나지 않는 경우들이 많다.
- 수민이형이 주로 잡아주는 부분은 도입부(개념설명부)의 대사와 큰 흐름이다.
- 어떻게 화면을 표현할지는 프로그래밍을 하면서 떠오르는 경우가 많다.
- 당연히 코드부의 경우 미리 디테일하게 잡기는 어렵다.
- 이것을 실제 reproduce 과정에서 해야 하는 이유는 대충 다음과 같다.
- reproduce 를 하는 과정에서 문제들이 발견된다.
- reproduce 를 하면서 깨닫게 되는 부분들이 있다.
- 이것들은 좋은 대사감인데, reproduce 가 끝나면 이 흐름을 까먹어버리게 된다.
- 연출이나 구체적인 대사를 고민하는 단계는 reproduce 전이나 후 step으로 분리되어 있기 때문에, 이에 맞추려고 시도했으나 떠오르는 생각들을 스스로도 잘 정리하고 넘어가지 못해서 생산성이 떨어짐을 느꼈다.
- reproduce 다음 step: 녹화 시, 무엇을 먼저 화면에 띄워주어야 하나 우왕좌왕하는 시간을 크게 줄일 것으로 짐작된다. 녹화 시 상당 시간들이 여기에 소비되는 것 같기도 하다.
- 촬영에 급급하다 보니 꼭 준비해야 하는 화면이나 설명(우리다움)을 놓치게 되어 편집자님에게 드리는 피드백의 총량도 늘어났다. 이 양이 줄어들 것으로 짐작된다.
- reproduce 단계에서 함께 고려될 수 있는 것들은 다음과 같다.
- 어떤 흐름으로 소개할 것인가.
- 어떤 화면을 보여주면 좋을 것 같은가. 이 부분은 (화면) 이라고 표시하자.
목표
- [x] 위 목적을 수민이형에게 공유한다.
- [x] ‣ 에 있는 수민이형의 글을 다시한번 참고해서 내가 알아볼 수 있는 형태로 전체적인 구조를 정리한다.
기록
- intro
- 많은 분들이 다양한 방식으로 언어 모델, ChatGPT, Claude와 같은 SaaS, 혹은 노코드(make)와 함께 Agent를 결합하는 등 AI를 사용하고 있다.
- 응답에 대한 대답을 받는 ChatGPT와 같은 서비스를 사용하셨거나, 단일 API 호출을 통한 답변을 받아오신 분들은, 이와 유사한 문제를 경험하셨을 것이다.
- (아래 KeyPoints의 problem 제시)
- (1) 성능 및 일관성에 대한 아쉬움 (2) 워크 플로우 상 아쉬움을 느꼈던 분들께 이를 개선할 수 있는 Multi Agents 접근을 제시해보려고 한다.
- 이 영상에서는 Multi Agent가 왜 나왔고 어떤 부분에서 강점이 있는지 알려드리고, 실제 저희 워크플로우에 통합하는 과정을 보여줄 것이다.
- 특히 우리는 지난번에 나를 닮은 모델에 나의 옷장 속의 나의 옷을 입는 비디오를 만들었다.
- 이 multi-에이전트라는 것은 우리가 회사에서 역할을 나누어 일을 하는 것과 참 많이 닮아 있다. 물론 우리 비디오 뒷부분에서 실습도 하고 프로그래밍도 하지만, 프로그래밍을 모르더라도 가져갈 부분이 많고 흥미로운 개념이기 때문에, 한번 들어 보는 것을 추천한다.
- multi-agent 구축 방법
- multi-agent 을 설명하기 전에 간략히 agent 가 무엇인지 언급하면 좋을것같다.
- agent 는 LLM 에 뭐시기 하는 엔지니어링적 접근이다. 단순 QA 기억을 붙이거나, 도구를 쓸 수 있고 … 이래저래 하는 것.
- agent 만으로도 현실의 문제들을 몇몇 풀 수 있는데, 이것이 궁금하면 앞의 비디오를 가보셔라.
- 우리는 이미 agent 에 익숙하기도 하다. chat gpt 에게 ~을 검색해서 알려줘 하면
- 앤드류 웅 교수님은 일반적으로 agent 를 구성하는 패턴이 있다고 했다.
- planning, tool use, reflection, multi agent collaboration 이다.
- planning 은 CoT 같은 것.
- tool use 는 방금 보여준 GPT …
- reflection 은 말 그대로 피드백을 받아 반성을 하는 것이다.
- collaboration 은 이런 것들 여러개가 모여 협력을 하는 것이다.
- multi agent 는 이들 중 collaboration 패턴을 포함하고 있는 것이다.
- 잠시 후에 예제와 함께 보면 이해가 더 잘 될 것이다.
- 요새 프레임워크들
- LangChain 기반의 LangGraph
- CrewAI
- AutoGen
- MS에서 만든 오픈소스로, 에이전트간 계층 구조 등 세부 조정하기에 좋음
- GUI 형태의 AutoGen Studio도 있으니, 코드에 익숙하지 않은 분들도 찾아보시면 노코드 형태로 시도해보실 수 있을 것
- llama-index, LangFlow
- (화면) 표 형태로 나오도록 준비
- (화면) 텍스트로 ‘아직 기술이 성숙하지 않고 활발히 연구되는 중’ 정도만 띄워도
- 새로운 기술이라 각각의 프레임워크들은 아직 성숙하지 않아서 뭘 고르든 별 상관이 없다. 지금은 뭐가 더 좋고 하더라도 어느순간 무언가는 살아남아 있겠고 기능도 베끼고 무언가는 없어져 있을 것이라 단언하는 것이 더 위험한 상황.
- hands-on
- (화면) 빈칸에 전체적인 구조를 보여준다.
- 전체적인 구조를 보여줄 때 어떤 화면을 보여줄 것인지 잘 그려서 녹화할때도 쓰고 편집자님께도 전달드려야겠다.
- (화면) 전체적인 구조를 설명할 때 에이전트 이모지들을 활용하고, 대화를 주고받는 것을 구체적으로 보여주면서 말풍선을 붙이는 연출.
- (화면) 중간에 ‘이렇게 돌아가는 이유’를 설명하면서 코딩 에이전트의 시스템 메시지에 적혀 있는 내용을 언급해야겠다.
- 왜 굳이 multi agent?
- 앞선 hands-on 과 같이 간단한 사례에서는 별로 필요가 없다.
- ai outfit workflow migration
- problem
- 우리 지난번 결과물의 퀄리티
- IPAdapter 이 거듭 붙을수록 뭉뚱그려짐
- 우리는 단지 검정색 재킷만을 입힐것이 아님
- 그런데 프롬프트가 black jacket 으로 고정되어 있다는 문제가 있었음
- reflection pattern
- 전체적인 구조
- 도구들을 만들거다.
- generate(), Agent 워크플로 관점에서 소개하기 (최고수준 추상화)
- review_cloth()
- fix_hands()
- review_hands()
- generate_better_prompts()
- upscale()
- 그리고 피드백을 바탕으로 Agent 들이 이 도구들을 사용하게 만들거다.
- 각 함수들이 굉장히 많이 쪼개져 있는 것을 알 수 있다.
- 처음에는 review() 라는 하나의 함수에서 옷 검사도 하고, 프롬프트도 만들고, 손 검사도 하게 했다. 하지만 이 경우 정말 성능이 안나와줬다. 그래서 다 쪼개버렸다.
- generate()
- 함수 주석 추가하며 설명하기 (중간 추상화)
- 캐싱
- 나머지 구현
- 그런데 이때 그냥 실행하게 되면 realismEngine 못찾는 오류 발생.
- 링크 들어가서 우리가 사용하는애는 없음을 확인시키고, 우리는 Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors 이걸 사용할거라고 언급하고 바꾸기.
- 다운로드 기능도 만들어주자.
- review()
- fix_hands()
- upscale()
- 예전에 사용했던 positive prompt 와 negative prompt 바꾸기.
- research agent workflow migration
- 굳이 처음부터 구현하지 않고 사람들이 이미 만들어둔 워크플로를 나의 워크플로에 통합하는 것도 좋은 방법이다.