본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 06. 15. 10:31

SIA: Harness 및 가중치 업데이트를 통한 자기 개선 AI (Self Improving AI with Harness & Weight

요약

SIA는 모델 에이전트가 태스크 특화 에이전트의 harness와 가중치를 모두 업데이트하며 성능을 자율적으로 향상시키는 자기 개선 프레임워크입니다. Meta, Target, Feedback 에이전트 간의 제어 흐름을 통해 LawBench, GPU 커널 최적화 등 다양한 분야에서 획기적인 성능 향상을 입증했습니다.

핵심 포인트

  • Meta, Target, Feedback 에이전트의 협업을 통한 자기 개선 루프 구현
  • LawBench에서 56.6%, GPU 커널 실행 시간 91.9% 단축 등 탁월한 성능
  • 모델 가중치와 태스크 harness를 동시에 업데이트하는 방식 채택
  • OpenAI MLE-Bench Hard 테스트에서 모든 세대 1위 기록

SIA: Harness 및 가중치 업데이트를 통한 자기 개선 AI (Self Improving AI with Harness & Weight Updates) (Hebbar et al., 2026)의 공식 구현체입니다. 이는 언어 모델 에이전트가 태스크 특화 에이전트(task-specific agent)의 harness와 가중치(weights)를 모두 업데이트하는 자기 개선 루프(self-improving loop)입니다. 논문에 따르면 LawBench에서 56.6%의 성능 향상, GPU 커널에서 91.9%의 실행 시간 단축, 그리고 단일 세포 RNA(single-cell RNA) 노이즈 제거(denoising)에서 베이스라인 대비 502%의 개선을 보고했습니다.

SIA는 벤치마크 태스크에서 모든 AI 시스템(모델 / 에이전트)의 성능을 자율적으로 향상시키기 위한 자기 개선 AI (Self Improving AI) 프레임워크입니다.

그냥 사용해보고 싶으신가요? SIA를 로컬에서 실행하는 방법으로 건너뛰세요.

연속적인 세대(generations)에 걸쳐 Meta, Target, Feedback 에이전트 간의 제어 흐름(Control flow).

SIA는 태스크 성능을 지속적으로 향상시키기 위해 함께 작동하는 세 가지 주요 유형의 AI 에이전트를 조정하여 작동합니다:

Meta-Agent: 태스크 설명을 읽고 해당 태스크에 맞춤화된 초기 Target Agent를 생성합니다.
Target / Task Specific Agent: 태스크를 완료하려고 시도하며 자신의 행동과 결과를 기록합니다.
Feedback/Improvement Agent: Target Agent의 성능 로그를 검토하고, 개선 사항을 식별하며, 그에 따라 Target Agent를 업데이트합니다.

이 반복적인 프로세스를 통해 시스템은 과학적 태스크를 해결하는 능력을 자율적으로 정제하고 강화할 수 있습니다.

MLE Bench Results

OpenAI MLE-Bench Hard: 에이전트가 전체 ML 파이프라인을 작성, 실행 및 반복해야 하는 실제 Kaggle ML 경진대회의 집합체입니다. SIA는 테스트된 모든 세대에서 1위를 기록했습니다.

LawBench Results

LawBench: 191개 기소 카테고리에 걸쳐 중국 법원 판결문 설명을 바탕으로 형사 기소를 예측합니다. SIA-W+H는 70.1%의 Top-1 정확도에 도달하여 이전의 SOTA(State-of-the-Art)인 45%를 능가했습니다.

TriMul CUDA Results

AlphaFold-3 TriMul Triton Kernel: Triangle Multiplicative Update을 Triton 커널로 구현 및 최적화하여, H100 지연 시간(latency) 목표를 달성하면서 정확성을 유지합니다. SIA-W+H는 베이스라인 대비 14배의 속도 향상을 달성했습니다.

Denoising Results

scRNA-seq Denoising: 단일 세포 RNA 시퀀싱(single-cell RNA sequencing) 데이터에서 누락된 유전자 발현 값을 추정합니다. SIA-W+H는 0.289 MSE norm을 기록하여 이전의 SOTA인 0.220을 넘어섰습니다.

SIA는 gpqa, lawbench, longcot-chess, spaceship-titanic의 네 가지 내장 작업 (task)을 제공합니다.

실행하려는 LLM에 맞는 에이전트 구현 (agent impl)을 선택하세요.

Claude 에이전트 구현 (Claude Agent SDK, Claude 모델 전용):

python3 -m venv .venv && source .venv/bin/activate
pip install 'sia-agent[claude]'
export ANTHROPIC_API_KEY="..."

OpenHands 에이전트 구현 (다중 제공자 — Gemini, OpenAI, Anthropic 등):

python3 -m venv .venv && source .venv/bin/activate
pip install 'sia-agent[openhands]'
# 사용할 제공자(provider)의 키(key)를 내보내기(export) 하세요:
...

전체 제공자/모델 참조: docs/configuration.md.

CLI에는 두 가지 하위 명령 (sub-command)이 있습니다: sia run (자기 개선 루프) 및 sia web (실행 시각화 도구, 'Visualize runs' 참조).

sia run --task gpqa --max_gen 5 --run_id 1

--task를 네 가지 번들 작업 중 하나로 교체할 수 있습니다. (run 하위 명령 없이 sia --task ...를 사용해도 여전히 작동하며 sia run ...으로 처리됩니다.)

결과물 (Artifacts)은 runs/run_{run_id}/gen_{n}/에 저장됩니다:

target_agent.py — 해당 세대 (generation)의 에이전트
agent_execution.json — 실행 로그 (execution logs)
improvement.md — 차이점 근거 (diff rationale) (gen 2+)

실행이 진행되는 동안 **라이브 대시보드 (live dashboard)**가 http://127.0.0.1:8000에서 자동으로 시작됩니다 (web 추가 패키지 필요; --no-web으로 비활성화 가능).

플래그 (Flag)기본값 (Default)설명 (Description)
--task번들 작업 이름 (--task_dir과 상호 배타적)
--task_dir외부 작업 디렉토리 경로
--max_gen3자기 개선 세대 (self-improvement generations) 횟수
--run_id1고유 실행 식별자 (unique run identifier)
--meta-agent-profiledefault-meta메타/피드백 에이전트 프로필 (.json 파일의 이름 또는 경로)
--target-agent-profiledefault-target타겟 에이전트 프로필 (.json 파일의 이름 또는 경로)
--no-weboff실행 중 라이브 대시보드를 자동으로 시작하지 않음
--web-port8000라이브 대시보드 포트 (--web-host로 바인드 호스트 변경 가능)

모델, 에이전트 구현 (agent impl), 그리고 각 에이전트를 위한 프로바이더 (provider)는 **프로파일 (profile)**로부터 가져옵니다 (아래 참조). 예를 들어, Nebius에서 Kimi-K2.6을 타겟 모델로 평가하려면 다음과 같습니다:

export NEBIUS_API_KEY="..." # 기본 메타 에이전트를 위한 ANTHROPIC_API_KEY 추가 필요
sia run --task gpqa --target-agent-profile kimi-nebius-target --max_gen 5 --run_id 2

전체 에이전트 구현 (agent-impl), 모델, 그리고 API 키 참조: docs/configuration.md. 문제가 발생했나요? docs/troubleshooting.md.

내장된 웹 대시보드는 runs/ 디렉토리 하위의 모든 것을 렌더링합니다:

: 세대별 타겟 에이전트 코드 (구문 강조 적용), 메타/피드백 프롬프트 (meta/feedback prompts), 개선 계획 (improvement plans), 평가 점수 (세대별 정확도 차트 및 도메인별 세부 내역 포함), 실행 궤적 (execution trajectories), 그리고 로그.

sia web # http://127.0.0.1:8000 에서 ./runs 서빙
sia web --runs-dir ./runs --port 8080

또한 sia run과 함께 자동으로 시작되므로 (--no-web으로 비활성화 가능), 생성되는 결과물을 실시간으로 확인할 수 있습니다.

플래그 (Flag)기본값 (Default)설명 (Description)
--runs-dir./runs시각화할 실행 (runs) 디렉토리
--host127.0.0.1바인드 호스트 (Bind host)
--port8000바인드 포트 (Bind port)
--no-browseroff브라우저 창을 자동으로 열지 않음

**프로바이더 (provider)**는 엔드포인트 (endpoint) + 자격 증명 (credentials)이며, **프로파일 (profile)**은 하나의 에이전트 역할을 구성합니다. 메타 에이전트 (meta-agent) 프로파일은 (agent_impl, model, provider)를 묶으며, 타겟 에이전트 (target-agent) 프로파일은 (model, provider, agent_reference)를 묶습니다. 둘 다 JSON 파일입니다. 기본 번들 설정은 sia/defaults/{providers,profiles}/에 위치하며, ./providers/./profiles/ 아래에 사용자 정의 설정을 추가하거나 ($SIA_PROVIDERS_DIR / $SIA_PROFILES_DIR 설정), 코드 변경 없이 사용할 수 있습니다.

mkdir -p providers profiles

// providers/my-endpoint.json — OpenAI 호환 프로바이더
{
"provider_id": "my-endpoint",
...
// profiles/my-target.json — 타겟 에이전트의 모델 + 프로바이더 + 참조
{
"profile_id": "my-target",
...
export MY_ENDPOINT_API_KEY="..."
sia run --task gpqa --target-agent-profile my-target # 이름으로 지정 (./profiles/my-target.json을 찾아냄)
sia run --task gpqa --target-agent-profile ./profiles/my-target.json # 또는 명시적 경로로 지정

agent_reference는 메타 에이전트 (meta-agent)가 시작하는 시드 (seed)이자 피드백 에이전트 (feedback-agent)가 개선하는 대상입니다:

"default"는 태스크 패키지 (task package)에 포함된 참조를 사용하거나, 다음과 같이 직접 제공할 수 있습니다:

{ "source": "./my_agent.py" } (단일 파일) 또는 { "source": "./dir/", "entrypoint": "main.py" } (에이전트가 도구로 읽어들이는 다중 파일 디렉토리).

디렉토리 참조 내의 requirements.txt는 각 세대 (generation)마다 설치됩니다.

메타/피드백 (meta/feedback) 에이전트를 다른 곳에서 실행하려면, 메타 프로필 (meta profile)에 다른 agent_impl (openhands 또는 pydantic-ai)을 부여하고 --meta-agent-profile로 전달하세요. claude 에이전트 구현 (agent impl)은 Anthropic 전용입니다. 전체 스키마 (schema)와 더 많은 예시는 docs/configuration.md를 참조하세요.

아래 레이아웃과 같이 태스크 디렉토리 (task directory)를 준비하고 --task_dir로 해당 디렉토리를 지정하세요:

my-task/
├── data/
│ ├── public/
...

sia run --task_dir ./my-task --max_gen 5 --run_id 1

또는 MLE-Bench 경진대회를 가져올 수 있습니다. SIA는 모든 MLE-Bench 경진대회로부터 태스크 디렉토리를 직접 부트스트랩 (bootstrap)할 수 있습니다. Kaggle API를 통해 데이터셋을 가져오고, public/private 분할을 설정하며, 참조 에이전트 (reference agent) 템플릿을 삽입합니다:

python -m sia.prepare_mlebench_dataset -c "spaceship-titanic"
sia run --task_dir ./tasks/spaceship-titanic --max_gen 5 --run_id 1

두 경로 모두에 대한 전체 단계별 안내는 docs/walkthrough.md를 참조하세요.

매 세대마다 오케스트레이터 (orchestrator)는 타겟 에이전트 (target agent)를 자동으로 채점하고 그 결과를 다음 세대의 피드백 프롬프트 (feedback prompt)에 전달합니다. 이것이 바로 자기 개선 루프 (self-improvement loop)가 최적화하는 신호입니다.

  • 타겟 에이전트는 자신의 출력을 세대 디렉토리 (generation directory)에 작성합니다 (예: gen_1/submission.csv).
  • 오케스트레이터는 태스크의 평가기 (evaluator)를 실행합니다: python evaluate.py --gen-dir gen_1/.
  • evaluate.py

data/private/에 있는 홀드아웃 정답 (ground truth)과 출력을 비교하여 점수를 매기고,

gen_1/results.json (또는 evaluation_results.json)

을 작성합니다.

  • 해당 지표들은 피드백 프롬프트 (feedback prompt)에 주입되어 context.md 및 웹 대시보드(세대별 정확도 차트, 도메인별 세부 내역)에 나타납니다.

기본으로 제공되는 4가지 번들 작업에는 이미 평가기 (evaluator)가 포함되어 있습니다. **사용자 정의 작업 (custom task)**의 경우, evaluate() 함수를 노출하는 evaluate.py 파일을 data/public/에 넣으세요. — 이 파일이 제출 형식 (submission format)을 결정하고, data/private/와 비교하며, 지표 딕셔너리 (metrics dict)를 반환합니다.

전체 실행 전에 단독으로 테스트해 보세요:

python my-task/data/public/evaluate.py --gen-dir runs/run_1/gen_1 # results.json이 작성되어야 합니다

전체 계약 (contract), 반환 형식 규칙 및 전체 예시는 EVALUATION_GUIDE.md를 참조하세요.

  • docs/architecture.md — 디렉토리 레이아웃 (directory layout), 생성 흐름 (generation flow), 프롬프트 커스텀 (prompt customization)
  • docs/walkthrough.md — 상세한 사용자 정의 작업 가이드 (custom-task walkthrough)
  • docs/configuration.md — 에이전트 구현 (agent impls), 모델, API 키, CLI 참조
  • EVALUATION_GUIDE.md — 사용자 정의 작업을 위한 evaluate.py 작성법
  • docs/troubleshooting.md — 일반적인 오류 및 해결 방법

연구에 SIA를 사용하신다면, 다음을 인용해 주세요:

@article{hebbar2026sia,
title = {SIA: Self Improving AI with Harness \& Weight Updates},
author = {Hebbar, Prannay and Manawat, Yogendra and Verboomen, Samuel and Ivanova, Alesia and Palanimalai, Selvam and Bhatia, Kunal and Baskaran, Vignesh},
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0