LangGraph를 사용한 AI 기반 연구 가설 생성
요약
Open Coscientist는 Google Research의 AI Co-Scientist 논문을 기반으로 한 오픈 소스 멀티 에이전트 프레임워크입니다. LangGraph를 활용해 8~10개의 전문 에이전트가 연구 가설을 생성, 검토, 진화시키는 워크플로우를 제공합니다.
핵심 포인트
- LangGraph 기반의 멀티 에이전트 오케스트레이션 구현
- MCP 서버 통합을 통한 문헌 인지 추론 및 데이터 접근 가능
- LiteLLM을 지원하여 100개 이상의 LLM과 호환
- 가설 생성, 검토, 순위 지정 및 진화의 전 과정을 자동화
LangGraph를 사용한 AI 기반 연구 가설 생성
Open Coscientist는 Google Research의 AI Co-Scientist 연구 논문을 기반으로 한 오픈 소스 적응형 구현체입니다. 이 프로젝트는 설명된 멀티 에이전트 아키텍처 (multi-agent architecture)를 사용하여 연구 가설을 생성, 검토, 순위 지정 및 진화시키는 구현을 제공합니다. LangGraph 워크플로우를 통해 8~10개의 전문화된 AI 에이전트를 오케스트레이션하며, 과학 문헌에 근거한 새로운 가설을 생성하는 것을 목표로 합니다.
이 데모에서는 Open Coscientist를 사용하여 알츠하이머병의 조기 발견을 위한 새로운 접근 방식에 대한 가설을 생성합니다.
YouTube에서 전체 데모를 보려면 클릭하세요.
*
이 엔진은 모든 LLM (Large Language Model)과 작동하며 외부 데이터 소스 없이도 실행할 수 있습니다.
고품질의 가설 생성을 위해, 시스템은 출판된 연구에 대해 문헌 인지 추론 (literature-aware reasoning)을 수행할 수 있도록 MCP (Model Context Protocol) 서버 통합을 제공합니다. 설정 및 구성 세부 사항, 그리고 기본 참조 MCP 서버를 실행하려면 MCP Integration을 참조하세요.
pip install open-coscientist
API 키를 설정하세요 (LiteLLM이 지원하는 모든 제공업체 가능):
export GEMINI_API_KEY="your-key-here"
# 또는: export ANTHROPIC_API_KEY="your-key-here"
# 또는: export OPENAI_API_KEY="your-key-here"
개발 관련 내용은 CONTRIBUTING.md를 참조하세요.
참고: 문헌 검토 (literature review)를 실행하려면, 문헌 검토 도구/기능을 갖춘 MCP 서버를 반드시 제공해야 합니다. 제공된 참조 구현 MCP 서버를 사용할 수 있습니다. 그렇지 않으면 출판된 연구 데이터가 사용되지 않습니다.
모델 지원: 100개 이상의 LLM 제공업체 (OpenAI, Anthropic, Google, Azure, AWS Bedrock, Cohere 등)를 위해 LiteLLM을 사용합니다. 성능이 낮은 모델과 함께 작동하려면 constants.py의 토큰 사용량 및 초기 가설 개수와 같은 기타 파라미터를 조정해야 할 수도 있습니다.
import asyncio
from open_coscientist import HypothesisGenerator
async def main():
...
examples/run.py를 참조하세요.
내장된 Console Reporter가 포함된 전체 예제 CLI 스크립트는 examples/run.py를 참조하세요. 주의사항, 가설 생성(hypothesis generation) 과정에 문헌 검토(literature review) 내용이 포함되려면 반드시 문헌 검토 MCP 서버를 실행해야 합니다.
멀티 에이전트 워크플로우 (Multi-agent workflow): Supervisor, Generator, Reviewer, Ranker, Tournament Judge, Meta-Reviewer, Evolution, Proximity Deduplication
풍부한 가설 출력 (Rich hypothesis output): 각 가설은 text, explanation (일반인용 요약), 구조화된 [C*] 인용이 포함된 literature_grounding, 그리고 experiment (제안된 검증 설계)를 포함합니다.
문헌 검토 통합 (Literature review integration): 선택 사항인 MCP 서버를 통해 실제로 출판된 연구에 접근할 수 있으며, 구조화된 인용은 전체 소스 메타데이터로 연결됩니다.
도메인 불가지론적 커스텀 (Domain-agnostic customization): YAML 기반 설정을 통해 코드 변경 없이도 사용자 정의 MCP 서버, 문헌 소스, 도메인별 프롬프트 가이드를 가져올 수 있습니다 (Domain Customization 섹션 참조).
실시간 스트리밍 (Real-time streaming): 결과가 생성되는 즉시 스트리밍합니다.
지능형 캐싱 (Intelligent caching): LLM 응답 캐싱을 통해 더 빠른 개발 반복(iteration)이 가능합니다.
Elo 기반 토너먼트 (Elo-based tournament): Elo 레이팅을 활용한 가설 간의 쌍체 비교(pairwise comparison)를 수행합니다.
반복적 정교화 (Iterative refinement): 다양성을 유지하면서 상위 가설들을 진화시킵니다.
생성 후 강화 (Post-generation enrichments): 구성 가능한 도구 호출(tool calls)을 통해 각 가설에 도메인 특화 데이터(예: 관련 CVE, 지식 그래프 문구)를 부착합니다.
워크플로우는 MCP 가용성을 자동으로 감지하고 그에 따라 조정합니다.
기능 참조용 MCP 서버는 mcp_server/ 디렉토리에 포함되어 있습니다.
Architecture (아키텍처)
- 워크플로우 다이어그램, 노드 설명, 상태 관리 (State Management)
MCP Integration (MCP 통합) - 문헌 검토 (Literature Review) 설정 및 구성
Generation Modes (생성 모드) - 세 가지 생성 (Generate) 노드 모드 설명 및 이를 활성화하기 위한 파라미터
Configuration (구성) - 모든 파라미터, 캐싱 (Caching), 성능 튜닝
Domain Customization (도메인 맞춤화) - YAML 설정을 통한 새로운 도메인 (사이버 보안, 생물 정보학 등) 적응
Literature Review Tools Configuration (문헌 검토 도구 구성) - 커스텀 MCP 서버 및 다중 소스 문헌 검토를 위한 YAML 스키마 (Schema) 참조
Logging (로깅) - 파일 로깅, 로그 로테이션 (Rotating logs), 로그 레벨
Development (개발) - 기여하기, 노드 구조, 테스트
| 노드 (Node) | 목적 (Purpose) | 주요 작업 (Key Operations) |
|---|---|---|
| Supervisor (감독자) | 연구 계획 (Research planning) | 연구 목표 분석, 핵심 영역 식별, 워크플로우 전략 수립 |
| Literature Review (문헌 검토, 권장) | 학술 문헌 검색 (Academic literature search) | 데이터베이스 (PubMed, Google Scholar) 쿼리, 실제 출판된 논문 검색 및 분석 (MCP 서버 필요; 없을 경우 LLM의 잠재적 지식만 사용) |
| Generate (생성) | 가설 생성 (Hypothesis creation) | 다양성을 위해 높은 온도를 가진 LLM을 사용하여 N개의 초기 가설 생성 |
| Reflection (성찰, 권장) | 문헌 비교 (Literature comparison) | 문헌 검토 결과와 가설을 비교 분석하여 새로운 기여도를 식별하고 실제 연구와 대조하여 검증 (문헌 검토 필요) |
| Review (검토) | 적응형 평가 (Adaptive evaluation) | 적응형 전략(5개 이하인 경우 비교 배치, 5개 초과인 경우 병렬 처리)을 사용하여 6가지 기준에 따라 가설 검토 |
| Rank (순위 지정) | 종합 순위 (Holistic ranking) | LLM이 종합 점수와 검토 피드백을 고려하여 모든 가설의 순위를 매김 |
| Tournament (토너먼트) | 쌍별 비교 (Pairwise comparison) | 무작위 쌍별 매치업을 통해 Elo 토너먼트를 실행하고 레이팅 (Rating) 업데이트 |
| Meta-Review (메타 검토) | 통찰력 합성 (Insight synthesis) | 모든 검토 내용을 분석하여 공통적인 강점, 약점 및 전략적 방향 식별 |
| Evolve (진화) | 가설 정교화 (Hypothesis refinement) | 다양성을 유지하기 위해 문맥 인지 (Context awareness)를 활용하여 상위 k개의 가설을 정교화 |
| Proximity (근접성) | 중복 제거 (Deduplication) | 유사한 가설들을 클러스터링하고 유사도가 높은 중복 항목 제거 |
번들로 제공되는 MCP 서버는 PubMed 참조 구현(reference implementation)을 제공합니다. 이 시스템은 도메인에 구애받지 않습니다(domain-agnostic). YAML 설정 파일을 통해 어떤 MCP 서버, 문헌 소스, 프롬프트 가이드라인을 사용할지 제어할 수 있으며, 코드 변경은 필요하지 않습니다. 생물 의학(INDRA + PubMed), 사이버 보안(arXiv + Google Scholar + NVD), 그리고 다중 소스 학술 연구를 위한 예시 설정이 포함되어 있습니다.
문헌 검토(literature review)를 설정하려면 MCP Integration을, 연구 분야에 맞게 조정하려면 Domain Customization을 참조하십시오.
Open Coscientist는 Google Research의 AI Co-Scientist에서 영감을 받은 소스 공개(source-available) 구현체입니다. Google의 원본 시스템은 폐쇄형 소스(closed-source)이지만, 이 프로젝트는 그들의 발표된 연구 논문에 기술된 멀티 에이전트 가설 생성 아키텍처(multi-agent hypothesis generation architecture)를 채택하였습니다.
참고 문헌:
블로그: Accelerating scientific breakthroughs with an AI Co-Scientist
논문: Towards an AI co-scientist
이 버전은 LangGraph 기반의 구현을 제공합니다. 병렬 실행(parallel execution), 스트리밍 지원(streaming support) 및 캐싱(caching)을 위한 몇 가지 최적화가 포함되어 있습니다.
이 작업을 사용하신다면, 본 구현체와 Google Research의 원본 논문을 모두 인용해 주시기 바랍니다:
@article{coscientist2025,
title={Towards an AI co-scientist},
author={Google Research Team},
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기