본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 28. 19:41

pi 코딩 에이전트를 위한 반복적 자기 개선 (pi-reflect)

요약

pi 코딩 에이전트의 성능을 높이기 위해 목표와 실제 행동 사이의 격차를 줄이는 반복적 자기 개선(pi-reflect) 기술을 소개합니다. 에이전트의 행동 규칙, 기억, 성격 등을 정의된 목표에 맞춰 정밀하게 편집하고 Git을 통해 버전 관리합니다.

핵심 포인트

  • 목표 정의와 증거 수집을 통한 반복적 자기 개선 프로세스 제공
  • AGENTS.md, MEMORY.md 등 마크다운 파일을 통한 에이전트 정교화
  • Git 자동 커밋을 통한 편집 이력 및 진화 과정 추적 가능
  • 파일, 셸 명령, URL 등 다양한 소스로부터 증거 수집 지원

pi-reflect

pi 코딩 에이전트 (coding agents)를 위한 반복적 자기 개선 (Iterative self-improvement).

에이전트가 어떻게 행동해야 하는지, 무엇을 기억해야 하는지, 어떤 존재여야 하는지와 같은 목표 (target)를 정의하면, reflect가 이를 향해 반복적으로 개선해 나갑니다. 각 실행 단계에서는 최근 대화 내용과 참조 자료를 읽고, 에이전트의 실제 행동을 목표와 비교하여, 그 격차를 줄이기 위한 정밀한 편집 (surgical edits)을 수행합니다.

목표 정의 → reflect가 증거 읽기 → 파일 편집 → 에이전트가 목표에 근접.

모든 마크다운 (markdown) 파일에서 작동합니다: 행동 규칙 (AGENTS.md), 장기 기억 (MEMORY.md), 성격 (SOUL.md), 또는 그 외 무엇이든 가능합니다.

pi install git:github.com/jo-inc/pi-reflect

LLM API 키가 설정된 pi가 필요합니다. 각 실행 시 한 번의 LLM 호출이 발생합니다 (Sonnet 사용 시 약 $0.05–0.15).

/reflect ./AGENTS.md # 파일에 대해 reflection 실행
/reflect # 저장된 기본 목표 사용
/reflect-config # 설정된 목표 표시
...

첫 실행 시 목표를 저장할지 묻습니다. 그 이후에는 단순히 /reflect만 입력하면 됩니다.

  • 증거 수집: 대화 기록 (transcripts), 일일 로그, 참조 파일 등 다양한 소스의 조합으로부터 증거를 수집합니다.
  • LLM에 증거 + 목표 파일 + 원하는 최종 상태를 설명하는 프롬프트 (prompt)를 전송합니다.
  • LLM은 실제 행동과 목표 사이의 격차를 식별하고, 정밀한 편집을 제안합니다.
  • 편집은 안전 점검과 함께 적용됩니다: 원본을 백업하고, 모호한 일치는 건너뛰며, 의심스러울 정도로 큰 삭제는 거부하고, 목표가 리포지토리 (repo)에 있는 경우 git에 자동으로 커밋 (auto-commit) 합니다.

모든 편집은 버전 관리됩니다 — reflect는 변경 사항을 적용한 후 git에 자동으로 커밋하므로, 각 파일이 어떻게 진화했는지 전체 이력을 확인할 수 있습니다. git log AGENTS.md를 통해 에이전트가 흡수한 모든 교정 사항을 볼 수 있으며, git diff HEAD~5 SOUL.md를 통해 지난 5번의 실행 동안 성격이 어떻게 날카로워졌는지 확인할 수 있습니다.

시간이 지남에 따라 파일은 수렴합니다: 교정 사항은 규칙으로 흡수되고, 기억은 지속적인 사실로 축적되며, 성격은 일반적인 형태에서 구체적인 형태로 정교해집니다. 에이전트는 더 이상 동일한 교정을 필요로 하지 않게 됩니다.

각 목표에는 두 가지 입력 채널이 있습니다 — transcripts (발생한 일) 및 context (문맥)

(참조 자료 (reference material)). 두 채널 모두 소스 배열을 허용합니다:

유형설명예시
files날짜 및 크기에 의해 가지치기(pruned)된 Glob 패턴 또는 파일 경로일일 로그, 노트, 기타 마크다운 파일
command표준 출력(stdout)이 캡처되는 셸 명령 (Shell command)API 호출, 데이터베이스 쿼리, 커스텀 스크립트
url응답 본문(response body)이 캡처되는 HTTP GETREST 엔드포인트, 상태 확인 (health checks)

모든 소스는 {lookbackDays} 보간(interpolation) 및 소스별 maxBytes 제한을 지원합니다. 파일 소스는 (파일명의 날짜를 기준으로 일치하는) lookbackDays 윈도우 내의 파일만 포함하도록 자동으로 가지치기(pruned)됩니다.

{
"targets": [{
"path": "/data/me/MEMORY.md",
...

로컬 pi 세션의 일반적인 경우에는 transcriptSource만 사용하면 됩니다:

{ "transcriptSource": { "type": "pi-sessions" } }

각 타겟에는 reflect가 무엇을 최적화할지를 알려주는 선택적 prompt 필드가 있습니다. 동일한 엔진이라도 프롬프트에 따라 매우 다른 동작을 수행합니다:

타겟프롬프트 목표reflect의 동작
AGENTS.md행동적 정확성 (Behavioral correctness)위반된 규칙을 강화하고, 반복되는 패턴에 대한 규칙을 추가함
MEMORY.md사실적 완전성 (Factual completeness)대화에서 지속적인 사실을 추출하고, 오래된 항목을 제거함
SOUL.md정체성 수렴 (Identity convergence)상호작용 패턴을 기반으로 일반적인 성격에서 구체적인 성격으로 다듬음

프롬프트는 {fileName}, {targetContent}, {transcripts}, {context}를 플레이스홀더(placeholder)로 사용합니다:

{
"prompt": "당신은 AI 정체성 파일({fileName})을 진화시키고 있습니다...\n\n## 현재 상태\n{targetContent}\n\n## 대화 내용\n{transcripts}\n\n## 참조 자료\n{context}"
}

프롬프트가 설정되지 않으면, 기본적으로 행동 교정(원래의 사용 사례)을 목표로 합니다.

/reflect-stats는 reflection이 제대로 작동하고 있는지 추적합니다:

  • 교정률 (Correction Rate)corrections / sessions

실행당 수치를 계산하여 시간에 따라 그래프로 나타냅니다. 추세가 하향 곡선을 그리면 에이전트가 수렴(converging)하고 있음을 의미합니다.

  • 규칙 재발 (Rule Recidivism)— 어떤 섹션이 반복적으로 수정되는지를 나타냅니다. 3회 이상 강화된 규칙은 제대로 정착되지 않은 것입니다. 한 번 수정된 후 다시 수정되지 않은 섹션은 해결된 것입니다.

/reflect-backfill

과거 세션으로부터 통계 데이터를 부트스트랩(bootstraps)합니다 (드라이 런(dry-run) 방식으로, 파일 수정은 수행하지 않음).

~/.pi/agent/reflect.json

:

{
"targets": [{
"path": "/path/to/AGENTS.md",
...
필드 (Field)기본값 (Default)설명 (Description)
path(필수)반복 개선할 대상 마크다운 (markdown) 파일
model(필수)사용할 LLM (예: anthropic/claude-sonnet-4-5)
lookbackDays1증거를 찾기 위해 거슬러 올라갈 기간
maxSessionBytes614400실행당 최대 트랜스크립트 (transcript) 바이트 수
transcripts트랜스크립트 데이터를 위한 ContextSource 배열
transcriptSourcepi-sessions기존의 단일 소스 (여러 개를 사용하려면 transcripts 사용)
context참조 자료를 위한 ContextSource 배열
prompt(기본값){fileName}, {targetContent}, {transcripts}, {context}를 포함하는 커스텀 프롬프트
backupDir~/.pi/agent/reflect-backups수정 전 백업을 저장할 위치

pi-mem— pi 에이전트를 위한 메모리 (Memory) 시스템입니다. 컨텍스트 주입 (context injection) 및 키워드 검색을 통해 MEMORY.md, 일일 로그, 노트, 스크래치패드 (scratchpad)를 관리합니다. pi-reflect와 자연스럽게 결합됩니다.

pi -p --no-session "/reflect /path/to/AGENTS.md"

cron, launchd 또는 모든 스케줄러와 함께 작동합니다. 당신의 pi에게 설정을 요청하세요 — 에이전트를 위한 설정 가이드가 있습니다.

git clone https://github.com/jo-inc/pi-reflect && cd pi-reflect
npm install && npm test # 137개 테스트
pi -e ./extensions/index.ts # 설치 없이 로컬에서 테스트

MIT

| 패키지 (Package) | 설명 (Description) |
|---|---||
| pi-mem | 코딩 에이전트를 위한 지속 가능한 마크다운 메모리 |
| ... || pi-skill-posthog | pi 에이전트를 위한 PostHog 분석 스킬 |

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0