프로젝트 소개

# PilotDeck · 하위 작업 검수 및 국부 수리 이것은 [OpenBMB/PilotDeck](https://github.com/OpenBMB/PilotDeck) 기반의 개선 프로젝트(방향 3 참가 프로젝트)로, AI 에이전트 하위 작업의 납품 품질을 강화하는 것을 목표로 합니다. `agent.acceptance` 모듈을 도입하여 하위 작업의 "완료" 상태에 구조 검사와 독립 모델 재검토 메커니즘을 추가합니다. ## 핵심 기능 - **납품 검사 가능**: 먼저 호스트 규칙이 구조 사전 검사를 수행하고, 이후 독립적인 읽기 전용 모델이 원래 작업, 납품 선언 및 실제 파일 내용을 대조합니다. - **수리에 경계 있음**: 검수가 실패하면 시스템은 동일 하위 작업, 세션 및 권한 범위 내에서 국부 수리를 수행하며 공유 총 라운드 상한을 사용합니다. 소진되면 명확히 거부하고, 이미 통과한 형제 작업은 유지됩니다. - **경험 검토 가능**: 성공 및 거부된 검수 메타데이터를 네이티브 화이트박스 기억에 기록하고, 실제 모델과 계약별로 그룹화하며, 샘플 분모를 보존하지만 검수 기준을 자동으로 수정하지는 않습니다. - **과정 확인 가능**: 네이티브 하위 작업 카드가 문제 설명, 수리 횟수, 도구 궤적 및 산출물을 포함한 검수 및 수리 상태를 표시합니다. ## 설치 및 시작 Node.js **22.13–22.x** 및 pnpm **10.32.1**이 필요합니다. ```bash corepack enable pnpm install --frozen-lockfile npm run build ``` 일반 시작은 여전히 `npm run dev`입니다. 네이티브 설정에서 **Agent → 납품 리뷰**를 활성화하면 두 번째 계층 재검토를 켤 수 있으며, 별도로 모델을 선택하고 리뷰 라운드와 타임아웃을 조정할 수 있습니다. ### 격리 현장 데모 OpenAI 호환 도구 호출 모델을 지원합니다. 로컬 환경 변수로 데모 매개변수를 구성합니다: ```bash node --import tsx scripts/verified-subtasks-native.ts ui --semantic-fault --acceptance-memory ``` Zhipu Coding Plan 자격 증명을 사용할 수도 있습니다: ```bash node --import tsx scripts/verified-subtasks-native.ts ui # 또는 로컬 OpenCode 자격 증명 재사용 node --import tsx scripts/verified-subtasks-native.ts ui --opencode-auth ``` ### 직접 검수 모드 인터페이스를 시작하지 않고 동일한 네이티브 게이트웨이 체인을 직접 검수합니다: ```bash node --import tsx scripts/verified-subtasks-native.ts live --opencode-auth ``` ### 결정론적 메커니즘 검증 모델 자격 증명이 필요 없는 벤치마크 테스트: ```bash node --import tsx scripts/verified-subtasks-benchmark.ts artifacts/verified-benchmark ``` ## 기술 구현 | 모듈 | 개선 | |---|---| | `src/agent/sub/acceptance/` | 제한된 schema 사전 검사, 산출물 검사, 문제 정규화, 호스트 검사기 등록 | | `SubAgentSession` / `AgentLoop` | 동일 세션 수리, 총 라운드 예산, 중단 및 오류 전파, 누적 사용량 | | `agent` / `ToolRuntime` | 계약 전달, 구조화된 검수 결과, 거부를 실제 도구 실패로 처리 | | 게이트웨이 및 네이티브 UI 브리지 | 호스트 규칙 로드, 리뷰 모델 설정, 검수 및 수리 상태, 최종 판정 보존 | | `AcceptanceMemory.ts` | 종료 상태 메타데이터 브리지, 중복 제거, 분모 통계, 네이티브 피드백 항목, 삭제 및 Dream 파일 정리 호환 | | `modelReviewer.ts` | 독립 읽기 전용 세션, 실제 읽기 증거, 모델 상속 및 재정의, 리뷰 결과 및 사용량 | 활성화는 명시적입니다: `acceptance` 매개변수가 없으면 원래 동작을 유지합니다. 호스트는 비즈니스 검사기를 등록할 수 있고, 모델은 이름만 참조할 수 있습니다. 네이티브 시작은 `PILOTDECK_ACCEPTANCE_CONFIG`를 통해 승인된 JSON 산출물 규칙을 로드합니다. ## 검수 경험 기억 네이티브 설정 **Agent → 기억**에서 화이트박스 기억을 켠 후, **Agent → 납품 리뷰 → 검수 경험을 프로젝트 기억에 저장**으로 기록을 제어할 수 있습니다. 구성 항목은 `memory.captureAcceptance`이며, 생략 시 기억이 활성화된 프로젝트 내에서 기본 기록됩니다. `false`로 설정하면 끌 수 있습니다. 관찰자는 실제 검수 종료 상태의 메타데이터를 기록하며, 작업 본문, 납품 내용 및 자유 텍스트 평어는 저장하지 않습니다. 최근 128개 중복 제거 관찰이 프로젝트 SQLite에 저장되고, 네이티브 피드백 Markdown은 파생 요약입니다. 기록 자체는 모델 호출을 추가하지 않지만, 네이티브 검색과 Dream은 여전히 모델을 호출할 수 있습니다. ## 증거와 경계 이 프로젝트는 자연 오류율 통계가 아닌 명확한 장애 주입 검증 증거를 제공합니다. 예를 들어 GLM-5.3 네이티브 실주행에서 4/4 납품이 통과했고, 1회 모델 거부가 국부 수리를 유발했으며, 3개 성공 보고서의 해시와 수정 시간은 변하지 않았습니다. 전체 배치 재실행에 비해 국부 수리 전략은 요청량을 40% 줄였습니다. **주의**: 이 시스템은 전역 롤백, 외부 부작용 정확히 한 번, 공유 파일 충돌 조정 또는 프로세스 간 복구를 제공하지 않습니다. 비즈니스 신뢰도는 호스트 규칙과 리뷰 품질에 달려 있으며, 모델 재검토는 여전히 오판할 수 있습니다. 파일 납품이 성공적으로 독립 읽기되지 않으면 리뷰어가 접수하지 않습니다. 주요 테스트 명령: ```bash node --import tsx --test tests/agent/sub/acceptance/*.spec.ts tests/agent/sub/VerifiedSubagent.spec.ts tests/agent/sub/AcceptanceInvariants.spec.ts tests/agent/sub/ModelReview.spec.ts tests/pilot/config/acceptanceReview.spec.ts tests/tool/VerifiedAgent.spec.ts tests/gateway/VerifiedSubtaskEvents.spec.ts ``` 더 자세한 내용은 [현장 데모 설명](docs/verified-subtasks/DEMO.zh-CN.md), [검증 기록](docs/verified-subtasks/VALIDATION.zh-CN.md) 및 [기술 세부사항](docs/verified-subtasks/README.zh-CN.md)을 참조하십시오.