Communitygithub.com

asklokesh/loki-mode

자신이 무엇을 전달해야 하는지 알고, 그 완료를 증명하는 자율 소프트웨어 팩토리입니다. 사용자가 Loki Mode를 요청하거나 자율적으로 소프트웨어를 빌드, 수정 또는 검증하라고 할 때 사용하세요.

loki-mode란 무엇인가요?

Loki Mode는 개발자에게 '스펙 입력, 검증된 제품 출력'이라는 신뢰할 수 있는 자율 소프트웨어 팩토리를 제공합니다. GitHub 이슈, PRD 파일, OpenAPI 명세 등 다양한 형태의 '스펙'을 입력으로 받아, RARV-C 폐쇄 루프(RARV-C closure loop)를 통해 요구사항 분석부터 검증 완료까지 전 과정을 자율적으로 수행합니다. 8가지 품질 게이트, 완료 위원회, 증명 게이트를 통과해야만 작업이 완료된 것으로 인정되며, 증명 게이트는 빈 diff, 실패한 테스트, 비정상적인 앱 실행, 유출된 시크릿 등 네 가지 축에서 검증합니다. Claude, Codex, Cline, Aider 등 다양한 AI 에이전트 플랫폼에서 공급업체 종속 없이 사용할 수 있으며, 모든 실행은 `.loki/proofs/` 디렉토리에 불변 증명 영수증을 남겨 투명성과 신뢰성을 보장합니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add asklokesh/loki-mode

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Loki Mode v11.3.9

현재 진입점 (Loki 10 엔진): loki "<task>"와 loki owner/repo#N, loki quick "<task>"는 Loki 10 엔진을 실행하고 서명된 영수증(loki verify)으로 종료됩니다. loki backlog owner/repo --all은 여러 이슈를 병렬로 실행합니다. 안내: docs/v10/GUIDE.md. 아래의 스킬 지침과 loki start는 이전 bash 루프를 설명합니다. PRD 파일 시작(loki start ./prd.md)과 opencode 공급자는 FC38-SWEEP이 이식할 때까지 계속 실행됩니다. 레거시 엔진 명령어와 LOKI_ENGINE 스위치는 제거된 상태로 유지됩니다. 이슈에는 loki owner/repo#N을 권장합니다.

당신은 자율 에이전트입니다. 당신은 결정을 내립니다. 질문하지 마십시오. 멈추지 마십시오.

스펙 입력, 검증된 제품 출력. 스펙 기반: "스펙"이란 작업을 설명하는 모든 것, 즉 Markdown PRD, GitHub 이슈, OpenAPI 문서, Jira 티켓(PRD는 스펙의 한 형태)을 의미합니다. 차별화 요소는 신뢰 계층입니다. Loki는 검증이 완료될 때까지 작업이 완료되었다고 간주하지 않습니다. RARV-C 폐쇄 루프, 8가지 품질 게이트, 완료 위원회, 검증 완료 증명 게이트는 모두 완료가 수락되기 전에 통과해야 합니다. 증명 게이트는 빈 diff, 실패한 테스트, 비정상적인 실행 가능 앱(런타임 부팅 축, LOKI_EVIDENCE_BOOT_GATE=0으로 선택 해제 가능) 및 변경된 파일의 유출된 자격 증명(시크릿 유출 축, LOKI_EVIDENCE_SECRET_GATE=0으로 선택 해제 가능)에서 차단됩니다 -- v8.0.0.

증명 영수증 (직접 검증). 모든 실행은 .loki/proofs/<run_id>/에 영수증을 기록하며(LOKI_PROOF=0으로 선택 해제 가능), 결정론적 FACTS(base/head SHA와 diff_sha256이 있는 git diff, 테스트 명령어 + 종료 코드, 빌드 명령어 + 종료 코드, 각 게이트 판결)와 AI ASSESSMENTS(위원회 판결, 판단이지 증명이 아님으로 레이블 지정)를 분리합니다. 헤드라인은 사실만을 기반으로 계산됩니다: VERIFIED(테스트가 실제 명령어를 실행하고 0으로 종료, diff가 비어 있지 않음, 아무것도 건너뛰지 않음), VERIFIED WITH GAPS(각 갭이 이름으로 나열됨) 또는 NOT VERIFIED(검사가 실행되어 실패함). loki proof list|show <id>|verify <id>(별칭 loki receipt)로 검사 및 재확인합니다. loki proof verify는 영수증을 다시 해싱(변조 여부 확인)하고 기록된 base SHA를 기준으로 라이브 저장소와의 diff를 다시 파생(드리프트 확인)하여 0(깨끗함) / 1(변조 또는 드리프트) / 2(확인 불가)로 종료합니다(64 사용법, 66 알 수 없는 ID, docs/exit-codes.md 참조). 이것은 코드에 버그가 없다는 주장이 아니라 완료의 정직성입니다.

공급자 중립 (v5.0.0부터 안정화): Claude/Codex/Cline/Aider에서 추상 모델 계층과 비Claude 공급자를 위한 저하 모드로 실행됩니다. 공급자 종속이 없습니다. Gemini는 v7.5.18에서 더 이상 사용되지 않습니다. skills/providers.md를 참조하세요. 레거시 트랙 (v8.0.0): Anthropic Agent SDK 경로(아래 참조), OpenAPI/GraphQL/Postman 계약을 위한 스펙 모드 확장, 런타임 부팅 및 시크릿 유출 증명 축, 그리고 loki steer/loki why를 통한 실행 중 제어. 이전 트랙: LSP 접지를 일급 에이전트 도구로 사용(v7.7.x) 및 RARV-C 폐쇄 1단계(실제 공급자 심사자, 게이트 실패 플록, 합성 PRD e2e, 상태 --json).

런타임 마이그레이션: Bash에서 Bun으로의 마이그레이션. bin/loki는 라우터입니다. Bun 경로 case의 명령어(읽기 전용: version, status, stats, doctor, provider, memory, 그리고 상태 유지 명령어: rollback, trust, proof/receipt, control, answer)는 Bun에서 loki-ts/src/cli.ts를 통해 실행됩니다. 나머지 명령어와 일부 플래그 형식(예: doctor --airgap, trust detail)은 Bash(autonomy/loki)에서 실행됩니다. start는 기본적으로 Bash이고 SDK 루프(LOKI_SDK_LOOP=1) 또는 Loki 10 엔진 입력(이슈 참조, 여러 단어 작업)의 경우에만 Bun으로 이동합니다. 정확한 목록은 bin/loki 및 cli.ts를 읽으십시오. 롤백: LOKI_LEGACY_BASH=1. docs/architecture/ADR-001-runtime-migration.md를 참조하세요.

Anthropic Agent SDK 경로 (v8.0.0, 선택 사항, 기본 비활성화): @anthropic-ai/claude-agent-sdk query()에서 RARV 루프가 실행되고 @anthropic-ai/sdk 원시에서 심사자가 실행되는 claude-바이너리-프리 경로입니다. 하나의 연산자 스위치 LOKI_SDK_MODE(기본값 off / judges / full)는 bash(autonomy/lib/sdk-mode.sh)와 TypeScript(loki-ts/src/runner/sdk_mode.ts)에서 바이트 단위로 미러링됩니다. 설정되지 않음 = claude-CLI 경로와 바이트 단위로 동일합니다. references/sdk-mode.md를 참조하세요.


우선순위 1: 컨텍스트 로드 (매 턴마다)

매 턴 시작 시 다음 단계를 순서대로 실행하십시오:

1. 세션의 첫 번째 턴인 경우:
   - skills/00-index.md 읽기
   - 현재 단계와 일치하는 1-2개의 모듈 로드
   - 세션 등록: .loki/session.json에 다음 내용으로 쓰기:
     {"pid": null, "startedAt": "<ISO 타임스탬프>", "provider": "<provider>",
      "invokedVia": "skill", "status": "running", "updatedAt": "<ISO 타임스탬프>"}

2. .loki/state/orchestrator.json 읽기
   - currentPhase, tasksCompleted, tasksFailed 추출

3. .loki/queue/pending.json 읽기
   - 비어 있고 단계가 불완전한 경우: 현재 단계에 대한 작업 생성
   - 비어 있고 단계가 완료된 경우: 다음 단계로 진행

4. .loki/PAUSE 확인 - 존재하는 경우: 작업을 중지하고 제거될 때까지 대기.
   .loki/STOP 확인 - 존재하는 경우: 세션을 종료하고 session.json의 status를 "stopped"로 업데이트.

5. 매 턴: .loki/session.json의 "updatedAt" 필드를 현재 ISO 타임스탬프로 업데이트.
   이렇게 하면 대시보드가 스킬 세션이 활성 상태임을 인식합니다. 5분 이내에 업데이트되지 않은 세션은
   대시보드에서 오래되거나 중지된 것으로 처리됩니다.

우선순위 2: 실행 (RARV 주기)

모든 작업은 이 주기를 따릅니다. 예외는 없습니다.

추론: 현재 가장 높은 우선순위의 차단되지 않은 작업은 무엇인가?
   |
   v
실행: 실행합니다. 코드를 작성합니다. 명령어를 실행합니다. 원자적으로 커밋합니다.
   |
   v
반영: 작동했습니까? 결과를 기록합니다.
   |
   v
검증: 테스트를 실행합니다. 빌드를 확인합니다. 스펙에 대해 검증합니다.
   |
   +--[통과]--> 합성: 작업에 새로운 통찰력(버그 수정, 명확하지 않은 솔루션,
   |               재사용 가능한 패턴)이 있는 경우 ~/.loki/solutions/{category}/{slug}.md로 추출
   |               YAML 프론트매터(title, tags, symptoms, root_cause, prevention 포함).
   |               형식은 skills/compound-learning.md를 참조하세요.
   |               그런 다음 작업을 완료로 표시합니다. 추론으로 돌아갑니다.
   |
   +--[실패]--> "Mistakes & Learnings"에 오류를 캡처합니다.
               필요한 경우 롤백합니다. 새로운 접근 방식으로 재시도합니다.
               3번 실패 후: 더 간단한 접근 방식을 시도합니다.
               5번 실패 후: 데드 레터 큐에 기록하고 다음 작업으로 이동합니다.

우선순위 3: 자율성 규칙

이 규칙들은 자율 운영을 안내합니다. 테스트 결과와 코드 품질은 항상 우선합니다.

규칙의미
결정하고 행동하라자율적으로 결정을 내리십시오. 사용자에게 질문하지 마십시오.
모멘텀을 유지하라확인을 위해 멈추지 마십시오. 다음 작업으로 이동하십시오.
지속적으로 반복하라항상 더 나은 개선점이 있습니다. 찾으십시오.
항상 검증하라테스트 없는 코드는 불완전합니다. 테스트를 실행하십시오. 실패하는 테스트를 절대 무시하거나 삭제하지 마십시오.
항상 커밋하라각 작업 후 원자적 커밋. 진행 상황을 체크포인트하십시오.
테스트는 신성하다테스트가 실패하면 코드를 수정하십시오 - 테스트를 삭제하거나 건너뛰지 마십시오. 통과하는 테스트 스위트는 필수 요구사항입니다.

모델 선택

v5.3.0부터 기본값 (v7.5.13에서 재확인): 품질을 위해 Haiku가 비활성화되었습니다. 활성화하려면 --allow-haiku 또는 LOKI_ALLOW_HAIKU=true를 사용하십시오.

작업 유형계층Claude (기본값)Claude (--allow-haiku)Codex (GPT-5.3)
스펙 분석, 아키텍처, 시스템 설계planningopusopuseffort=xhigh
기능 구현, 복잡한 버그developmentopussonneteffort=high
코드 검토 (계획: 3명의 병렬 검토자)developmentopussonneteffort=high
통합 테스트, E2E, 배포developmentopussonneteffort=high
단위 테스트, 린팅, 문서, 간단한 수정fastsonnethaikueffort=low

병렬화 규칙 (Claude 전용): 독립적인 작업을 병렬로 시작하십시오.

저하 모드 (Codex/Cline/Aider): 병렬 에이전트나 Task 도구가 없습니다. Codex는 MCP를 지원합니다. RARV 주기를 순차적으로 실행합니다. skills/model-selection.md를 참조하세요.

Git worktree 병렬 처리: 진정한 병렬 기능 개발을 위해 run.sh와 함께 --parallel 플래그를 사용하십시오. skills/parallel-workflows.md를 참조하세요.

확장 패턴 (Claude 전용): 심사자 에이전트, 재귀적 하위 계획자, 낙관적 동시성을 사용하십시오. references/cursor-learnings.md를 참조하세요.


단계 전환

BOOTSTRAP ──[프로젝트 초기화됨]──> DISCOVERY
DISCOVERY ──[스펙 분석됨, 요구사항 명확함]──> ARCHITECTURE
ARCHITECTURE ──[설계 승인됨, 스펙 작성됨]──> DEEPEN_PLAN (표준/복잡 전용)
DEEPEN_PLAN ──[4개의 연구 에이전트에 의해 계획 강화됨]──> INFRASTRUCTURE
INFRASTRUCTURE ──[클라우드/DB 준비됨]──> DEVELOPMENT
DEVELOPMENT ──[기능 완료, 단위 테스트 통과]──> QA
QA ──[모든 테스트 통과, 보안 클린]──> DEPLOYMENT
DEPLOYMENT ──[프로덕션 라이브, 모니터링 활성]──> GROWTH
GROWTH ──[지속적 개선 루프]──> GROWTH

전환 조건: 모든 단계 품질 게이트 통과. 중요/높음 이슈 없음 (중간/낮음 권고).


컨텍스트 관리

컨텍스트 창은 유한합니다. 보존하십시오.

  • 한 번에 1-2개의 스킬 모듈만 로드하십시오 (skills/00-index.md에서)
  • 탐색을 위해 하위 에이전트와 함께 Task 도구를 사용하십시오 (컨텍스트 격리)
  • 컨텍스트 창 추적 (v5.40.0): GET /api/context에서 대시보드 게이지, 타임라인 및 에이전트별 분석
  • 알림 트리거 (v5.40.0): 컨텍스트가 임계값을 초과하거나, 작업이 실패하거나, 예산 한도에 도달할 때 구성 가능한 알림. GET/PUT /api/notifications/triggers로 관리

주요 파일

파일읽기쓰기
.loki/session.json세션 시작세션 시작 (등록), 매 턴 (updatedAt), 세션 종료 (status)
.loki/state/orchestrator.json매 턴단계 변경 시
.loki/queue/pending.json매 턴작업 요청/완료 시
.loki/queue/current-task.json각 ACT 전작업 요청 시
.loki/specs/openapi.yamlAPI 작업 전API 변경 후
skills/00-index.md세션 시작절대 안 함
.loki/memory/index.json세션 시작주제 변경 시
.loki/memory/timeline.json컨텍스트 필요 시작업 완료 후
.loki/memory/token_economics.json절대 안 함 (메트릭 전용)매 턴
.loki/memory/episodic/*.json작업 인식 검색 시작업 완료 후
.loki/memory/semantic/patterns.json구현 작업 전통합 시
.loki/memory/semantic/anti-patterns.json디버깅 작업 전오류 학습 시
.loki/queue/dead-letter.json세션 시작작업 실패 시 (5회 이상 시도)
.loki/signals/HUMAN_REVIEW_NEEDED절대 안 함인간 결정이 필요할 때
.loki/state/checkpoints/작업 완료 후자동 + loki checkpoint로 수동

원클릭 롤백 (v7.5.2+): loki rollback latest 또는 loki rollback to <id>는 체크포인트에서 .loki/ 상태를 복원합니다. 먼저 현재 상태의 강제 사전 롤백 스냅샷을 캡처하고 해당 ID를 출력하므로 롤백 자체를 취소할 수 있습니다(loki rollback to <that-id>). 체크포인트를 보려면 loki rollback list를 사용하십시오.


모듈 로딩 프로토콜 (스킬)

이 프로토콜은 skills/에 있는 작업 범위의 명령어 파일인 스킬 모듈 로딩을 관장합니다. 이는 .loki/memory/에 있는 영구 메모리 레이어를 관장하는 메모리 시스템 점진적 공개(아래 참조)와 구별됩니다.

1. skills/00-index.md 읽기 (세션당 한 번)
2. 현재 작업을 모듈에 매칭:
   - 코드 작성? model-selection.md 로드
   - 테스트 실행? testing.md 로드
   - 코드 검토? quality-gates.md 로드
   - 디버깅? troubleshooting.md 로드
   - 레거시 힐링? healing.md 로드
   - 배포? production.md 로드
   - 병렬 기능? parallel-workflows.md 로드
   - 아키텍처 계획? compound-learning.md 로드 (deepen-plan)
   - 사후 검증? compound-learning.md 로드 (지식 추출)
3. 선택한 모듈을 읽음
4. 해당 컨텍스트로 실행
5. 작업 범주가 변경될 때: 새 모듈 로드 (이전 컨텍스트 폐기)

메모리 시스템 점진적 공개는 과거 에피소드/패턴을 검색하기 위한 별도의 3계층 구조(index.json -> timeline.json -> episodic/*.json)입니다. skills/memory.md 및 references/memory-system.md를 참조하세요.


명령어 목록

명령어 (loki-ts/src/cli/registry.ts에서 생성됨; 전체 참조는 docs/CLI-REFERENCE.md 참조):

version, status, doctor, provider, memory, rollback, proof, wiki, control, kpis, report, trust, crash, contract, start, slack, queue, issues, undo, verify-pr, answer, engine10, help, quick, quickstart, init, template, verify, keys, review, dashboard, config, mcp, acp, stop, pause, resume, why, next, logs, ship, deploy, import, github, issue, ci, modernize, share, assets, export, notify, tour, welcome, onboard, setup-skill, self-update, remote, cockpit, code, context, secrets, api, sandbox, docker, web, preview, telemetry, syslog, explain, docs, test, bench, voice, own, secure, compliance, enterprise, projects, audit, cost, metrics, sentrux, magic


호출

레거시 진입점 (v6.84.0, 제거 중; Loki 10은 loki "<task>" 또는 loki owner/repo#N 사용): loki start [SPEC|ISSUE-REF]는 입력이 PRD 파일, 이슈 URL, 이슈 번호 또는 다른 스펙 형식(예: OpenAPI)인지 자동 감지합니다. loki start와 loki run 중에서 선택할 필요가 없습니다. 단일 명령어가 모든 경우를 처리합니다.

# 표준 모드 (Claude - 전체 기능)
claude --dangerously-skip-permissions
# 그런 다음 말하기: "Loki Mode" 또는 "Loki Mode with spec at path/to/spec" (PRD .md/.json, OpenAPI .yaml 등)

# 통합 `loki start` -- 하나의 명령어, 자동 감지 모드
loki start                                   # 인수 없음: 현재 디렉토리 분석, 스펙 자동 생성
loki start ./prd.md                          # PRD 모드 (.md/.json/.txt/.yaml) -- PRD는 ...

[번역을 위해 잘렸습니다]

관련 스킬