메인 콘텐츠로 건너뛰기
Forge는 v1.3에 새로 도입된 Starfort의 정책 테스트 기능입니다. v1.2에서는 답할 수 없던 질문 — 내 Guard Policy가 실제로 기대한 대로 판정하는가? — 에 답합니다. 각 입력이 받아야 할 판정을 짝지은 Test Dataset을 등록하고, Project Guardian을 대상으로 Experiment를 실행하면 action 클래스별 accuracy가 산출됩니다. 실패한 케이스는 정책을 수동으로 개선하기 위한 신호가 됩니다.
Forge 내비게이션 항목과 Add Dataset, Run Experiment 버튼이 강조 표시된 Project Guardian의 Forge 탭
Forge는 측정하고 가시화할 뿐, 정책을 대신 수정하지 않습니다. 평가는 expected action과 actual action의 결정적(deterministic) 비교이며(LLM 판정 없음), 정책 수정은 일반적인 Guard Policy 편집·버전 관리 흐름을 그대로 사용합니다.

Test Dataset

Test DatasetProject Guardian(정책을 테스트할 대상)에 종속됩니다. 한 Guardian에 여러 dataset을 둘 수 있습니다 — 예: “PII 공격 패턴”, “정상 입력”, “Edge case”. Dataset 이름은 소속 Guardian 안에서 유일하며, Guardian을 삭제하면 그 dataset과 모든 결과도 함께 삭제됩니다. Dataset의 각 item은 두 부분으로 구성됩니다:
부분내용
입력Guardian에 전달할 콘텐츠 — 멀티턴 대화(user / assistant 메시지의 순서 배열). v1.3은 텍스트만 지원합니다.
기대 판정값Guardian이 내려야 판정 — 최종 action(PASS / MASK / BLOCK), 선택적으로 걸려야 할 정책 코드와 자유 텍스트 reason.
v1.3의 평가는 최종 action만 비교합니다. 정책 코드와 reason은 실패 케이스 분석을 위해 모든 결과와 함께 보존되지만, 점수에는 영향을 주지 않습니다.

Dataset 등록

프로젝트의 Guardian에서 Forge를 열고 dataset을 생성합니다:
1

이름과 설명

이름은 해당 Project Guardian 안에서 유일해야 합니다.
2

Guardian Action List

이 dataset이 평가 대상으로 삼는 action 집합(예: Pass / Mask / Block) — 클래스별 accuracy가 이 기준으로 산출됩니다.
3

Item 업로드

CSV 또는 JSONL 파일 — 각 레코드가 1개 item(input + expected_output)입니다.
4

Goal (선택)

0~100%의 accuracy 목표치. 설정하면 이 dataset의 모든 Experiment에 PASS / FAIL 판정이 붙습니다: Total Accuracy ≥ Goal이면 PASS.
업로드된 JSONL 파일과 컬럼 매핑을 보여주는 Add Test Dataset 다이얼로그의 Dataset File 단계
Goal 80%와 PASS, MASK, BLOCK이 선택된 Add Test Dataset 다이얼로그의 Evaluation 단계
Dataset은 버전 관리됩니다. 편집하거나 재업로드하면 새 버전이 생성되고 이전 버전도 보존되며, Experiment는 원하는 버전(기본값 = 최신)으로 실행할 수 있습니다.

Experiment

Experiment는 선택한 정책 구성으로 하나의 Test Dataset을 Project Guardian에 통과시켜 결과를 채점하는 1회의 실행입니다. 다음을 설정합니다:
입력비고
Dataset (+ 버전)Dataset이 대상 Guardian, Goal, Action List를 결정합니다. 버전 기본값은 최신입니다.
이름 / 설명선택 — 이름을 지정하지 않으면 process type과 정책 구성으로 자동 명명됩니다.
Policy 선택서로 다른 정책 1개 이상, 각각 버전 1개를 지정(기본값 = 그 정책의 최신 버전). 같은 정책을 두 번 고를 수 없습니다 — 한 정책의 버전 간 비교는 별도 Experiment를 실행해 나란히 비교합니다.
Process type · model configGuardian이 지원하는 process type 중 하나(기본값 = 첫 번째). Model config는 Guardian 설정값이 미리 채워지며 이 실행에 한해 override할 수 있습니다.
PII Basic 정책 버전 0.1.0과 input process type이 선택된 Run Experiment 다이얼로그의 Configuration 단계
실행은 **동기(synchronous)**입니다. 완료될 때까지 blocking되고(RUNNINGCOMPLETED 또는 ERROR), 완료 시 결과를 보여줍니다. 결과·트레이스·점수는 영구 보존되어 과거 Experiment를 언제든 다시 조회할 수 있습니다.

채점 방식

각 item은 응답이 도착하는 즉시 판정됩니다 — expected action vs actual action, 정답 또는 오답. Experiment는 다음을 보고합니다:
  • Total Accuracy — action이 일치한 item 수 / 전체 item 수.
  • Pass / Mask / Block Accuracy — dataset의 Action List에 있는 클래스별, expected action 기준의 정답 비율.
  • PASS / FAIL — dataset에 Goal이 있는 경우에만: Total Accuracy ≥ Goal이면 PASS.
처리 6건, 불일치 4건, Total Accuracy 33%, FAIL 판정과 action별 정확도를 보여주는 Run Experiment 결과 단계

결과가 저장되는 곳

Experiment 트레이스는 OpticonGuardian › dataset › Experiment 계층으로 기록되며, 운영 트래픽과 엄격히 분리됩니다: forge environment 태그(운영 트레이스는 default), Experiment 이름 = session, dataset 이름 = user ID. 운영 PASS / MASK / BLOCK 지표가 테스트 실행으로 오염되지 않고, 특정 Experiment의 트레이스만 정확히 필터링할 수 있습니다. Starfort의 Experiment 이력에는 Forge에서 트리거한 실행만 표시됩니다.

실패 케이스로 정책 개선하기

Forge는 기존에 운영 트래픽 사후 분석에 의존하던 루프를 사전 검증으로 닫아줍니다:
1

실패 케이스 찾기

accuracy가 낮은 Experiment에서 실패한 item(accuracy = 0)을 열어 각 트레이스를 확인합니다 — 입력, expected action, actual action.
2

진단

패턴을 찾습니다: 누락된 PII 카테고리, 과탐/미탐하는 topic 등.
3

정책 수정

Guard Policy를 수정하고 새 버전을 발행합니다 — 일반적인 편집·버전 관리 흐름 그대로입니다.
4

재실행 후 비교

같은 dataset으로 새 버전의 Experiment를 실행합니다. Run을 나란히 비교하면 accuracy 변화가 보이고 — 회귀(regression)를 운영 트래픽에 도달하기 전에 잡을 수 있습니다.

권한

작업필요 권한
Dataset · Experiment 조회Project Member 이상
Dataset 등록/수정, Experiment 실행test-execute IAM 권한
Dataset 삭제Project Admin 이상
Guard Policy 수정·반영Project Admin 이상 (일반 정책 편집과 동일)
v1.3의 Forge는 의도적으로 텍스트 전용·rule-based입니다. 파일/이미지 dataset, LLM-as-judge 평가, 자동 정책 최적화는 이번 버전 범위 밖입니다.