Agent Laboratory 깃헙 레파지토리

Agent Laboratory는 LLM 기반 에이전트를 연구 조수로 활용하여 연구 생산성을 향상시키는 시스템입니다.

핵심 기능은 다음과 같습니다:

  • 입력: 연구 아이디어
  • 출력: 연구 보고서 및 코드 저장소
  • 핵심 목표: 연구자의 연구 아이디어 구현을 지원하는 연구 조수 역할. 연구자의 창의성을 대체하는 것이 아니라 보완하는 것이 목표.
  • 구성 요소: 문헌 조사, 계획 수립, 실험 실행, 보고서 작성 등 전체 연구 워크플로우를 지원하는 특화된 LLM 에이전트들로 구성.
  • 자원 적응성: MacBook이나 GPU 클러스터 등 사용 가능한 컴퓨팅 자원에 따라 적응적으로 작동.
  • 장점: 코딩, 문서화 등 반복적이고 시간이 많이 소요되는 작업을 자동화하여 연구자가 아이디어 구상 및 비판적 사고에 집중할 수 있도록 지원.
  • 궁극적인 목표: 과학적 발견을 가속화하고 연구 생산성을 최적화.

Agent Laboratory는 연구자가 주도적인 역할을 유지하면서 AI 에이전트를 통해 연구 과정을 효율화하는 도구로 설계되었습니다. 다양한 컴퓨팅 환경과 연구자의 참여 수준에 따라 유연하게 활용될 수 있다는 점이 특징입니다.

 

Agent Laboratory는 연구 과정을 체계적으로 안내하는 세 가지 주요 단계로 구성됩니다.

  1. 문헌 조사 (Literature Review): 관련 연구 논문을 독립적으로 수집하고 분석합니다. arXiv와 같은 외부 도구를 활용합니다.

  2. 실험 (Experimentation): 협업 계획 및 데이터 준비를 통해 자동화된 실험을 수행합니다. Hugging Face, Python 등의 도구가 활용됩니다.

  3. 보고서 작성 (Report Writing): 종합적인 보고서를 생성합니다. LaTeX와 같은 도구를 사용하여 논문 형식의 보고서 작성을 지원합니다.

각 단계에서는 LLM 기반의 특화된 에이전트들이 협력하여 목표를 달성합니다. 이러한 모듈식 설계는 다양한 자원 상황에 유연하게 적응하면서도 고품질 연구 결과물을 효율적으로 생성할 수 있도록 합니다. 각 에이전트의 구체적인 역할과 각 단계별 기여에 대한 자세한 내용은 논문에서 다룹니다.

 

1. 문헌 조사 단계:

  • 하위 작업: 문헌 조사, 계획 수립. 사람이 처음에 연구 주제를 정의하고, 그 후 문헌 조사와 계획 수립이 진행됩니다.
  • 담당자
    • ‘조교'(박사과정 학생)가 문헌 조사 및 계획 수립 담당.
    • ‘박사후연구원’은 계획 수립에 참여.
    • ‘교수’는 전체 과정을 감독. 
  • 사용 도구: arXiv

2. 실험 단계:

  • 하위 작업: 데이터 준비, 실험 실행
  • 담당자
    • ‘소프트웨어 엔지니어’가 데이터 준비
    • ‘머신러닝 엔지니어’가 실험 실행 담당
    • ‘조교'(박사과정 학생 및 머신러닝 엔지니어)는 새로운 코드 작업.
  • 주요 요소: ‘이전 코드'(PY, Python 파일), ‘편집'(EDIT), ‘교체'(REPLACE) 기능을 통해 코드 수정. ‘최상위 프로그램 및 결과'(PY 파일), 보상 모델, ‘실험 결과’ 생성. 트로피 아이콘은 최적화 또는 목표 지표 달성을 의미.
  • 사용 도구: Python, Hugging Face

3. 보고서 작성 단계:

  • 하위 작업: 보고서 작성, 보고서 개선
  • 담당자
    •  ‘박사과정 학생’이 보고서 작성.
    • ‘검토자’들이 보고서 개선 담당
    • ‘교수’는 보고서 점수와 보고서 평가.
  • 주요 요소: ‘이전 보고서'(PDF 파일), ‘편집'(EDIT), ‘교체'(REPLACE) 기능을 통해 보고서 수정. ‘새 보고서'(PDF), ‘최상위 보고서'(PDF) 참조. ‘초안 보고서’는 수정 과정을 거쳐 ‘최종 보고서’로 완성.
  • 사용 도구: LaTeX

 

Agent Laboratory는 mle-solver를 통해 머신러닝 문제 해결 능력을 구축하여 연구 수행의 첫걸음을 지원합니다. mle-solver는 다음과 같은 방식으로 작동하는 범용 머신러닝 코드 해결 도구입니다.

  • 입력: 이전 단계에서 텍스트 형태로 제공된 연구 방향
  • 기능: 연구 코드를 반복적으로 개선
  • 작동 방식: 작업 지시, 명령 설명, 추출된 지식과 같은 입력을 기반으로 최상위 프로그램들을 반복적으로 조정하여 점수 함수에 따라 실험 결과를 개선합니다.
  • 코드 변경 명령:
    • REPLACE: 전체 코드를 다시 작성합니다.
    • EDIT: 특정 라인을 수정합니다.
  • 코드 개선: 성공적으로 컴파일된 코드는 점수에 따라 최상위 프로그램을 업데이트합니다. 오류 발생 시 최대 세 번의 수정을 시도하고, 그래도 실패하면 새로운 코드를 시도합니다.
  • 에이전트의 역할: 각 단계를 반영하여 결과를 개선합니다.

즉, mle-solver는 연구 방향을 텍스트 입력으로 받아, 코드를 반복적으로 생성하고 개선하여 머신러닝 문제 해결을 위한 최적의 코드를 생성하는 역할을 합니다. 이를 통해 연구자는 코드 작성에 소요되는 시간을 줄이고, 연구의 핵심 내용에 집중할 수 있습니다.

 

mle-solver는 MLE-Bench 평가에서 다른 솔버들보다 더 나은 성능과 일관성을 보여주었으며, 여러 과제에서 인간의 평균 성능을 능가했습니다. 이는 Agent Laboratory의 mle-solver가 실제 머신러닝 문제 해결에 효과적임을 시사합니다.

 

Agent Laboratory의 두 번째 단계는 실험 설계 및 결과를 바탕으로 연구 보고서를 생성하는 것입니다. 이를 위해 paper-solver라는 보고서 생성 모듈이 사용됩니다.

  • paper-solver의 기능: 결과 및 코드를 바탕으로 사람이 읽을 수 있는 학술 논문 형식의 보고서를 생성합니다. 이전 실험 단계의 결과물과 발견 사항을 요약하여 연구자에게 명확한 성과 요약을 제공합니다.

  • 입력: 연구 계획, 실험 결과, 도출된 통찰력, 문헌 조사 결과

  • 출력: 학회 제출에 적합한 표준 학술 논문 형식의 보고서

즉, paper-solver는 이전 단계에서 얻은 다양한 정보를 종합하여 학술 논문 형식의 보고서를 자동으로 생성하는 역할을 합니다. 이를 통해 연구자는 보고서 작성에 드는 시간과 노력을 절약하고 연구 결과 분석 및 해석에 집중할 수 있습니다.

 

각 백엔드가 자동 연구 생성에 대한 연구자의 기대에 부합하는 정도에 상당한 차이가 있음을 보여줍니다. o1-preview는 전반적인 유용성과 보고서 품질 면에서 우수했고, o1-mini는 실험 설계 및 코드 생성에 강점을 보였습니다. gpt-4o는 전반적인 성능이 가장 낮았지만, 유용성 측면에서는 여전히 괜찮은 평가를 받았습니다. 이러한 결과는 각 LLM의 특성과 강점을 이해하고 연구 목적에 맞게 적절한 모델을 선택하는 것이 중요함을 시사합니다.

인간의 참여가 있는 co-pilot 모드는 자율 모드보다 연구 결과물의 품질을 향상시키는 데 효과적입니다. 런타임 및 비용 측면에서는 gpt-4o가 가장 효율적이지만, 전반적인 연구 품질 및 유용성 측면에서는 o1-preview가 더 나은 결과를 보였습니다. 연구 목표와 예산, 시간 제약 등을 고려하여 적절한 LLM 백엔드와 작동 모드를 선택하는 것이 중요합니다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*