AI와 자동화 플랫폼에 대한 Arunava Majumdar의 강연 [870화] | Technology and Friends


ai자동화 패턴엔진 에이전트프레임워크 #지식그래프 #연구플랫폼

AI 자동화 플랫폼 개발 및 연구

프로젝트 개요

Arunava Majumdar(Ron)은 IBM에서 24년간 근무한 후 2024년 1월 퇴사하여 두 개의 스타트업을 시작했다. Open Development Platform은 전 세계 학생, 교수진, 연구자들과 협력하는 자동화 플랫폼이며, ResearchNet은 코드를 안정화하고 수익화하는 플랫폼이다. IBM에서 고급 연구 센터를 이끌었던 경험을 바탕으로 현재는 자체 법인을 통해 아웃리치 프로그램을 운영하고 있다.

기술 아키텍처

패턴 엔지니어링 도구

Open Development Platform의 하단 계층에는 패턴 엔지니어링 도구가 위치한다. 이 도구는 UML 및 CASE 도구와 같은 개념을 기반으로 하며, Grady Booch와 Jim Rumbaugh 등 Three Amigos가 제시한 패턴 엔지니어링 아이디어에서 출발했다. Ron은 이들과 직접 만날 기회가 있었으며, 자체 사양을 개발하고 코드 패턴을 재구성하여 패턴 엔지니어링 플랫폼을 통해 자동화할 수 있도록 구축했다.

프로세스 엔진 및 에이전트 프레임워크

패턴 엔지니어링 도구 위에는 프로세스 엔진이 있다. 이 엔진은 다양한 종류의 데이터에 연결하여 데이터 분석을 수행할 수 있으며, 에이전트 자동화 프레임워크에도 연결된다. 이 프레임워크는 다음과 같은 특징을 가진다:

  • 멀티 에이전트 지원: 여러 에이전트를 동시에 운영할 수 있다

  • 계층적 에이전트 구조: 에이전트의 계층 구조를 형성할 수 있다

  • 타 프레임워크 연동: UiPath, Automation Anywhere 등 다른 에이전트 프레임워크와 통합 가능하다

  • 코드 생성: 각 프레임워크의 고유 형식으로 코드를 생성하거나, 자체 프레임워크 내에서 작업할 수 있다

에이전트 구축의 기반으로는 Google ADK(Agent Development Kit)를 사용하며, 이는 표준으로 자리잡고 있다. 다양한 도구를 호출하기 위한 도구 플랫폼으로는 MCP(Model Context Protocol)를 활용한다.

자동화 철학 및 목표

Ron의 핵심 철학은 **“모든 것을 자동화하는 것”**이다. 동일한 작업을 반복하는 것을 싫어하며, 특히 세 번 이상 같은 작업을 할 때 패턴이 형성되고 있다는 것을 인식하고 자동화할 수 있다고 판단한다. 이러한 철학이 모든 개발의 기초가 된다.

연구 프로세스 자동화

문서 처리 파이프라인

Ron이 집중하는 주요 분야는 다양한 유형의 연구이며, 이를 위한 프로세스 자동화를 구축했다. 2024년 8월 5일 MVP 시연에서 선보인 프로세스는 다음과 같다:

  1. 문서 다운로드: arXiv에서 문서를 자동으로 다운로드한다

  2. 문서 처리: IBM Research Watson Discovery 팀에서 오픈소스로 공개한 Docling 도구를 사용하여 문서를 처리한다

  3. NLU 파이프라인: 자연어 이해(NLU) 파이프라인을 통해 모든 정보를 처리하고 상관관계를 분석한다

  4. 지식 그래프 생성: 처리된 정보로부터 지식 그래프를 생성한다

  5. 벡터 데이터베이스 구축: 백그라운드에서 벡터 데이터베이스를 생성한다

LLM의 역할과 코드 생성

이 시스템에서 LLM(대규모 언어 모델)의 역할은 커뮤니케이션이다. LLM은 요구사항과 시스템을 연결하는 데 사용되며, 실제 코드 생성은 패턴 엔진을 통해 수행된다. 이는 중요한 차별화 포인트로, LLM이 아닌 패턴 엔진을 통해 코드를 생성하기 때문에 일관성 있게 프로덕션까지 코드를 만들 수 있다.

LLM 활용 방식:

  • 자연어로 작성된 요구사항 텍스트를 이해하는 데 사용

  • 질문-답변을 위한 RAG(Retrieval-Augmented Generation) 방식 활용

  • 벡터 데이터베이스에서 참조 정보를 가져오는 데 RAG 스타일 상호작용 사용

  • 특정 모델에 종속되지 않으며, 로컬 또는 클라우드 기반 모델을 클라이언트 요구에 따라 전환 가능

사용자 시나리오

개발자

개발자는 이 도구를 다르게 활용한다. 대부분의 기존 도구는 주로 LLM 기반이지만, 이 플랫폼은 LLM을 내부 사양에 연결한 후 패턴 엔진을 통해 코드를 생성한다. 생성된 코드는 프로덕션까지 전달할 수 있다.

테스터 및 DevOps

테스터나 DevOps 파이프라인을 구축하는 사람, 인프라 배포를 담당하는 사람들은 각자의 방식으로 이 도구를 활용할 수 있다.

연구자

연구자에게 특히 유용한 기능을 제공한다. 예를 들어 우주 관련 연구를 하고자 할 때, 연구 아이디어가 나오면 다음과 같은 작업이 필요하다:

  • 많은 문서를 읽어야 한다

  • 박사 과정을 거치거나 박사 학생들의 도움을 받아야 한다

  • 선행 기술(prior art)이 무엇인지 파악해야 한다

  • 이미 출판된 내용이 무엇인지 확인해야 한다

  • 연구 격차(gap)를 찾아야 한다

문서 요약의 한계와 지식 그래프의 필요성:

ChatGPT, Google Gemini, LM Studio 등 여러 도구가 문서 요약을 잘 수행하지만, Ron은 요약 이상의 것이 필요하다고 강조한다. 지식 그래프를 생성하는 이유는 다음과 같다:

  • 다양한 부분을 분석할 수 있다

  • 예를 들어 유전체학(genomics) 연구에서 참조 유전체(reference genomes)를 찾을 때, 이를 다른 유전체나 관련 단어와 상관관계를 분석할 수 있다

  • 벡터 데이터베이스는 랭킹(rank) 작업에 필요하다

  • 정확히 어느 섹션을 참조하는지 확인할 수 있다

  • 연구를 출판할 때 필요한 인용(citations)을 정확한 참조 위치와 함께 제공할 수 있다

ResearchNet의 특징:

  • 문서를 1개, 10개, 수백 개든 다운로드할 수 있다

  • 처리 시간은 리소스와 문서 수에 따라 달라진다

  • 로컬 랩톱에서도 실행 가능하지만 시간이 오래 걸린다(데모에서는 3개 문서만 처리)

패턴 엔지니어링 접근법

설정의 단순성

도구가 많은 것을 할 수 있다는 점은 때로 과도한 유연성으로 이어져 설정이 복잡해질 수 있다는 우려에 대해, Ron은 설정이 매우 간단해야 한다고 강조한다. 복잡해지면 문제가 되기 때문이다.

패턴화 원칙

Ron이 팀, 학생, 모든 사람에게 강조하는 점은 패턴 엔지니어링이 모든 단일 속성을 패턴화하는 것이 아니라는 것이다. 중요한 것은:

  • 사용하고 있는 것과 그 변형(variants)을 식별한다

  • 식별된 것을 패턴화한다

  • 그 패턴을 사용한다

실용적 적용

예를 들어 Microsoft에서 제품을 개발할 때:

  • 플랫폼을 수시로 변경하지 않는 특정 패턴이 있다

  • React를 프론트엔드에 사용하거나 Java를 백엔드에 사용하는 등 팀 전체에 표준 패턴이 있다

  • 이러한 표준 패턴을 즉시 사용할 수 있다

Open Development Platform의 기본 패턴:

  • 프론트엔드: Shad/cn UI, React 사용

  • API: Java 사용

  • 백엔드: 기본 CRUD 작업을 위한 데이터베이스

  • 큐잉 기술: JMS, Python 등을 통해 연결

  • 로컬 모델 연결: ADK를 통해 Ollama로 연결하여 지원되는 모델 처리, Hugging Face 등도 가능

  • ChatGPT 사용: API 호출을 통해 연결

모든 유연성이 제공되지만, 사용자는 자신이 원하는 패턴을 설정한다. 기본 제공 패턴과 일치할 수도 있고, 원하는 대로 변경할 수도 있다. 설정에는 며칠이 걸릴 수 있지만, 그 후에는 모든 것이 자동화된다.

개발 현황 및 로드맵

회사 설립 및 초기 버전

ResearchNet은 2024년 5월경 정식 등록되었으며, 이미 MVP 0.1.0 버전을 2024년 8월 5일에 출시했다.

향후 릴리스 계획

매우 공격적인 타임라인을 가지고 있다:

  • 0.2.0 버전: 2024년 9월 말 출시, 프로세스 엔진과 에이전트 프레임워크의 나머지 부분 포함

  • 세 번째 릴리스: 2024년 11월 말, 추가 기능 포함

  • 1.0 버전: 2025년 3월, 잘 정의된 제품으로 사용 가능한 버전 출시

  • 총 개발 기간: 약 6개월 내에 사용 가능한 제품 완성

베타 사용자 및 검증

Robin 사례

현재 베타 사용자가 있으며, 그 중 하나는 MVP에서 언급된 Robin이다:

  • 영국 기반 회사

  • 슈트 프레젠테이션 개선 작업 수행

  • 팀 상호작용 개선 프로그램 운영

  • R2S(Robin 2 Skill) 시스템 구축 중

  • 이 시스템 자동화를 진행 중

자동화를 통한 혁신 사례: Excel 자동화

실제 사용 사례를 자동화하면서 복잡한 문제들이 발견되고, 이를 사용자에게 최대한 간단하게 만드는 것이 자동화의 목표다. 최근 Ron이 작업한 사례는 Excel을 통한 자동화다:

문제: Excel에 로직을 넣을 때, 시스템에 하드코딩하면 특정 Excel 시트의 특정 셀과 행에만 국한된다.

해결책:

  • 데이터를 매핑하고 변형(variant)에 매핑한다

  • 이를 통해 훨씬 더 많은 유연성을 확보한다

  • 열을 변경하더라도 코드가 아닌 XML 매핑만 변경하면 된다

  • 데이터를 인메모리 데이터베이스에 로드하여 SQL 쿼리를 실행할 수 있다

결과: 처음에는 이 아이디어가 없었지만, Robin 사용 사례 덕분에 이 아이디어가 나왔고, 이제 모든 사람이 Excel 시트 자동화를 사용할 수 있다.

검증과 진화의 선순환

베타 사용자들이:

  • 제품이 실제로 작동하는지 검증할 뿐만 아니라

  • 새로운 아이디어를 생성한다

  • 실제 세계에서 어떻게 사용되는지 확인한다

  • 이를 바탕으로 제품을 피봇하거나 기능을 추가한다

더 많은 사람들이 참여하고 독특한 사용 사례를 제시하면, 그것을 해결하고 플랫폼에 추가하여 모든 사람이 사용할 수 있게 된다.

개발에 AI 활용

Ron은 AI 도구 개발에 AI를 적극 활용하고 있다:

ChatGPT 활용

  • 정보 수집

  • 정보 요약

  • 시장 조사

  • 기타 다양한 작업

  • ChatGPT-5가 이전 버전보다 훨씬 우수하다고 평가

  • 환각(hallucination)이 적다

  • 참조 자료를 제공한다(때로는 제공하지 않는 경우도 있어 미스터리)

Copilot

때때로 GitHub Copilot을 사용한다.

Lovable

대부분의 UI는 Lovable을 사용하여 생성한다:

  • Lovable이 초기 코드를 생성한다

  • 이를 MVC(Model-View-Controller) 구조 기반의 자체 사양으로 리팩토링한다

  • MVC 아키텍처는 오랫동안 사용되어 온 구조다

  • 코드를 자체 패턴으로 개선한 후에는 Lovable 없이도 코드를 생성할 수 있다

  • 코드를 안정화하고 발전시키는 방식으로 개선을 진행한다

수익 모델

스타트업 대상 모델

스타트업 지원에 중점을 둔다:

  • 자금 조달 전까지 무료로 플랫폼 제공 - 스타트업의 가장 큰 문제점을 해결

  • Microsoft, Google, Amazon과 파트너십을 통해 클라우드 크레딧 제공

  • 이들 기업은 이미 스타트업을 위한 클라우드 크레딧 프로그램을 운영 중

  • 이를 최대한 간단하게 만드는 것이 목표

  • 예: Microsoft Azure 배포 시

  • Azure 배포 자동화 제공

  • Microsoft가 리소스 제공

  • 플랫폼 제공

  • 자금 조달과 안정화 후 라이선스 비용 청구

기업 모델

법률 기술 회사와의 협업 사례:

  • Ron이 법률 기술 회사의 CTO로 합류

  • Open Development Platform 위에 제품 개선

  • 법률 기술 분야의 새로운 아이디어 개발

  • 기능이 없는 경우 고객에게 직접 제공 가능

  • 플랫폼이 사용자들의 새롭고 창의적인 아이디어를 통해 지속적으로 개선되고 향상됨

제품 생성 도구로서의 가치

이 도구를 사용하여 새로운 제품을 생성하고 완전히 새로운 비즈니스를 시작할 수 있다. 이것이 플랫폼의 전체 아이디어다:

  • Ron은 제품을 구축하려고 했다

  • 제품 구축 프로세스를 자동화하고 싶었다

  • “왜 다른 제품 구축을 자동화할 수 있는 제품을 만들지 않을까?” 생각

  • 이를 통해 시간 프레임이 단축된다

  • 이것이 Open Development Platform이 탄생한 방식

진행 중인 프로젝트

유전체학 연구

  • Harvard University 교수와 유전체학 연구 진행 중

  • 교수를 플랫폼에 참여시킬 계획

  • 현재 논의 중

정신 건강 연구 - 스웨덴 연구자 Kumar

완전히 다른 사용 사례로, 유전체학과 무관하며 정신 건강에 관한 것이다:

목표: 비임상적인 방식으로 정보를 수집한다.

문제점: 임상 환경에서 질문을 하면:

  • 매우 구조화된 형태가 된다

  • 사람들이 의식하게 되어 다르게 답변할 수 있다

  • 덜 의식할 때와 다른 답변을 할 수 있다

해결책: 게임화(gamification) 애플리케이션 개발

  • 사용자가 게임을 하면서 질문에 답하고 결정을 내린다

  • 게임 중에 데이터를 캡처한다

  • 정신 건강 상태를 평가한다

프라이버시 고려사항: 프라이버시 문제를 처리한다

  • 자가 평가 가능

  • 임상 상황에서 사용: 정신과 의사를 만나기 5분 전에 게임을 하고, 정신과 의사가 실제 데이터를 가지고 작업할 수 있다

데이터의 중요성:

  • 놀랍게도 여전히 이 분야 연구 뒤에 많은 데이터가 없다

  • 정신과 의사와 심리학자들이 작업해야 하는 것은 더 추상적인 아이디어다

  • 더 많은 데이터를 수집할수록 더 나은 결정을 내리고 더 나은 서비스를 제공할 수 있다

더 많은 프로젝트를 진행하면서 플랫폼이 성숙해지고 있다.

향후 계획

스타트업 지원

스타트업이라면 스타트업 경로를 제공한다. 연결하여 협력 방안을 모색할 수 있다.

엔터프라이즈 지원

이미 비즈니스를 운영 중이거나 엔터프라이즈 수준이라면:

  • 더 크고 복잡한 아키텍처 구축을 목표로 한다

  • 엔터프라이즈가 쉽게 사용할 수 있는 참조 아키텍처 구축

  • 아직 그 단계에 도달하지 않았지만 언젠가는 도달할 것이다

연락 방법

  • 웹사이트: researchnet.ai

  • 이메일: arunava@researchnet.ai

  • LinkedIn: Arunava Majumdar로 연결