인공지능 시대의 소프트웨어 공학
이 글은 지적 자극을 주는 그림을 보다가 생각을 담아 두고 싶어서 쓰는 글입니다. 영감을 준 그림은 <AI Agents: A New Dawn in Generative AI>에 포함된 그림입니다.
바로 다음 그림인데요. 그림이 저에게 말을 거는 효과를 낸 제 머릿속 맥락은 무엇이었을까요?
두 가지 경험이 떠오릅니다. 하나는 <인공지능 길들이기> 활동을 하다 보면 비서처럼 저를 도울 수 있는 도구가 있었으면 좋겠다는 생각을 하게 됩니다. 구글 노트북LM을 쓰다 보면 비서 같다는 느낌을 받지만 특정 쓰임새에만 그런 것이고, 다른 활동에서는 이어지지[1] 않습니다. 다양한 쓰임새를 넘나들며 비서처럼 행동하는 도구라면 AI 에이전트라고 부를 수 있겠죠.
두 번째는 RAG에 필요한 활동을 프로그램으로 모은 후에 이를 감싼 개체를 만들면, 그것을 AI 에이전트로 부르는 것이 자연스럽다는 생각입니다.
생각이 거기에 도달하자 <컨텍스트 엔지니어링 프레임워크>를 끼워 넣을 수 있다는 사실을 깨닫습니다.
<컨텍스트 엔지니어링 프레임워크>에서 제시한 네 개의 시스템 구성 요소 중 하나는 다중 에이전트 시스템입니다.
시스템의 하위 구성 요소는 연결과 협업, 의사소통 프로토콜, 오케스트레이션 메커니즘 (Orchestration Mechanisms), 조정 전략으로 묶임입니다. 컨텍스트 엔지니어링의 발전 양상도 모듈화에 기초한다고 말할 수 있습니다. <모듈성은 소프트웨어 개발의 진정한 기술이다>를 떠올리게 됩니다. 지식의 출처가 다르긴 하지만, 다수의 AI 연구자와 기업에 의해 동시 다발적으로 발전하기 위해서는 '모듈성'이 전제되어 있다고 해석할 수 있습니다.
이 글은 AI 에이전트를 중심에 두고 주요 관련 주체들을 배열하고 관계를 명시한 일종의 맥락도를 보고 받은 자극에서 출발합니다. 그림을 그린 이는 AI 에이전트의 부상을 강조하기 위해 그린 그림인데, 저는 '비서 같은 역할'이라는 개인적인 활용 경험과 RAG 프로그램을 묶을 단위로 AI 에이전트를 인식하게 됩니다.
여기에 더하여 <컨텍스트 엔지니어링 프레임워크>에서 다중 에이전트 시스템이라는 구성요소를 발견합니다. <컨텍스트 엔지니어링 프레임워크>가 수많은 인공지능 연구자들의 논문과 활동을 기반으로 조사한 내용임을 전제하면, 다중 에이전트 시스템은 이미 연구자와 AI 기업 사이에 상당한 공감이 있다는 사실을 짐작할 수 있습니다.
[1] '이어지지'란 단어를 쓰자, 머릿속에서 'seamless'와 'session' 개념을 내놓습니다. 여기서는 생각의 전개를 위해 <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함>을 미룹니다.
4. 반복은 모든 탐구의 핵심이자 실제 지식 습득의 기본
7. 소프트웨어 설계는 어떻게 새롭게 정의할 수 있나?
9. 컨텍스트 엔지니어링 분류 체계와 구현 기술의 진화 양상