Files
2nd/10_Wiki/Topics/ASTRA 기능 인벤토리.md
T
2026-06-12 22:17:02 +09:00

227 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
type: reference
title: "ASTRA 기능 인벤토리 (자동 생성)"
version: "2.2.241"
generated_at: 2026-06-12T13:16:40.922Z
aliases: ["ASTRA 기능 목록", "ASTRA 명령어", "내 기능", "ASTRA가 할 수 있는 것", "기능 인벤토리", "ASTRA capabilities"]
---
# ASTRA 기능 인벤토리 — v2.2.241 (자동 생성)
> ⚙️ 이 문서는 Astra 활성화 시 **소스 코드(package.json)에서 기계 생성**됩니다 — 수동 편집 금지 (버전 변경 시 덮어씀).
> 자기 기능에 대한 질문·자기 개선 제안은 이 문서가 **항상 현행** 근거입니다. 서사적 설명은 [[ASTRA 자기 아키텍처]] 참고.
## 사용자 명령 (39개)
- Astra: New Chat
- Astra: 검색 평가 실행 (recall@k / MRR)
- Astra: 업무 평가 실행 (회의록 골든셋)
- Astra: 성장 리포트 (Reflection 추이)
- Astra: 학습 큐 갱신 (Need Engine)
- Astra: 지식 노후 점검 (Knowledge Decay)
- Astra: 학습 실행 (Research Agent — 승인된 큐 항목)
- Astra: 주간 성장 사이클 지금 실행 (평가→학습큐→노후점검→승인분 실행)
- Astra: 두뇌 임베딩 전체 색인
- Astra: 지식 사전 소화 지금 실행 (Sleep-time Digest)
- Astra: 지식 충돌 스캔 지금 실행 (신규 문서 ↔ 기존 지식)
- Astra: Export Chat as Markdown
- Astra: Explain Selected Code
- Astra: Focus Chat Input
- Astra: Show Brain Topology
- Astra: Focus Approval Panel
- Astra: Scaffold New Project
- Astra: Set Telegram Bot Token
- Astra: Clear Telegram Bot Token
- Astra: Test Telegram Connection
- Astra: Open Settings Panel
- Astra: Edit Agent ↔ Knowledge Map
- Astra: Open Chat (Editor Column)
- Astra: Setup Datacollect Dependencies (yt-dlp, youtube-transcript-api)
- Astra: New Lesson (Experience Memory)
- Astra: New Lesson from Current Conversation
- Astra: Browse / Manage Lessons
- Astra: Refresh Project Architecture Context
- Astra: Detach Project Architecture Context
- Astra: Attach Project Architecture Context
- Astra: Open Project Architecture Doc
- Astra: Toggle 1인 기업 Mode
- Astra: Manage 1인 기업 Agents
- Astra: Open 1인 기업 Sessions Folder
- Astra: Open Pixel Office (Full Screen)
- Astra: Google Calendar (iCal) 연결 📅
- Astra: Google Calendar 새로고침 📅
- Astra: Google Calendar OAuth 연결 (쓰기) 🔐
- Astra: Toggle Devil Agent 🎭
## 설정으로 제어되는 동작·자동화 (149개)
- `multiAgentEnabled` — Enable Multi-Agent Workflow (Planner -> Researcher -> Writer) for complex tasks.
- `datacollectBridgeTarget` — Datacollect 백엔드(Bridge)를 어디로 보낼지 선택.
- `datacollectBridgeUrl` — local 타깃 Wiki/Datacollect MCP Bridge URL.
- `datacollectBridgeNasUrl` — nas 타깃 NAS에서 도는 경량 Bridge URL (예: https://your-nas-domain 또는 http://nas-ip:3002).
- `datacollectBridgeNasToken` — nas 타깃 NAS Bridge가 요구하는 x-bridge-token 값(Bridge의 BRIDGE_AUTH_TOKEN과 일치).
- `datacollectSavePath` — /benchmark 등 Datacollect slash 명령 결과물(markdown)을 저장할 폴더.
- `datacollectCrawlDepth` — /benchmark 사이트맵 크롤 깊이 기본값.
- `datacollectMaxPages` — /benchmark 스캔 최대 페이지 수 기본값.
- `datacollectSynthesisTemperature` — /benchmark LLM 4-렌즈 합성의 temperature.
- `chatTemperature` — 채팅 응답 생성의 temperature.
- `meetUsesTasks` — /meet 액션 아이템을 Google Tasks 에도 등록할지 여부.
- `meetUsesCalendar` — /meet 액션 아이템을 Google Calendar 일정(all-day)으로도 등록할지 여부.
- `meetVerifyPass` — /meet 회의록 생성 후 검증 패스 실행 여부.
- `dailyBriefing.enabled` — 데일리 브리핑 — 평일(월~금) 지정 시각에 오늘의 캘린더 일정 + Google Tasks(오늘 마감·기한 경과·조건부 대기)를 텔레그램으로 발송.
- `dailyBriefing.time` — 데일리 브리핑 발송 시각 (KST, HH:MM).
- `sleepDigest.enabled` — Sleep-time 지식 사전 소화 — 매일 지정 시각(유휴 시간)에 최근 7일 내 변경된 두뇌 지식을 폴더별 '소화 노트'(<두뇌>/Digests/)로 변환합니다
- `sleepDigest.time` — 사전 소화 실행 시각 (KST, HH:MM).
- `growthCycle.enabled` — 주간 성장 사이클 — 매주 지정 요일·시각에 검색 평가(골든셋)→학습 큐 갱신(Need Engine)→지식 노후 점검→성장 리포트→승인된 학습 자동 실행(Research Agent, 사이클당 최대 3건)을 자동 수행하고 요약을 알림(+텔레그램).
- `growthCycle.day` — 주간 성장 사이클 실행 요일 (0=일 … 6=토).
- `growthCycle.time` — 주간 성장 사이클 실행 시각 (KST, HH:MM).
- `growthCycle.autoRunApproved` — 사이클에서 approved 상태의 학습 큐 항목을 Research Agent 로 자동 실행할지 (사이클당 최대 3건).
- `teamVoiceGuide` — /draft 외부 커뮤니케이션 초안 작성 시 모든 생성에 적용되는 팀 보이스 가이드.
- `memoryEnabled` — Enable layered memory injection before each model response.
- `memoryShortTermMessages` — Number of recent conversation messages included as short-term memory.
- `memoryMediumTermSessions` — Number of recent saved chat sessions included as medium-term memory.
- `memoryLongTermFiles` — Number of relevant Second Brain markdown files included as long-term memory.
- `ollamaUrl` — Base URL for Ollama or LM Studio.
- `defaultModel` — Default model name to use for chat requests.
- `requestTimeout` — Request timeout in seconds.
- `contextLength` — Model context window in tokens (prompt + generation combined).
- `maxOutputTokens` — Upper bound on tokens generated per response.
- `contextSafetyMargin` — Tokens kept free as a safety buffer for token-count estimation error.
- `contextOverflowPolicy` — Fallback behavior (LM Studio) if the prompt still exceeds the context window after Astra's own budgeting.
- `autoCompactHistory` — Automatically drop the oldest conversation messages from the request when the prompt would exceed the context budget (the on-screen chat history is unaffected).
- `smallModelContextCap` — Optional safety knob, OFF by default (0).
- `autoContinueOnOutputLimit` — When a reply is cut off because it hit the output-token limit, Astra continues it internally (compressed request — original question + the answer so far, not th
- `maxAutoContinuations` — Maximum number of automatic continuation rounds per reply (prevents runaway loops).
- `finalOnlyRetryOnThoughtLeak` — If the model emits only hidden reasoning (<think>, <|channel|>thought, "Thinking Process:" …) and no user-visible answer, Astra silently re-asks it for the fina
- `lmStudio.idleTimeoutMs` — Auto-eject the loaded LM Studio model after this many milliseconds of inactivity.
- `lmStudio.autoLoadOnSelect` — Automatically load LM Studio models into memory when selected from the Astra sidebar.
- `lmStudio.sampling.topP` — Nucleus sampling cutoff.
- `lmStudio.sampling.topK` — Top-K sampling cutoff.
- `lmStudio.sampling.minP` — Min-P floor — discards tokens with probability below this fraction of the top token.
- `lmStudio.sampling.repeatPenalty` — Repeat / frequency penalty to curb stutter (것입니다서입니다…).
- `lmStudio.statsInBudget` — Show token/s and time-to-first-token from LM Studio prediction stats in the context-budget badge after each turn (SDK path only).
- `lmStudio.draftModel` — Speculative decoding LM Studio model key of a small draft model (e.g.
- `lmStudio.load.flashAttention` — Load option Enable Flash Attention when loading models.
- `lmStudio.load.gpuOffloadRatio` — Load option How much of the model to offload to GPU.
- `lmStudio.load.offloadKVCacheToGpu` — Load option Keep KV cache on GPU memory.
- `lmStudio.load.keepModelInMemory` — Load option Prevent the model from being swapped out of system memory.
- `lmStudio.load.useFp16ForKVCache` — Load option Store KV cache in FP16 (halves cache memory).
- `lmStudio.load.evalBatchSize` — Load option Token batch size during evaluation.
- `localBrainPath` — Folder path for your local Second Brain knowledge base.
- `brainProfiles` — Multiple brain profiles.
- `activeBrainId` — Active brain profile id used for the current chat context.
- `secondBrainRepo` — Optional GitHub repository URL used for Second Brain sync.
- `autoPushBrain` — Automatically commit and push Second Brain changes after updates.
- `maxContextSize` — Maximum character count for active file context.
- `maxAutoSteps` — Maximum autonomous steps the agent can take per request.
- `dryRun` — If enabled, the agent will ask for approval before committing any file changes.
- `telegram.enabled` — Enable the Telegram bot integration.
- `telegram.allowedChatIds` — Optional allowlist of Telegram chat IDs that may message the bot.
- `telegram.defaultAgent` — Agent name (matches an entry in the Agent ↔ Knowledge map) used to scope Second Brain retrieval for Telegram replies.
- `telegram.agentByChatId` — Per-chat override of the Telegram agent.
- `telegram.contextChunks` — How many Second Brain excerpts to inject into Telegram replies.
- `skillKnowledgeMapPath` — Absolute path to the agent ↔ knowledge mapping JSON.
- `skillKnowledgeMap` — Inline fallback for the agent ↔ knowledge mapping.
- `agentSkillsPath` — Absolute path to the agent skills folder (.agent/skills/*.md).
- `embeddingModel` — Embedding model registered in LM Studio / Ollama (e.g.
- `embeddingBlendAlpha` — Hybrid score blend: 0 = pure TF-IDF (sparse / keyword), 1 = pure embedding cosine (dense / semantic), 0.5 = balanced.
- `chunkLevelRetrieval` — 섹션 청크 단위 검색 (Phase 1-가).
- `chunkTargetChars` — 섹션 청크의 목표 길이(문자).
- `conflictHighlightingEnabled` — Conflict Surface — 검색된 출처에서 충돌/논란 신호 감지 시 CONFLICT WARNINGS 블록을 시스템 프롬프트에 주입.
- `conflictSeverityThreshold` — Conflict 자기-신호 surface 시 최소 severity 임계.
- `conflictCrossDocEnabled` — 교차-문서 발산 감지 — 같은 주제 ≥2 chunks 의 본문 Jaccard < 0.30 인 잠재 모순 쌍을 CONFLICT WARNINGS 에 함께 표시.
- `coveEnabled` — Chain-of-Verification (CoVe) — 답변 *작성 전* 그라운딩 체크리스트를 시스템 프롬프트에 주입해 모델이 self-verify 하도록.
- `requirementGraphEnabled` — Requirement Graph — 업무 유형(회의록/시장조사/업무조사/일정) 감지 시 필수 요소 체크리스트를 시스템 프롬프트에 주입.
- `requirementCoverageEnabled` — Requirement Coverage Check — 답변 완료 후 업무 필수 요소 커버리지를 결정론적(정규식)으로 검사, 누락 가능 요소를 footer 한 줄로 표시.
- `epistemicGuardEnabled` — Epistemic Guard — 모름/추정/확실 3분류를 강제하는 시스템 프롬프트 블록.
- `confidenceEngineEnabled` — Confidence Engine — 답변 확신도 0~100 을 검색 그라운딩·출처 인용·충돌·커버리지 신호로 결정론적 산출, 업무 답변 아래 footer 표시.
- `escalationEnabled` — Escalation Engine — 확신도 낮음/출처 충돌/조사 출처 누락 시 footer 로 사람 검토를 명시적으로 요청.
- `criticLoopEnabled` — Critic Loop — 커버리지 누락 또는 확신도<70 인 업무 답변에만 LLM 검수 1회 실행, 발견 이슈와 보완 제안을 footer 카드로 표시.
- `reflectionEnabled` — Reflection — 업무 turn 회고(확신도·누락 요소·에스컬레이션)를 두뇌 .astra/growth/reflections.jsonl 에 기록.
- `orgMemoryEnabled` — Organizational Memory — 두뇌 .astra/organization.md 의 조직 규칙·업무 방식·선호를 시스템 프롬프트에 항상 주입.
- `coveTopSourcesCount` — CoVe 체크리스트에 나열할 상위 출처 개수.
- `coveStrictMode` — CoVe Strict 모드 — 모든 사실 주장 뒤에 출처 ID S1 형식으로 inline 인용 강제.
- `actionabilityEnabled` — Actionability Scoring — '현재 작업 상태' 신호(최근 슬래시 명령 + 열린 파일) 로 검색 결과를 재가중.
- `distillationEnabled` — Distillation Loop — stale Episodic Memory 를 LongTerm 'episode-digest' 로 승급해 검색 노이즈 방지.
- `distillationAgeThresholdDays` — 며칠 이상 지난 episode 를 distill 대상으로 할지.
- `distillationIntervalDays` — 자동 distillation 의 최소 간격 (일).
- `distillationArchiveMode` — Distillation 후 원본 episode 처리: 'mark-promoted'=플래그만 (파일 보존, 기본), 'archive-file'=memory/episodes/archive/ 로 파일 이동.
- `hierarchicalReweightEnabled` — Hierarchical Context Window — 질의·문서 추상도(concrete/operational/strategic) 매칭으로 검색 결과 재가중.
- `semanticRerankEnabled` — Semantic Re-ranking — 검색된 selectedChunks 의 순서를 LLM 한 번 호출로 의도-부합도 순 재정렬.
- `semanticRerankModel` — Semantic Re-ranking 전용 모델 ID.
- `semanticRerankCandidateK` — Re-rank 대상 상위 후보 개수.
- `semanticRerankTimeoutSec` — Re-rank LLM 호출 타임아웃 (초).
- `intentClarificationEnabled` — Intent Clarification — 모호 질의(환경/대상/범위/포맷/마감 누락) 감지 시 LLM 에게 추측 답변보다
- `intentClarificationStrictness` — 모호 판정 임계.
- `citationTraceEnabled` — Citation Trace — 답변 끝에 사용된 출처를 *출처:* 한 줄로 정리 지시.
- `selfCheckEnabled` — Post-hoc Self-Check — 답변 완료 후 별도 LLM 호출 1회로 검증 (답변 직접도/그라운딩/논리 모순).
- `selfCheckModel` — Self-check 전용 모델 ID.
- `selfCheckTimeoutSec` — Self-check LLM 호출 타임아웃 (초).
- `glossaryEnabled` — Terminology Dictionary — 사용자 편집 글로서리(.astra/glossary.md) 를 시스템 프롬프트에 주입.
- `glossaryPath` — Glossary 파일 상대 경로 (workspace root 기준).
- `glossaryMaxBodyLength` — Glossary 본문 시스템 프롬프트 cap (chars).
- `termValidatorEnabled` — Post-gen Term Validator — 답변 완료 후 글로서리 forbidden 단어 결정론적 정규식 스캔.
- `knowledgeMix.secondBrainWeight` — Knowledge Mix (0100): how heavily the assistant should lean on Second Brain evidence vs.
- `workflow.multiAgentMode` — Multi-Agent(5단계) 파이프라인 발동 모드.
- `workflow.autoCtxFractionThreshold` — workflow.multiAgentMode = auto 일 때, prompt 토큰이 효과적 context window 의 이 비율(0~1)을 넘으면 5단계 파이프라인을 강제 발동.
- `chunkedSwitchTokens` — 입력 prompt 가 이 토큰 수 *미만* 이면 Multi-Agent(chunked) 파이프라인 발동 안 함 — 모델이 단일 호출로 처리.
- `chunkedMaxSections` — Chunked 파이프라인이 답변을 쪼갤 수 있는 최대 섹션 수.
- `polishPersonaOverride` — ChunkedWriter 의 polish 단계 system prompt 를 직접 정의 — 답변 톤·구조를 도메인에 맞게 커스텀.
- `liveStreamTokens` — 모델 토큰을 받는 즉시 채팅 버블에 흘려보낼지 여부.
- `outputFormat` — 최종 답변 표시 방식.
- `chronicleAutoRecord` — 자동 기록 (Project Chronicle Auto-Record).
- `company.intentClassifierModel` — Model used to classify whether an incoming chat message in 1인 기업 모드 is a (a) casual chat / question, (b) follow-up on the previous round, or (c) a brand-new tas
- `company.disableIntentClassifier` — Bypass the intent classifier and always run the full work pipeline on every chat message in 1인 기업 모드 (legacy behaviour).
- `company.autoSelectPipeline` — Let the intent classifier *automatically switch* to the pipeline it recommends for this turn (e.g.
- `company.intentAlignmentMode` — Intent Alignment — turn user prompts into an explicit Requirement Contract (C-G-C-F-Q) before dispatching a pipeline.
- `company.intentAlignmentMaxRounds` — Maximum back-and-forth rounds the Intent Alignment analyzer is allowed to ask before forcing a 'confirm or cancel' card (it stops asking new questions and shows
- `web.autoFetchUrls` — URL 자동 수집 — 메시지에 http(s) 링크가 있으면 답변 생성 전에 페이지 본문을 가져와 모델에게 전달합니다
- `company.alignmentSelfResearch` — Alignment 자가 조사 — 분석기가 만든 질문을 사용자에게 보여주기 전에 두뇌(지식 폴더)를 먼저 검색해 스스로 답할 수 있는 질문을 걸러냅니다.
- `company.alignmentKnowledgeSave` — Alignment 학습 루프 — 사용자가 alignment 라운드에서 직접 답해준 Q/A를 두뇌의 'Alignment Knowledge' 폴더에 노트로 저장합니다.
- `selfReflector.enabled` — Self-Reflector Phase A — append a Self-Reflector Check block at the end of every substantive LLM answer (Consistency / Completeness / Accuracy, plus References
- `hollowCheck.enabled` — Hollow Code Check — <create_file> 등 action-tag 로 만든 파일이 *빈 깡통* (empty class, stub-only function, imports-only) 인지 정규식 스캔.
- `hollowCheck.autoRetry` — Hollow 감지 시 1회 자동 재작업 — Phase B (externalVerification) 와 분리.
- `selfReflector.externalVerification` — Self-Reflector Phase B — after every 1인 기업 specialist response, run a *separate* LLM call to verify the output from an outside-context perspective (catches the
- `selfReflector.executionVerification` — Self-Reflector Phase C — after a code file is created via <create_file>, automatically run the language's syntax check (Python: py_compile, JS: node --check, TS
- `company.pixelOffice.enabled` — Show the Pixel Office visualisation panel above the chat — a small pixel-office-style display that mirrors the agent's current pipeline status (analyzing, need_
- `company.pixelOffice.bubbles` — Show short comic-style speech bubbles above the Pixel Office character on status changes / key events (e.g.
- `google.clientId` — Google OAuth Client ID — console.cloud.google.com/apis/credentials → OAuth 2.0 Client ID (Desktop app) 생성 후 복사.
- `google.clientSecret` — Google OAuth Client Secret — Client ID 와 같은 페이지에서 발급.
- `google.calendarId` — 일정을 등록할 Google Calendar 식별자.
- `google.defaultEventDurationMinutes` — end / duration 둘 다
- `google.icalUrl` — Google Calendar 비공개 iCal URL — 읽기 전용 모드용.
- `google.icalDaysAhead` — iCal 캐시에 포함할 다가오는 일정 기간 (일).
- `providers.openrouter.enabled` — OpenRouter cloud provider 활성화 — Claude/Gemini/GPT 등 100+ 모델을 OpenAI 호환 API 로 사용.
- `providers.openrouter.defaultModel` — OpenRouter 의 기본 모델 (예: 'anthropic/claude-3.5-sonnet').
- `providers.anthropic.enabled` — Anthropic Claude 직접 API 활성화.
- `providers.anthropic.defaultModel` — Anthropic 의 기본 모델.
- `providers.gemini.enabled` — Google Gemini 직접 API 활성화.
- `providers.gemini.defaultModel` — Gemini 의 기본 모델.
- `devilAgent.enabled` — Devil's Advocate (도현) 활성화 — 매 답변 직후 별도 LLM 호출로 *비판적 sparring partner* 가 한 문단 반박.
- `stocks.watcherEnabled` — 주식 자동 모니터링 활성화 — VS Code 시작 시 watcher 가동.
- `stocks.spreadsheetId` — Stocks Google Sheets ID — https://docs.google.com/spreadsheets/d/<여기>/...
- `stocks.sheetSwing` — 스윙/중기 종목 시트 탭 이름.
- `stocks.sheetLong` — 장기투자 종목 시트 탭 이름.
- `stocks.sheetUltraLow` — 저평가우량주 시트 탭 이름.
- `stocks.telegramChatId` — Stocks 보고서 전용 텔레그램 chatId — fallback.
## 답변 후 자동 검증 훅 (7단계 — 매 답변 후 실행)
- `devil-rebuttal` — Devil Agent 반박 카드 (활성화 시)
- `self-check` — 답변 검증 LLM 호출 — 검색 근거 대조 (opt-in)
- `term-validator` — 글로서리 금지 용어 결정론적 검사
- `requirement-coverage` — 업무 필수 요소 커버리지 결정론적 검사
- `confidence-escalation` — 확신도 산출 + 인간 검토 에스컬레이션 + Reflection 기록
- `critic-loop` — 문제 신호(요소 누락/저확신/근거 약함+단정) 턴만 Critic LLM 검수 1회
- `inventory-cross-check` — (설명 미등록 — 코드 참조)
## ⚠️ 개선 제안 전 필독 — 학술 개념 ↔ 구현 매핑
아래 개념들은 명칭이 달라도 **이미 구현되어 있다**. 이들을 "도입/추가하라"고 제안하면 오답이다:
- **CoVe / Chain-of-Verification / Self-Critique**: 구현됨 — coveEnabled(답변 전 그라운딩 체크리스트) + critic-loop 훅(문제 신호 턴 LLM 검수) + citationTrace(출처 역추적)
- **지식 노후 점검 자동화 / Automated Decay Audit**: 구현됨 — 주간 성장 사이클이 매주 자동 실행 (decay-report.md) + "Astra: 지식 노후 점검" 수동 명령
- **지식 충돌 감지/해결 / Conflict Resolver**: 구현됨 — 검색 시점 [CONFLICT WARNING] + 일일 충돌 스캔 + 신뢰도(trust·confidence·최신성) 비교 우선 권고. 최종 결정만 사람
- **피드백 태깅 / 오류 분류 / Feedback Tagging**: 구현됨 — Correction Loop가 사용자 정정을 자동 분류(사실오류/근거누락/맥락누락/추론오류/지시불이행/형식오류)해 레슨+회귀 케이스로 저장
- **멀티스텝 플래닝 / Multi-Step Planning / CoT 강제**: 구현됨 — multiAgentEnabled(Planner→Researcher→Writer, 기본 OFF) + 1인 기업 모드 디스패처
- **골든셋 자동 평가 / Regression Test**: 구현됨 — 주간 사이클 자동 평가 + 직전 대비 회귀 경보(regression-alert.md) + 정정 회귀 재검사
- **Sleep-time / 유휴 시간 학습**: 구현됨 — 일일 지식 사전 소화 (Digests/)
- **확신도 게이팅 / 환각 방지 표명**: 구현됨 — [GROUNDING] 강함/보통/약함 + 약함 시 표명 강제 + 학습큐 자동 등록
- **Reflection Layer / 자기 성찰 / 메타 학습 루프 / Self-Reflection**: 구현됨 — Self-Reflector Phase A(답변 자가 점검 블록, opt-in) + Phase B(외부 검증 LLM + 자동 재시도) + Phase C(생성 파일 syntax 검증) + Hollow Code Check(빈 깡통 감지 + 자동 재작업) + 약점 프로필→자기검토 블록(최근 정정 통계가 다음 턴 행동을 직접 변경)
- **질문 전 자가 조사 / Self-Research / 경험 기반 제약 주입**: 구현됨 — Intent Alignment 자가 조사(질문을 사용자에게 노출하기 전 두뇌 검색으로 선해결) + 사용자 답변 두뇌 자동 저장(Alignment Knowledge 학습 루프) + 레슨 체크리스트 truncation 보호 구역 주입