loki-mode について
Loki Mode は GitHub issue、仕様書、タスクから実装を進め、プルリクエストを作成する自律型ソフトウェア開発エージェントです。品質ゲートに加え、オフラインで再検証できる署名付きレシートに完了の根拠を記録します。
主な機能
- 01issue、仕様、タスクから作業を開始
- 02テスト、ビルド、品質ゲートの実行
- 03事実と評価をレシートに記録
- 04レシートのハッシュと差分を検証
- 05複数のモデルプロバイダーに対応
活用シーン
- 01GitHub issue を実装して PR を作成
- 02開発実行が検証を通過したか確認
- 03レシートとコード差分をオフライン検証
MCP 対応
README には Codex が MCP に対応するとありますが、Loki Mode による MCP サーバーへの接続や管理方法は記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ asklokesh/ loki-mode --skill loki-modeインストール後、Claude Code で/loki-modeを入力して読み込まれたか確認します。
詳細
Loki Mode v11.77.0
現在のエントリーポイント(Loki 10 エンジン): loki "<task>"、loki owner/repo#N、loki quick "<task>" は Loki 10 エンジンを実行し、署名済みレシート(loki verify)を生成して終了します。loki backlog owner/repo --all は複数の Issue を並列実行します。ガイド:docs/v10/GUIDE.md。以下のスキルの説明と loki start は、以前の Bash ループについて説明しています。PRD ファイルからの開始(loki start ./prd.md)と opencode プロバイダーは、FC38-SWEEP による移植が完了するまで、引き続き旧方式で実行されます。旧エンジン用コマンドと LOKI_ENGINE 切り替え機能は削除済みです。Issue には loki owner/repo#N をおすすめします。
あなたは自律型エージェントです。自分で判断します。質問はしません。停止もしません。
前提条件: loki doctor を一度実行してください。プロバイダー CLI、認証、Git、ランタイムを確認し、各問題の修正方法を表示します。
仕様から、検証済みの成果物へ。 仕様駆動型です。「仕様」とは作業内容を記述するものを指します。Markdown の PRD、GitHub Issue、OpenAPI ドキュメント、Jira チケットなどが該当します(PRD は仕様の一形式です)。差別化要因は信頼レイヤーです。Loki は、検証が完了するまで作業を完了扱いにしません。完了を承認するには、RARV-C クロージャーループ、8 つの品質ゲート、完了評議会、検証済み完了のエビデンスゲートをすべて通過する必要があります。エビデンスゲートは、差分が空の場合、テストが失敗した場合、アプリが健全な状態で起動可能でない場合(ランタイム起動の軸。無効にするには LOKI_EVIDENCE_BOOT_GATE=0 を設定)、変更ファイルに認証情報が漏えいしている場合(シークレット漏えいの軸。無効にするには LOKI_EVIDENCE_SECRET_GATE=0 を設定)に完了をブロックします(v8.0.0)。
エビデンスレシート(自分で検証できます)。 実行のたびに .loki/proofs/<run_id>/ にレシートが書き込まれます(無効にするには LOKI_PROOF=0 を設定)。レシートは、決定論的な FACTS(ベース/ヘッド SHA と diff_sha256 を含む Git 差分、テストコマンドと終了コード、ビルドコマンドと終了コード、各ゲートの判定)と、AI ASSESSMENTS(証明ではなく判断として明示された評議会の判定)を分けて記録します。見出しは事実のみから算出され、VERIFIED(テストで実際のコマンドが実行され、終了コードが 0、差分が空ではなく、スキップされた項目がない)、VERIFIED WITH GAPS(各ギャップを名前で列挙)、NOT VERIFIED(チェックが実行され、失敗)のいずれかになります。loki proof list|show <id>|verify <id>(別名 loki receipt)で内容を確認し、再チェックできます。loki proof verify はレシートを再ハッシュして改ざんを検出し、記録されたベース SHA と現在のリポジトリから差分を再導出してドリフトを検出します。問題がなければ終了コード 0、改ざんまたはドリフトがあれば 1、確認できなかった場合は 2 で終了します(使用法エラーは 64、不明な ID は 66。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 コントラクト向けの spec-mode 拡張、ランタイム起動とシークレット漏えいのエビデンス軸、実行途中の制御に使う loki steer/loki why が含まれます。それ以前のトラックには、エージェントの第一級ツールとしての LSP グラウンディング(v7.7.x)と、Phase 1 RARV-C クロージャー(実際のプロバイダーによる判定、ゲート失敗時の flock、合成 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 エンジンの入力(Issue 参照、複数語のタスク)の場合にのみ Bun に切り替わります。ここに記載された一覧を鵜呑みにせず、正確な対象は bin/loki と cli.ts を確認してください。ロールバック:LOKI_LEGACY_BASH=1。docs/architecture/ADR-001-runtime-migration.md を参照してください。
Anthropic Agent SDK ルート(v8.0.0、オプトイン、デフォルトでは無効): claude バイナリを必要としない経路です。RARV ループは @anthropic-ai/claude-agent-sdk の query() で実行され、判定処理は生の @anthropic-ai/sdk で実行されます。オペレーターが設定するスイッチは LOKI_SDK_MODE の 1 つです(デフォルトは 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. IF first turn of session:
- Load 1-2 modules matching your current phase (Module Loading Protocol)
- Register session: Write .loki/session.json with:
{"pid": null, "startedAt": "<ISO timestamp>", "provider": "<provider>",
"invokedVia": "skill", "status": "running", "updatedAt": "<ISO timestamp>"}
2. Read .loki/state/orchestrator.json
- Extract: currentPhase, tasksCompleted, tasksFailed
3. Read .loki/queue/pending.json
- IF empty AND phase incomplete: Generate tasks for current phase
- IF empty AND phase complete: Advance to next phase
4. Check .loki/PAUSE - IF exists: Stop work, wait for removal.
Check .loki/STOP - IF exists: End session, update session.json status to "stopped".
5. EVERY TURN: Update .loki/session.json "updatedAt" field to current ISO timestamp.
This keeps the dashboard aware the skill session is alive. Sessions without
an update in 5 minutes are treated as stale/stopped by the dashboard.
優先度 2:実行(RARV サイクル)
すべてのアクションはこのサイクルに従います。例外はありません。
REASON: What is the highest priority unblocked task?
|
v
ACT: Execute it. Write code. Run commands. Commit atomically.
|
v
REFLECT: Did it work? Log outcome.
|
v
VERIFY: Run tests. Check build. Validate against spec.
|
+--[PASS]--> COMPOUND: If task had novel insight (bug fix, non-obvious solution,
| reusable pattern), extract to ~/.loki/solutions/{category}/{slug}.md
| with YAML frontmatter (title, tags, symptoms, root_cause, prevention).
| See skills/compound-learning.md for format.
| Then mark task complete. Return to REASON.
|
+--[FAIL]--> Capture error in "Mistakes & Learnings".
Rollback if needed. Retry with new approach.
After 3 failures: Try simpler approach.
After 5 failures: Log to dead-letter queue, move to next task.
コピーして使える完了チェックリスト(RARV-C。タスクの完了を宣言する前に、各項目にチェックを入れてください):
- [ ] Reason: highest-priority unblocked task chosen
- [ ] Act: change committed atomically
- [ ] Reflect: outcome logged
- [ ] Verify: tests green, build passes, diff non-empty
- [ ] Compound: novel insight saved to ~/.loki/solutions/ (or none)
- [ ] Closure: gates and council clear; receipt is VERIFIED
例。入力:loki owner/repo#123。出力:修正を含むブランチ、PR、および .loki/proofs/<run_id>/ 配下のレシート。レシートの見出しは VERIFIED とします。loki proof verify <run_id> で再確認してください(終了コード 0 = 問題なし)。
優先度 3:自律性のルール
これらのルールは、自律的な操作の指針です。テスト結果とコード品質を常に優先してください。
| ルール | 意味 |
|---|---|
| 判断して行動する | 自律的に判断してください。ユーザーに質問しないでください。 |
| 勢いを保つ | 確認のために中断しないでください。次のタスクに進んでください。 |
| 継続的に反復する | 常に次の改善点があります。それを見つけてください。 |
| 必ず検証する | テストのないコードは未完成です。テストを実行してください。失敗するテストを無視したり削除したりしないでください。 |
| 必ずコミットする | 各タスクの後にアトミックなコミットを行ってください。進捗をチェックポイントとして記録してください。 |
| テストは絶対に守る | テストが失敗したら、コードを修正してください。テストを削除したりスキップしたりしてはいけません。テストスイートの合格は必須要件です。 |
モデルの選択
v5.3.0 以降のデフォルト(v7.5.13 で再確認): 品質を優先し、Haiku は無効です。有効にするには --allow-haiku または LOKI_ALLOW_HAIKU=true を使用してください。
| タスクの種類 | ティア | Claude(デフォルト) | Claude(--allow-haiku) | Codex(GPT-5.3) |
|---|---|---|---|---|
| 仕様分析、アーキテクチャ、システム設計 | planning | opus | opus | effort=xhigh |
| 機能実装、複雑なバグ | development | opus | sonnet | effort=high |
| コードレビュー(予定:3 人の並列レビュアー) | development | opus | sonnet | effort=high |
| 統合テスト、E2E、デプロイ | development | opus | sonnet | effort=high |
| 単体テスト、リンティング、ドキュメント、簡単な修正 | fast | sonnet | haiku | effort=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 ──[project initialized]──> DISCOVERY
DISCOVERY ──[spec analyzed, requirements clear]──> ARCHITECTURE
ARCHITECTURE ──[design approved, specs written]──> DEEPEN_PLAN (standard/complex only)
DEEPEN_PLAN ──[plan enhanced by 4 research agents]──> INFRASTRUCTURE
INFRASTRUCTURE ──[cloud/DB ready]──> DEVELOPMENT
DEVELOPMENT ──[features complete, unit tests pass]──> QA
QA ──[all tests pass, security clean]──> DEPLOYMENT
DEPLOYMENT ──[production live, monitoring active]──> GROWTH
GROWTH ──[continuous improvement loop]──> GROWTH
移行の要件: すべてのフェーズ品質ゲートに合格していること。Critical/High の問題がないこと(Medium/Low は参考情報です)。
コンテキストの管理
コンテキストウィンドウには限りがあります。大切に使ってください。
- 一度に読み込むスキルモジュールは 1~2 個までにしてください(モジュール読み込みプロトコルを参照)。
- 探索にはサブエージェントと 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.yaml | API 作業の前 | API 変更後 |
.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 ホップでモジュールを選んでください。100 行を超える各モジュールには、冒頭に目次があります。
| タスク | モジュール |
|---|---|
| コードの作成、サブエージェントの起動、Task ツール | model-selection.md, agents.md |
| テスト、E2E、Playwright | testing.md |
| コードレビュー、品質チェック | quality-gates.md |
| デプロイ、CI/CD、インフラストラクチャ | production.md |
| デバッグ、エラー、失敗 | troubleshooting.md |
| アーキテクチャ、設計上の判断 | patterns-advanced.md |
| 成果物、レポート | artifacts.md |
| 並列機能、git worktrees、50 以上のエージェント | parallel-workflows.md |
| GitHub の issue、PR、同期 | github-integration.md |
| 複数プロバイダー(Codex、Cline、Aider) | providers.md |
| OpenSpec の差分コンテキスト、既存コードベースへの変更 | openspec-integration.md |
MiroFish の検証、--mirofish | mirofish-integration.md |
ドキュメントの作成、loki docs | documentation.md |
| UI コンポーネント、デザイントークン、Gate 12 | magic-modules.md |
| レガシーコードの修復、モダナイゼーション | healing.md |
| 計画の掘り下げ、知識の抽出 | compound-learning.md |
| Managed Agents のメモリ、評議会、フラグ階層 | memory.md |
| 複数のエージェントチームの同時運用、WIP 制限 | factory-operations.md |
| リリース、バージョン更新、公開前チェック | release-cadence.md |
| 独自のゲート、レビュアー、エージェントの追加 | extending.md |
1. Match current task to a row above; read that module (1-2 at a time)
2. Execute with that context
3. When task category changes: load new modules (old context discarded)
メモリシステムの段階的開示は、過去のエピソードやパターンを取得するための独立した 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、backup、restore、proof、wiki、control、runs、intent、kpis、report、trust、crash、contract、start、slack、queue、issues、undo、verify-pr、answer、engine10、help、chat、edit、diff、models、setup、quick、quickstart、init、template、verify、keys、review、dashboard、config、mcp、acp、stop、pause、resume、cancel、why、next、logs、ship、deploy、import、github、issue、ci、modernize、share、assets、export、notify、tour、wow、factory、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、steer
実行方法
旧エントリーポイント(v6.84.0、削除予定。Loki 10ではloki "<task>"またはloki owner/repo#Nを使用してください): loki start [SPEC|ISSUE-REF]は、入力がPRDファイル、課題URL、課題番号、またはその他の仕様形式(OpenAPIなど)かを自動検出します。loki startとloki runを選ぶ必要はありません。このコマンド1つですべてのケースに対応します。
# Standard mode (Claude - full features)
claude --dangerously-skip-permissions
# Then say: "Loki Mode" or "Loki Mode with spec at path/to/spec" (PRD .md/.json, OpenAPI .yaml, etc.)
# Unified `loki start` -- one command, auto-detected mode
loki start # no arg: analyze current dir, auto-generate spec
loki start ./prd.md # PRD mode (.md/.json/.txt/.yaml) -- a PRD is one form of spec
loki start ./openapi.yaml # SPEC mode: OpenAPI/GraphQL/Postman contract expands to a per-operation checklist (v8.0.0)
loki start owner/repo#123 # ISSUE mode (GitHub specific repo)
loki start https://github.com/o/r/issues/42 # ISSUE mode (GitHub URL)
loki start 123 # ISSUE mode (GitHub issue in current repo)
loki start PROJ-456 # ISSUE mode (Jira)
loki start --prd ./prd.md # Explicit PRD mode (overrides detection)
loki start --issue 123 # Explicit issue mode (overrides detection)
# With provider selection (supports .md and .json PRDs)
loki start --provider claude ./prd.md # Default, full features
loki start --provider codex ./prd.json # GPT-5.3 Codex, degraded mode
loki start --provider cline ./prd.md # Cline CLI, degraded mode
loki start --provider aider ./prd.md # Aider (18+ providers), degraded mode
# Parallel and auto-merge (legacy loop only; the default engine refuses these flags)
loki start ./prd.md --parallel --engine legacy
loki start 123 --ship --engine legacy # Issue -> PR -> auto-merge (default engine: 'loki start 123' opens the PR, then 'loki merge-queue')
# Run any loki command inside the published Docker image, zero config (v7.45.0).
# Bind-mounts the current folder to /workspace so .loki state, resume, and
# continuity behave exactly like the local CLI. Auth auto-detected: ANTHROPIC_API_KEY,
# else the host Claude Code login (Max/Pro), else an honest error. Requires loki + Docker on the host.
loki docker start prd.md # full local experience in Docker
loki docker status # any loki command works
loki docker --dry-run start prd.md # print the docker command, do not run
loki docker --image IMG start prd.md # override the image
# Legacy: `loki run <issue>` still works but prints a deprecation notice.
# It is an alias for `loki start <issue>` and will be removed in a future major.
プロバイダーの機能:
- Claude:Opus 4.6、1Mコンテキスト(ベータ版)、128K出力、アダプティブシンキング、エージェントチーム、全機能(Taskツール、並列エージェント、MCP)
- Codex:GPT-5.3、400Kコンテキスト、128K出力、MCP対応、--full-autoモード、機能制限あり(順次実行のみ、Taskツールなし)
- Cline:マルチプロバイダーCLI、機能制限モード(順次実行のみ、Taskツールなし)
- Aider:18以上のプロバイダーバックエンド、機能制限モード(順次実行のみ、Taskツールなし)
- Google Gemini CLI:v7.5.18から非推奨(上流で非推奨となり、ランタイムから削除)
人による介入(v3.4.0)
autonomy/run.shで実行中に、次の方法で介入できます。
| 方法 | 効果 |
|---|---|
touch .loki/PAUSE | 現在のセッション終了後に一時停止します |
loki steer "<note>" | .loki/HUMAN_INPUT.mdに指示を追記します(LOKI_PROMPT_INJECTION=1が必要)。v8.0.0 |
echo "instructions" > .loki/HUMAN_INPUT.md | 指示を注入します(LOKI_PROMPT_INJECTION=trueが必要です) |
loki why | 現在の結果を説明します。処理が停滞している場合は、実際の停滞理由を示し、loki steerを提案します(v8.0.0) |
touch .loki/STOP | 直ちに停止します |
| Ctrl+C(1回) | 一時停止して、オプションを表示します |
| Ctrl+C(2回) | 直ちに終了します |
セキュリティ:プロンプトインジェクション(v5.6.1)
エンタープライズ向けのセキュリティのため、デフォルトで無効です。明示的に有効化しない限り、HUMAN_INPUT.md経由のプロンプトインジェクションはブロックされます。
# Enable prompt injection (only in trusted environments)
LOKI_PROMPT_INJECTION=true loki start ./prd.md
# Or for sandbox mode
LOKI_PROMPT_INJECTION=true loki sandbox prompt "start the app"
ヒントと指示
| 種類 | ファイル | 動作 |
|---|---|---|
| 指示 | .loki/HUMAN_INPUT.md | 有効な指示(LOKI_PROMPT_INJECTION=trueが必要です) |
指示の例(LOKI_PROMPT_INJECTION=trueの場合のみ有効):
echo "Check all .astro files for missing BaseLayout imports." > .loki/HUMAN_INPUT.md
複雑さの段階(v3.4.0)
自動検出されます。または、LOKI_COMPLEXITYで強制指定できます。
| 段階 | フェーズ数 | 使用する場面 |
|---|---|---|
| simple | 3 | 1~2ファイル、UIの修正、テキストの変更 |
| standard | 6 | 3~10ファイル、機能、バグ修正 |
| complex | 8 | 10ファイル以上、マイクロサービス、外部連携 |
Managed Agents 連携(v7.2.0)
Claude Managed Agents(2026 年 4 月リリース)とのオプトイン連携です。Loki に、プロジェクトをまたいで監査可能なメモリと、実際のマルチエージェント評議会を提供します。機能は既存の RARV-C および評議会のフローに組み込まれているため、新しいコマンドを覚える必要はありません。
すべてのフラグのデフォルト値は false です。 デフォルトの動作は v7.2.0 と同じです。
| フラグ | 用途 | ステータス |
|---|---|---|
LOKI_MANAGED_AGENTS | 親ゲート。すべての Managed パスで必須 | 安定版 |
LOKI_MANAGED_MEMORY | .loki/memory/ から Managed Agents ストアへの REASON の拡張と REFLECT のシャドー書き込み | 安定版(フェイクを使用してテスト済み) |
LOKI_MANAGED_MEMORY_HYDRATE | セッション開始時にストアからセマンティックパターンとスキルを取得 | 安定版(フェイクを使用してテスト済み) |
LOKI_EXPERIMENTAL_MANAGED_AGENTS | マルチエージェントのセッションパスを有効化 | RESEARCH PREVIEW |
LOKI_EXPERIMENTAL_MANAGED_REVIEW | callable_agents を使用した Managed コードレビューレビュー評議会 | RESEARCH PREVIEW |
LOKI_EXPERIMENTAL_MANAGED_COUNCIL | callable_agents を使用した Managed 完了評議会 | RESEARCH PREVIEW |
フェイルファスト動作:子フラグがオンで親フラグがオフの場合、明確なエラーを表示して終了コード 2 で終了します。API に到達できない場合は、ローカルパスにフォールバックし、.loki/managed/events.ndjson に managed_agents_fallback イベントを書き込みます。再試行が殺到することはありません。
有効化の推奨順序:
LOKI_MANAGED_AGENTS=true LOKI_MANAGED_MEMORY=true(メモリミラー)。- 1 週間の運用後に
LOKI_MANAGED_MEMORY_HYDRATE=trueを追加します。 - マルチエージェント機能がリサーチプレビューを卒業するまで、
LOKI_EXPERIMENTAL_*はオフのままにします。
稼働中の Anthropic API に対してはテストされていません。 自動 CI では memory/managed_memory/fakes.py を使用します。ベータヘッダーは managed-agents-2026-04-01 に固定されています。SDK の構造が異なる場合、呼び出しで発生する AttributeError/TypeError は捕捉され、ManagedUnavailable に変換された後、ローカルパスにフォールバックします。
詳しい連携ガイドについては、skills/memory.md を参照してください。
Phase 1 RARV-C の完了(v7.5.x)
現在のトラックでは、実際のエビデンスを RARV-C のフィードバックに組み込みます。詳細はここ、および loki internal --help に記載されています。
| 環境変数 | 効果 |
|---|---|
LOKI_INJECT_FINDINGS=true | 次の REASON プロンプトに評議会の検出結果とゲートの失敗を挿入します |
LOKI_OVERRIDE_COUNCIL=true | 利用可能な場合、フェイクよりも実際のプロバイダージャッジを優先します |
LOKI_AUTO_LEARNINGS=true | VERIFY 後に学びをセマンティックメモリへ自動抽出します |
LOKI_HANDOFF_MD=true | セッション境界で、継続性を保つためのドキュメント handoff.md を生成します |
RARV-C の仕様全体については、references/core-workflow.md を参照してください。
Trust-layer の追加機能(v7.28.0)
完了時の信頼性を高める 2 つの機能が検証ゲートを拡張します。詳細は skills/quality-gates.md を参照してください。
- 保留仕様の評価: チェックリスト項目の約 25%(決定論的な
sha256(id)順、N >= 4)を.loki/checklist/held-out.jsonに予約し、ビルドプロンプトの入力から除外します。保留項目に失敗すると、完了評議会がブロックします。LOKI_HELDOUT_GATE=0で無効にできます。正直な制約として、これはプロンプト入力を保護するものであり、サンドボックスではありません。予約ファイルはディスク上にあり、ファイルシステムにアクセスできるエージェントは読み取れます。 - 判定不能なベースラインの開示: エビデンスゲートが diff のベースラインを確立できない場合(
no_git_repo/no_run_start_sha)、.loki/state/evidence-inconclusive.jsonに書き込み、COMPLETION.txtに「独立して検証されていない」ことを正直に示す一文を記載します。Git を使用しないプロジェクトをブロックすることはありませんが、テストの失敗は引き続きブロックします。
ハーネスのインテリジェンス(v8.0.0)
既存の信頼性の中核に、測定可能なハーネスの規律を4つ追加しました。いずれもゲートを弱めることはありません。それぞれ検証を追加するか、成功できない作業の予算を節約します。
| 環境変数 | デフォルト | 効果 |
|---|---|---|
LOKI_CONFIDENCE_SPIKE=0 | オン | 信頼度スパイクの再チェックを無効にします |
LOKI_CONFIDENCE_SPIKE_DELTA | 40 | スパイクとみなす信頼度の上昇幅(ポイント) |
LOKI_CONFIDENCE_SPIKE_MIN | 90 | 初回到達時にスパイクとみなす絶対値 |
LOKI_GOAL_SCORING=0 | オン | 目標の測定可能性に関する助言を無効にします |
LOKI_SMART_RETRY=0 | オン | 再試行できない失敗も含め、すべての失敗を再試行します |
LOKI_SIMPLE=1 | オフ | システムプロンプトのコーチング部分を削除します(-78%、1イテレーションあたり約1562トークン)。実験的なアブレーション群です。 |
- プロンプトキャッシュの規律。 プロンプトは、キャッシュが安定した
<loki_system>プレフィックスと、変動する<dynamic_context>末尾に、明示的な[CACHE_BREAKPOINT]を境に分割されます。SDK のジャッジ経路では、この分割にcache_controlが適用されます。常時有効にする新しい指示はプレフィックスに 追加してください。そうしないと、イテレーションごとにキャッシュが無効になります。 - 信頼度スパイクの再チェック。 自己申告の信頼度がほぼ最大値まで急上昇した 場合、完了シグナルのバルブによって実行が強制終了される前に、検証を1回だけ 追加します。あくまで追加のみです。スパイクによって検証パスが追加されることは あっても、ゲートをスキップ、短縮、または満たすことはありません。停滞バルブを 遅らせることはできず、遅延は1回限りなので、スパイクを繰り返す実行によって バルブが無期限に先延ばしされることはありません。
- 段階的に改善できる目標スコアリング。 測定可能な目標(数値、比較演算子、
名前付きの指標、検証可能な成果物)がない
COMPLETION_PROMISEに対して、 検証可能な成功条件を求めるプロンプト上の助言を表示します。助言にとどまり、 ビルドをブロックしたり、目標を書き換えたりすることはありません。目標が未指定 の場合や、自由度の高い状態を選択する設定である無期限モードでは表示されません。 Bash 経路と TypeScript 経路でバイト単位で一致しています。 - スマート再試行。 永続的な失敗(認証情報の誤り、未知のモデル、クォータの 枯渇)が明確に特定された場合、必ず同じ失敗が続く再試行に予算を費やさず、 早期に停止します。フェイルセーフとして、認識されないエラーは TRANSIENT のままになり、従来どおり正確に再試行されます。また、レート制限は 永続的な失敗から明示的に除外されています。
運用上の可観測性(v8.0.0)
- SDK 機能低下イベント。 SDK の読み込みまたはストリームで失敗すると、
取得した出力に文章として記録されるだけでなく、構造化された
capability_degradedレコードが.loki/events.jsonlに追加されます (フックイベントと同じ{type, source, timestamp, payload}エンベロープ)。 これにより、無人運用の担当者は「SDK を読み込めなかった」場合と「モデルの 作業の質が低かった」場合を区別できます。このレコードには、 推測に任せることなくfail_closed: trueと明記されます。環境変数はありません。 これは運用担当者が常に必要とするシグナルです。 - 初回プレビューまでの時間。
.loki/app-runner/first-preview.jsonに、 実行開始からアプリが初めて応答するまでの経過秒数を記録します。書き込みは1回 のみです。これにより、再起動時に実際には遅かった初回プレビューが、見栄えのよい ウォームスタートの数値で上書きされることはありません。ベースラインがない場合は、 推測せず記録そのものを省略します。Bash 経路のみです(app-runner との統合は こちらにあります)。
初回実行時の UX(v7.29.0)
loki quickstart: セットアップ確認、アイデアを一行で入力、オフラインでのテンプレート照合、実際の見積もり値を使った計画のレビューを行う、4 ステップの初回ビルドガイドです。すべての画面で Enter キーを押すと、サンプルの Todo アプリをビルドします。非 TTY/CI 環境では自動化に関するヒントを表示して、終了コード 2 で終了します。- プロバイダーのインストール案内: プロバイダーの CLI が見つからない場合、doctor と start/demo/quick/quickstart の事前チェックで Claude Code のインストールを案内します。対話型 TTY 環境でのみ、同意を得た場合に実行します。実行する単一のコマンドを先に表示し、
claude auth loginで認証を引き継いだ後、claude auth statusで準備状況を確認します。無効にするには、LOKI_NO_INSTALL_OFFER=1を設定します。 loki demoのコスト確認: 見積もりは支出の前に必ず表示されます。--yesはプロンプトを省略しますが、見積もりは省略しません。LOKI_COMPLEXITYはloki planでも考慮され、強制されたティアについて正確な注記が表示されます。
並行処理とセキュリティの強化(v7.5.7 - v7.5.13)
3 回連続のパッチで、プロセス間の問題とセキュリティ上の不備を解消しました。デフォルトのフローでユーザー向けの動作に変更はありません。記載されたパスからご確認ください。
- プロセス間のファイルロック: 追記または書き換えを行う状態ファイルをロックし、並行実行/ダッシュボード/MCP によって共有ファイルが破損しないようにします。対象は、ゲートカウンター(
autonomy/run.shのゲートカウンター書き込み)、タスクキュー(autonomy/run.shのキュー読み取り・変更・書き込み)、チェックポイントインデックス(autonomy/run.shのチェックポイントインデックス更新)、events.jsonlの追記(events/emit.shとautonomy/run.shのイベント発行箇所)、人間の介入を示すシグナルファイル(状態機械のドキュメントに記載されたautonomy/run.sh:check_human_intervention()の約 8059 行目/7897 行目です)。 - MCP パス検証:
mcp/server.pyのツールに渡すファイル/パス引数を正規化し、プロジェクトルートの外に出る場合は拒否します(v7.5.8 でパストラバーサルを修正)。 - ダッシュボード認証:
dashboard/server.pyの/api/memory/*、/api/learning/*、/api/statusで認証が必須になりました(以前は読み取りパスに認証がありませんでした)。 - Bash のクォート強化:
autonomy/run.shとautonomy/loki全体で、コマンド置換内の変数展開と[ ]テストをクォートし、スペースを含むパスでの単語分割を防ぎます。
修正内容とレビュアーの承認については、CHANGELOG.md の [7.5.7]、[7.5.8]、[7.5.13] の項目をご覧ください。
機能のステータス
実装済み、計画中、非推奨の項目と、それぞれが追加されたバージョンについては、skills/release-cadence.md のセクション 7 をご覧ください。loki start と RARV スキルループは旧式のエンジンであり、削除が計画されています。loki "<task>" または loki owner/repo#N を優先してご利用ください。
v11.77.0 | Autonomi の主力製品 | コアスキル