beita6969/ScienceClaw
Verifiable program-level self-evolution for AI-for-Science agents: Skills and typed Operators grow from replay-verified executions.
ScienceClaw – 과학 연구를 위한 자기 진화형 AI 에이전트
개요 – ScienceClaw는 언어 모델 기반 에이전트가 자신의 검증된 실행으로부터 학습할 수 있도록 하는 오픈소스 프레임워크입니다. 에이전트가 과학 워크플로우를 수정하고 해당 수정 사항이 깨끗한 환경에서 재실행(리플레이) 가능할 때, 시스템은 다음 두 가지를 추출합니다.
- Skill(문제를 해결하기 위해 사용된 고수준 전략)
- Operator(타입이 지정되고 재사용 가능한 실행 가능한 코드 조각) 이 두 가지는 에이전트 프로그램에 대한 버전 관리된 업데이트로 함께 저장됩니다. 이 업데이트는 재현 검사를 통과하고 또한 독립적인 검증 작업에서 성능이 향상된 경우에만 유지됩니다.
🚀 퀵 스타트 (README 참조)
# 클론 후 원클릭 설치 프로그램 실행
git clone https://github.com/beita6969/ScienceClaw.git
cd ScienceClaw
chmod +x setup.sh && ./setup.sh # Node, Python, 가중치 데이터, MCP 서버 등 설치
수동 설치를 선호하는 경우 pnpm/pip와 제공된 CLI 명령어(scienceclaw.cli setup, doctor)를 사용할 수 있습니다. 전체 설치 시 약 19GB의 사전 학습된 가중치 데이터가 다운로드되지만, 이를 건너뛸 수도 있습니다(SCIENCECLAW_SKIP_TOOLS=1).
모델 직접 연결 – 엔진에는 특정 LLM이 포함되어 있지 않습니다. OpenAI 호환 엔드포인트나 로컬 실행 파일을 지정하십시오:
export SCIENCECLAW_API_BASE_URL=<your endpoint>
export SCIENCECLAW_API_KEY=<your key>
export SCIENCECLAW_MODEL=<model name>
설정 파일 packages/scienceclaw/configs/default.yaml을 사용하여 백엔드를 명령줄 프로그램이나 Python 팩토리로 변경할 수 있습니다.
🧠 작동 원리 (고수준)
- 작업 정의 – 작업은 입력, 목표, 일련의 엄격한 과학적 제약 조건(단위, 실현 가능성, 재현성 등) 및 검증 프로토콜을 제공합니다.
- 타입 지정 워크플로우 그래프 – 에이전트는 각 노드가 도구 또는 코드 조각이고 각 에지가 스키마
(type, shape, unit, provenance)를 가지는 방향성 그래프를 구축합니다. 노드에는 핑거프린트가 부여되므로 편집 후에는 영향을 받는 하위 그래프만 재실행됩니다. - 리플레이 게이트를 통한 검증 – 후보 수정 후, 전체 그래프가 깨끗한 환경에서 재실행됩니다. 재현이 성공하고 결과가 모든 제약 조건을 충족하면 해당 수정은 증거가 됩니다.
- Skill-Operator 추출 – 편집 내용은 다음과 같이 분할됩니다:
- Skill 패치 – 고수준 계획 변경(예: "데이터 정리 단계 추가").
- Operator – 추가 또는 수정된 구체적인 실행 가능 구성 요소. 각각 명시적인 입출력 계약을 가집니다.
- 게이트 – 후보는 다음 경우에만 유지됩니다:
- 소스 재현이 수정을 올바르게 재현하고, 또한 새로운 구성 요소가 실제로 사용되는 경우
- 독립적인 검증 작업에서 예산 내에 엄격한 개선이 확인되는 경우
- 노이즈 가드(≥2회 개선, ≤1회 회귀 검증 실행)가 충족되는 경우 검사에 실패하면 기존 프로그램은 변경되지 않습니다.
- 버전 관리 – 승인된 업데이트는 에이전트 프로그램의 새로운 스냅샷이 됩니다. 스냅샷은 CLI를 통해 승격, 검사 또는 롤백할 수 있습니다.
📊 논문에서 보고된 결과
- 23개 분야(자연과학 및 사회과학)에서 각각 64개의 분포 내(IID) 및 64개의 분포 외(OOD) 인스턴스로 평가.
- 고정된 베이스라인 에이전트 대비 평균 OOD 이득: +16.45%(범위 +11.57% ~ +23.34%).
- 7회의 진화 라운드 후, OOD 매크로 성공률이 **77.72%**에서 **91.30%**로 상승(+13.59pp).
- 엄격한 제약 조건 통과율: 인스턴스의 98.23%.
- 승격 선택성: 161개의 후보 중 70개(43.5%)가 승인됨. 게이트는 선택적이지만 꾸준한 개선을 가능하게 함.
- 절제 연구(Ablation study)를 통해 연결된 Skill-Operator 메커니즘과 리플레이 검증 게이트가 성능 향상의 주요 요인임을 확인.
🔌 OpenClaw 게이트웨이에서 ScienceClaw 사용하기
~/.openclaw/openclaw.json에서 플러그인을 활성화하십시오. 4개의 새로운 도구를 사용할 수 있습니다:
| 도구 | 작업 |
|---|---|
scienceclaw_canvas |
open, act, render, replay, finish, status, list |
scienceclaw_tools |
search, show, status, weights, setup |
scienceclaw_program |
summary, skills, operators, show, history, rollback |
scienceclaw_evolve |
val_add, val_list, val_remove, propose, gate, run, status, candidates, show |
일반적인 워크플로우(CLI 예시):
# 1. 작업 선언
scienceclaw_canvas open '{"objective":"predict temperature","inputs":{...},"constraints":{...}}'
# 2. 에이전트가 워크플로우를 구축/수정하도록 함
scienceclaw_canvas act # 라운드당 1회 편집, 피드백은 타입 지정됨
# 3. 결과 검증
scienceclaw_canvas replay
scienceclaw_canvas finish # 검증된 결과물 반환
# 4. 진화 후보 제안
scienceclaw_evolve val_add <validation-task>
scienceclaw_evolve propose # Skill+Operator 추출
scienceclaw_evolve gate # 리플레이 + 검증 게이트 실행
# 5. 마음에 들면 승격
scienceclaw_cli live promote <candidate-id>
프로그래밍 제어를 위한 JSON-RPC 서버(python -m scienceclaw.rpc)도 제공됩니다.
🛡️ 안전성 및 거버넌스
- 실행 가능한 노드는 정적 스캔 및 런타임 감사 가드가 포함된 샌드박스 컨테이너 내에서 실행됩니다.
- 재현 증거, 검증을 통한 개선, 예산 준수 없이는 업데이트가 유지되지 않습니다.
- 모든 승격은 수동으로 버전 관리되며, 이전 스냅샷으로 언제든지 롤백할 수 있습니다.
📦 저장소 구성
packages/scienceclaw/– 핵심 Python 라이브러리, CLI 및 RPC 서버.skills/– 300개 이상의 사전 작성된 기술. 초기 시드에는 12개의 범용 기술과 분야별 기술(scienceclaw-benchmark-for30…for52)이 포함됩니다.extensions/scienceclaw/– OpenClaw 게이트웨이 통합.- 벤치마크 데이터는 Hugging Face(
scienceclaw-eval)에서 별도로 호스팅됩니다. - 설계 세부 정보는
packages/scienceclaw/docs/DESIGN.md및 첨부 논문(arXiv 2610.08691)에 기재되어 있습니다.
요약
ScienceClaw는 LLM 기반 과학 에이전트가 재현 검증된 수정 사항을 재사용 가능한 타입 지정 구성 요소로 변환하여 지속적으로 개선할 수 있도록 하는 실제 연구급 시스템입니다. 완전한 CLI, 게이트웨이 플러그인, 수십 개의 과학 분야를 다루는 벤치마크 제품군을 제공하며, 기반 언어 모델을 변경하지 않고도 일관된 분포 외(OOD) 성능 향상을 보고합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트