feat: Self-Evolving Digital Employee OS P0~P6 + 캘린더 충돌 게이트
신뢰성 코어 (P1~P2): - Requirement Graph: 업무 유형(회의록/시장조사/업무조사/일정) 필수 요소 주입 + 커버리지 hook - Confidence Engine(0~100 결정론적) / Escalation Engine(검토 요청) / Epistemic Guard(모름·추정·확실 3분류) - Provenance: citationTrace 에 출처 수정일·오래됨 경고 - Critic Loop: 문제 신호 turn 만 LLM 검수 1회 + 보완 카드 성장 루프 (P3): - Gap Detector(Requirement-Knowledge) / Need Engine(30/25/20/15/10 공식) / Knowledge Inventory - Learning Queue(proposed 전용 병합 — 승인은 사람만) / Decision Journal / Reflection 기록 - 반복 누락 요소(3회+)는 다음 turn 체크리스트에 자동 강조 (T5 루프) 지식 운영 (P4) + 기억 (P5) + 학습 실행 (P6): - Knowledge Validation + Belief Revision(중복 reject·충돌 시 update/add 권고) - Knowledge Decay(분야별 반감기 감사) / Knowledge Debt(blocked x impact) - Organizational Memory(.astra/organization.md 상시 주입) - Research Agent(approved 큐 -> 조사 브리프+추정 라벨 초안+Validation 게이트 -> proposals/) - Skill Score(전/후반 추세) + Success Pattern DB(전요소충족+확신도90+ 자동 적재) 병렬 트랙: - 캘린더 충돌 게이트: conflictCheck + 구조화 이벤트 캐시 + create_calendar_event 차단(force 는 사용자 승인 후) - Task Eval Harness: 회의록 골든셋 자동 채점 명령 + 성장 리포트/학습 큐/노후 점검 명령 신규 모듈 17종(src/intelligence/), VS Code 명령 5종, 설정 11종, 테스트 +89건(전체 508 통과). 설계 문서: docs/SELF_EVOLVING_OS_MASTER_PLAN.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -100,6 +100,50 @@ export interface IAgentConfig {
|
||||
* 답변이 좀 더 학술적·verbose 해질 수 있어 기본 off.
|
||||
*/
|
||||
coveStrictMode: boolean;
|
||||
/**
|
||||
* Requirement Graph — 업무 유형(회의록/시장조사/업무조사/일정) 감지 시 필수 요소
|
||||
* 체크리스트를 시스템 프롬프트에 주입. 필수 요소 누락 방지 (신뢰 조건 T3).
|
||||
* 기본 true. (Self-Evolving OS Phase 1 / Track 2-1)
|
||||
*/
|
||||
requirementGraphEnabled: boolean;
|
||||
/**
|
||||
* Requirement Coverage Check — 답변 완료 후 필수 요소 커버리지를 결정론적(정규식)으로
|
||||
* 검사, 누락 가능 요소를 footer 로 표시. LLM 호출 없음. 기본 true.
|
||||
*/
|
||||
requirementCoverageEnabled: boolean;
|
||||
/**
|
||||
* Epistemic Guard — 모름/추정/확실 3분류 강제 블록. 검색 근거 없는 turn 에서
|
||||
* 단정 금지 + 원자료 역질문 우선 지시. 기본 true. (Phase 2 / Track 1-3)
|
||||
*/
|
||||
epistemicGuardEnabled: boolean;
|
||||
/**
|
||||
* Confidence Engine — 답변 확신도 0~100 결정론적 산출, 업무 turn footer 표시.
|
||||
* LLM 호출 없음. 기본 true. (Phase 2 / Track 1-1)
|
||||
*/
|
||||
confidenceEngineEnabled: boolean;
|
||||
/**
|
||||
* Escalation Engine — 확신도 낮음/출처 충돌/출처 누락 시 footer 로 인간 검토 요청.
|
||||
* confidenceEngine 에 종속. 기본 true. (Phase 2 / Track 1-2)
|
||||
*/
|
||||
escalationEnabled: boolean;
|
||||
/**
|
||||
* Critic Loop — 결정론적 검사(커버리지 누락 또는 확신도<70)가 문제를 신호한 업무
|
||||
* turn 에만 LLM 검수 1회 실행, 발견 이슈·보완 제안을 footer 카드로 표시.
|
||||
* 깨끗한 답변에는 안 돈다 (latency 보호). 기본 true. (Phase 1 / Track 2-3)
|
||||
*/
|
||||
criticLoopEnabled: boolean;
|
||||
/**
|
||||
* Reflection — 업무 turn 의 결정론적 회고(확신도·누락 요소·에스컬레이션)를
|
||||
* <brain>/.astra/growth/reflections.jsonl 에 기록. 성장 추이·반복 실수 집계의
|
||||
* 원천이며, 반복 누락 요소는 Requirement Graph 블록에 강조 표시된다.
|
||||
* 기본 true. (Phase 1 / Track 2-4 + Phase 3 / Track 3-6)
|
||||
*/
|
||||
reflectionEnabled: boolean;
|
||||
/**
|
||||
* Organizational Memory — <brain>/.astra/organization.md 의 조직 규칙·업무 방식을
|
||||
* 시스템 프롬프트에 항상 주입. 파일 없으면 no-op. 기본 true. (Phase 5 / Track 5-2)
|
||||
*/
|
||||
orgMemoryEnabled: boolean;
|
||||
/**
|
||||
* Actionability — "현재 작업 상태" 신호(최근 슬래시 명령 + 열린 파일) 로 검색 결과
|
||||
* 재가중. TF-IDF 매치 점수에 actionability boost 추가해 "지금 작업 중인 컨텍스트" 와
|
||||
@@ -452,6 +496,14 @@ export function getConfig(): IAgentConfig {
|
||||
coveEnabled: cfg.get<boolean>('coveEnabled', true),
|
||||
coveTopSourcesCount: Math.max(1, Math.min(15, cfg.get<number>('coveTopSourcesCount', 5))),
|
||||
coveStrictMode: cfg.get<boolean>('coveStrictMode', false),
|
||||
requirementGraphEnabled: cfg.get<boolean>('requirementGraphEnabled', true),
|
||||
requirementCoverageEnabled: cfg.get<boolean>('requirementCoverageEnabled', true),
|
||||
epistemicGuardEnabled: cfg.get<boolean>('epistemicGuardEnabled', true),
|
||||
confidenceEngineEnabled: cfg.get<boolean>('confidenceEngineEnabled', true),
|
||||
escalationEnabled: cfg.get<boolean>('escalationEnabled', true),
|
||||
criticLoopEnabled: cfg.get<boolean>('criticLoopEnabled', true),
|
||||
reflectionEnabled: cfg.get<boolean>('reflectionEnabled', true),
|
||||
orgMemoryEnabled: cfg.get<boolean>('orgMemoryEnabled', true),
|
||||
actionabilityEnabled: cfg.get<boolean>('actionabilityEnabled', true),
|
||||
distillationEnabled: cfg.get<boolean>('distillationEnabled', true),
|
||||
distillationAgeThresholdDays: Math.max(1, Math.min(365, cfg.get<number>('distillationAgeThresholdDays', 30))),
|
||||
|
||||
Reference in New Issue
Block a user