검증
요청된 결과를 입증할 수 있는 가장 낮은 검증 수준을 사용하세요:
| 수준 | 필요한 증거 |
|---|---|
| L0 | 집중 검증 스크립트, npx tsc --noEmit, 테스트, 빌드와 같은 정적 검사 |
| L1 | localhost:5199의 편집기에서 실제 에이전트 실행 후, 구조적 및 렌더링된 증거 |
| L2 | 패키징된 데스크톱 앱이 사용자 시나리오를 완료하고, 자동화로 충분하지 않은 경우 사람의 시각적 검토 포함 |
런타임 동작 변경은 L0 + L1이 필요합니다. 릴리스 및 데스크톱 전용 변경은 패키징된 앱이 테스트 대상 동작인 경우 L2도 필요합니다.
두 가지 신호를 선호하세요:
- 구조 확인을 위한
read_project: 에셋, 트랙, 아이템, 프레임 배치, 타임라인 길이. - 특정 프레임에서 렌더링된 증거를 위한 시각적 캡처 경로.
구성된 타임라인 증거에는 view_timeline_frames를 사용하세요. 이를 통해 편집된 OpenChatCut 타임라인(트림, 레이어, 자막, 효과, 마커, 플레이스홀더, 크롭, 전환, 레이아웃)을 검증합니다.
원본 소스 에셋 프레임 검사의 경우, 바이트가 위치한 곳에 따라 가장 저렴한 경로를 선택하세요:
- 이 빌드의 에이전트는 로컬 파일 시스템에 접근할 수 없습니다. 모든 소스 바이트는 프로젝트 미디어 저장소(
/media/uploads/)에 있습니다. 프로젝트 에셋 ID와 함께view_asset_frames를 사용하세요 — 서버가 자동으로 ffmpeg 콘택트 시트 고속 경로를 사용하므로, 이미 가장 저렴한 소스 프레임 경로입니다. view_timeline_frames는 구성된 타임라인을 렌더링하고(편집기 진실 확인),view_asset_frames는 원본 소스 프레임을 샘플링합니다. 확인하려는 내용에 따라 선택하세요.- 이 빌드에는 별도의
get_contact_sheet도구가 없습니다 — 콘택트 시트는view_asset_frames/view_timeline_frames가 이미 반환하는 것입니다.
로컬/원격 소스 프레임 아티팩트는 소스 이해, 순간 선택 및 대략적인 트림 결정에만 사용하고, 편집된 출력이나 타임라인 증거로 사용하지 마세요.
로컬 전용 또는 업로드 진행 중인 미디어의 경우, 에셋의 바이트를 렌더러에서 사용할 수 있을 때까지 구성된 타임라인 증거가 차단될 수 있습니다. 에셋의 바이트가 디스크(/media/uploads/)에 있는 한 view_asset_frames를 통한 소스 프레임 검사는 여전히 작동합니다.
두 시각적 증거 경로가 모두 차단된 경우, 사용자에게 OpenChatCut 편집기를 직접 검사하도록 요청하고 차단 사유를 명시하세요.
유용한 검사:
- 가져오기 후:
read_project({ "view": "assets", "assetId": "<prefix>" }) - 이동/트림 후:
read_project({ "view": "timeline" }) - 타임라인 미디어에 시각적 오버레이 또는 MG 후:
view_timeline_frames({ "frames": [30, 45, 75] }), 그런 다음 반환된 프레임을 확인하세요. - 사용자가 요청한 소스 선택 또는 시각적 순간 선택의 경우:
view_asset_frames로 스틸 이미지를 샘플링하고 검사하세요. 소스 파일, 순간 및 대략적인 트림을 선택하는 데에만 사용하세요. 보이는 편집을 OpenChatCut 타임라인 아이템으로 구성하세요. 원본 소스 검사를 타임라인 확인이나 편집된 비디오를 다른 곳에서 생성할 권한으로 취급하지 마세요. - 소스 프레임 검사의 경우:
read_project({"view":"assets"})가 에셋 ID/유형을 확인한 후view_asset_frames({"assetId":"...","sourceTimesMs":[...]})를 호출하세요. 사용자에게 파일을 다시 첨부하도록 요청하는 것보다 이 방법을 선호하세요. - 로컬 전용 시각적 확인의 경우: 커넥터 시각적 증거에 의존하기 전에 클라우드에서 읽을 수 있는 미디어를 업로드/등록하세요.
- 소스 없는 검증의 경우: 도구 매니페스트가 사용한 매개변수를 노출했는지 확인한 다음, 추적 로그에 보이는 증거를 기록하세요.
초(seconds)에 대해 논의할 때는 read_project에서 fps를 확인하거나 내부적으로 fps를 해석하는 어댑터 도구를 사용하세요.
타임라인 아이템 위치를 보고할 때는 트랙 별칭, 아이템 ID, 시작, 지속 시간 및 에셋 ID에 대해 최신 read_project 구조만 사용하세요. 계획된/기본 트랙 또는 도구 호출 의도를 확인된 배치로 보고하지 마세요.
사용자가 편집기가 결과를 반영하는지 물을 때 명령줄 JSON 응답만으로는 충분하지 않습니다. 가능한 경우 편집기 URL 또는 시각적 증거를 사용하세요.
실제 에이전트 대화 기록 확인
모든 L1 에이전트 실행 후, 성공을 보고하기 전에 전체 채팅 기록을 검사하세요:
- 최종 어시스턴트 응답과 실행 중 생성된 모든 도구 행을 읽으세요.
- 실패 또는 경고 행을 확장하고 정확한 오류를 기록하세요.
- 중단된 턴, 반복 재시도, 오래된 제안, 불완전한 작업, 최종 응답이 잘못 성공으로 설명하는 도구 결과가 있는지 확인하세요.
- 최신
read_project결과를 보이는 타임라인과 비교하세요. - 시각적 편집의 경우, 어시스턴트 요약을 신뢰하지 말고 반환된 타임라인 프레임을 검사하세요.
타임라인이 올바르게 보이지만 보고되지 않은 도구 오류가 있는 실행은 깨끗한 통과가 아닙니다. 원인을 수정하거나 남은 오류를 명시적으로 보고하세요.
검증이 실패하면 도구를 변경하기 전에 격차를 분류하세요:
- 도구 설명 또는 스키마가 불충분했습니다.
- 스킬 지침에 단계가 누락되었습니다.
read_project가 충분한 상태를 노출하지 않았습니다.- 편집기 권한 부여가 완료되지 않았습니다.
- 미디어/전사 파이프라인이 실패했습니다.
- 클라우드 렌더/편집기 관찰이 차단되었습니다.