프로토콜 Q&A (VERA)
이 스킬은 로컬 VERA 도구(python -m vera)를 실행하여 프로토콜 질문에 답합니다. 자체 지식으로 프로토콜 질문에 답변해서는 안 됩니다. 오직 VERA가 반환한 내용만 전달하십시오. VERA는 수집된 프로토콜 문서를 읽고, 현재 어떤 버전이 시험을 관할하는지 파악한 후 관련 섹션을 검색하여 인용과 함께 답하거나 답변을 보류합니다.
사용 시기
코디네이터가 다음과 같은 질문을 할 때 이 스킬을 사용하십시오:
- "<약물>이 시험 에 허용/금지/제외됩니까?"
- "세척 기간/용량 제한/방문 기간은 얼마입니까?"
- "프로토콜 버전 간에 무엇이 변경되었습니까?"
- 프로토콜이 현재 요구하는 사항에 관한 모든 질문
프로토콜 답변을 직접 작성하지 마십시오. 일반적인 의학 지식을 사용하지 마십시오 — 모든 해당 질문은 VERA를 통해 처리하십시오.
실행 방법
-
질문과 시험 번호를 확인하십시오. 코디네이터가 어떤 시험인지 말하지 않았다면 물어보십시오. (데모 데이터셋에는 시험 412번이 포함되어 있습니다.)
-
프로젝트 루트에서 VERA를 실행하십시오. Bash 도구를 사용하고, 첫 번째 시도에는 항상
--no-escalate플래그를 함께 사용하십시오 (이 플래그는 도구 자체의 프롬프트를 억제하여 대화에서 에스컬레이션을 직접 처리할 수 있게 합니다):python -m vera "<코디네이터의 질문을 그대로>" --trial <N> --no-escalate질문을 정확히 전달하되, 큰따옴표로 묶으십시오. 질문을 바꿔 말하지 마십시오.
-
VERA의 출력을 읽고 전달하십시오 (아래 참조). 모든 인용을 유지하십시오.
결과 읽고 전달하는 방법
VERA는 두 가지 중 하나를 출력합니다.
A. 답변
출력은 관할 버전으로 시작하고, [backend: ...] 줄, 답변, Provenance: 블록, Verifier: PASSED 줄이 이어집니다. 예시:
Trial 412: governing version v3.0 (effective 2025-03-01) as of 2026-07-24
[backend: mock]
Per Trial 412 v3.0 §5.2 (Eligibility - Concomitant Metformin), effective 2025-03-01:
Concomitant metformin is permitted ... does not exceed 2000 mg/day ...
Change disclosure — this differs from the earlier Trial 412 v1.0 §5.2 ...
Provenance:
[current] Trial 412 v3.0 §5.2 ...
Verifier: PASSED — ...
이를 일반 언어로 코디네이터에게 전달하고 항상 다음을 유지하십시오:
- 답변 자체 (예: "허용됨, 최대 2000mg/일"),
- 인용 — 시험, 버전, 섹션 및 발효일,
- 모든 변경 사항 공개 ("이것은 버전 1.0에서 제외되었던 사항에서 변경되었습니다").
인용이나 버전을 절대 삭제하지 마십시오 — 답변이 어느 버전에서 나왔는지 아는 것이 핵심입니다.
B. 답변 보류
출력에 다음이 포함된 경우:
INSUFFICIENT EVIDENCE — escalating
Reason: <이유>
VERA가 안전하게 답변할 수 없었던 것입니다. 이는 주제가 현재 프로토콜 버전에 없거나, 검색 신뢰도가 너무 낮거나, 인용된 구절에 근거하여 답변할 수 없는 경우 발생합니다. 자체 지식으로 공백을 채우지 마십시오.
코디네이터에게 일반 언어로 현재 프로토콜에서 질문에 답변할 수 없다고 알리고 이유를 설명하십시오. 그런 다음 질문하십시오:
"현재 프로토콜에서 이 질문에 답변할 수 없습니다. 프로토콜 팀에 에스컬레이션하여 후속 조치를 받도록 하시겠습니까?"
-
예인 경우,
--no-escalate대신--escalate를 사용하여 동일한 명령을 다시 실행하십시오:python -m vera "<동일한 질문>" --trial <N> --escalate이 명령은 질문, 시험 및 이유를 요약하여 Azure DevOps 작업 항목(프로덕션에서는 ADO MCP 서버를 통해, 이 데모에서는
var/escalations/아래의 JSON 파일로)을 생성합니다. 코디네이터에게 에스컬레이션되었음을 확인하십시오. -
아니요인 경우, 더 이상 조치하지 말고 질문이 답변되지 않은 상태로 남았음을 확인하십시오.
에스컬레이션 전에 항상 동의를 구하십시오 — 이렇게 하면 가치가 낮은 티켓이 쏟아지는 것을 방지할 수 있습니다.
참고 사항
- 기본적으로 결정론적 모의(mock) 모델로 실행됩니다 (설정 불필요). 실제 모델을 사용하려면
.env파일에GEMINI_API_KEY(또는ANTHROPIC_API_KEY)를 추가하십시오. 자세한 내용은.env.example을 참조하십시오. 백엔드 선택은 이 스킬 사용 방식에 영향을 미치지 않습니다. - 출력에 백엔드에 대한
[warning]줄이 포함된 경우, 실시간 모델을 사용할 수 없어 결정론적 폴백이 대신 답변한 것입니다. 답변은 여전히 프로토콜에 근거하지만 — 성능 저하를 언급하고 숨기지 마십시오. - 예제 질문과 예상 결과는
README.md를 참조하십시오.