davebcn87/pi-autoresearch

Autonomous experiment loop extension for pi

pi‑autoresearch – pi 코드 작성 에이전트를 위한 자율 최적화 루프

무엇인가요 – 오픈소스 터미널 기반 AI 코드 보조 도구 pi (https://pi.dev)용 확장 기능(및 몇 가지 "스킬"). pi가 autoresearch 사이클을 자동으로 실행할 수 있게 해줍니다: 변경 사항 제안 → 벤치마크 실행 → 유지할지 되돌릴지 결정 → 정지 조건이 충족될 때까지 반복.

왜 중요한가요autoresearch의 핵심 아이디어(원래 안드레이 카르파티가 시연함)는 LLM이 자기 개선형 엔지니어처럼 행동하게 하는 것입니다. pi‑autoresearch는 이 워크플로우를 재사용 가능하고 도메인에 의존하지 않는 도구 체인으로 패키징하여, 명령줄 메트릭으로 측정 가능한 모든 것을 최적화할 수 있게 합니다 – 테스트 속도, 번들 크기, 빌드 시간, 라이트하우스 점수, 심지어 LLM 학습 손실까지도.


주요 구성 요소

구성 요소 역할
확장 기능 (pi install npm:pi-autoresearch로 설치) 세 가지 저수준 도구(init_experiment, run_experiment, log_experiment)와 에디터 위에 위치하는 실시간 대시보드 위젯을 제공합니다.
스킬 autoresearch-create 인터랙티브 워즈드로 최적화 목표를 묻거나 추론하고, Git 브랜치를 생성하며, 세션 파일(.auto/prompt.md, .auto/measure.sh 등)을 작성하고 루프를 시작합니다.
스킬 autoresearch-finalize 루프 종료 후 로그를 읽어 성공한 실행을 독립적이고 검토 가능한 Git 브랜치로 그룹화합니다.
스킬 autoresearch-hooks (옵션) 각 반복 전후에 실행되는 before.sh / after.sh 스크립트를 추가할 수 있습니다. JSON 컨텍스트를 입력받고 에이전트에게 자유 형식 메시지를 반환할 수 있습니다.

세션의 동작 방식

  1. 생성/skill:autoresearch-create를 실행합니다. pi가 목표 (예: "테스트 실행 시간 단축"), 측정 명령어, 메트릭 (초, KB, 점수 등)를 묻습니다. 다음 파일을 생성합니다:
    • .auto/prompt.md – 실험의 동적 설명.
    • .auto/measure.sh – 명령어를 실행하고 METRIC name=number 형식의 줄을 출력하는 스크립트.
    • (옵션) .auto/checks.sh – 각 성공적인 벤치마크 후에 실행되는 정확성 검사.
  2. 루프 – 에이전트는 반복적으로:
    • 코드를 편집하고,
    • run_experimentmeasure.sh를 실행하고 월클록 시간을 기록하며,
    • log_experiment.auto/log.jsonl에 JSON 라인을 추가하고 자동 커밋, 위젯 업데이트.
    • 메트릭과 선택적 신뢰도 점수를 기반으로 유지(커밋 유지) 또는 되돌리기(이전 상태로 리셋)를 결정합니다.
    • 루프는 수동으로 중단되거나 maxIterations 제한에 도달할 때까지 자동으로 실행됩니다.
  3. 모니터링 – 내장 위젯, /autoresearch dashboard (전체 화면 터미널 뷰), 또는 /autoresearch export (실시간 브라우저 대시보드)를 사용하여 실행 기록 테이블, 신뢰도 점수, 현재 실험의 스피너를 확인할 수 있습니다.
  4. 최종화 – 만족하면 /skill:autoresearch-finalize를 실행합니다. pi는 유지된 실행을 별도의 브랜치로 그룹화하여 각각이 단일 논리적 변경을 포함하게 하며, 코드 리뷰에 적합한 상태로 만듭니다.

신뢰도 점수 (옵션)

세 번의 실행 후 확장 기능은 신뢰도 값 = |best_improvement| / MAD (메트릭 값의 중앙 절대 편차)를 계산합니다. 이는 녹색(≥ 2×, 실제 개선 가능성 높음), 노란색(1–2×, 경계), 빨간색(< 1×, 노이즈 내)으로 표시됩니다. 이 점수는 참고용이며, 변경 사항을 유지할지 여부는 여전히 에이전트가 결정합니다.


확장성

  • 도메인에 의존하지 않는 코어 – 확장 기능은 명령어 실행, 결과 로깅, Git 관리 방법만 알고 있습니다. 모든 도메인 지식은 당신이 작성(또는 제공된 autoresearch-create 워즈드 사용)하는 스킬에 있습니다.
  • 후크.auto/hooks/에 스크립트를 넣어 외부 데이터 가져오기, 데스크톱 알림 전송, 아이디어 회전 등을 할 수 있습니다. 후크는 stdin에서 JSON 페이로드를 받고, pi가 방향성 신호로 처리할 수 있는 짧은 메시지를 반환할 수 있습니다.
  • 구성.auto/config.json에서 workingDir (파일 읽기/쓰기 위치를 오버라이드)와 maxIterations (실험의 하드한계)를 설정할 수 있습니다.

설치 및 빠른 시작

# pi 세션에서
pi install npm:pi-autoresearch   # 확장 기능 + 스킬 다운로드
# 이후 새로운 루프 시작
/skill:autoresearch-create

수동으로 설치하려면 extensions/skills/ 폴더를 ~/.pi/agent/에 복사하고 pi를 다시 로드하면 됩니다.


안전성 및 비용 주의사항

  • 확장 기능은 임의의 쉘 스크립트(measure.sh, checks.sh, 후크)를 실행하고 Git 커밋을 수행합니다 – 전용 브랜치나 워크트리에서 실행하세요.
  • 루프가 각 반복마다 LLM을 호출하므로 토큰 사용량이 급격히 증가할 수 있습니다. 제공자 API 키 제한을 통해 비용을 제어하거나 maxIterations를 설정하세요.

라이선스

MIT – 무료로 사용, 수정, 재배포 가능합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트