Graphe — 하나의 질문을 그래프로 실행하기
하나의 중요한 질문이나 제안된 워크플로우를 단계별 증거 그래프로 전환하세요:
계획 → 병렬 레인 → 회의론자 → 병합 → 인간 게이트
이 스킬은 다음 명령어로 명시적으로 호출됩니다:
/graphe <질문 또는 워크플로우>
사용 시기
사용자가 중요한 질문, 결정, 조사, 또는 제안된 워크플로우를 독립적인 증거 레인(evidence lanes)으로 분해하고, 별도의 회의론자(skeptic)가 이를 검증한 후 인간의 결정 게이트(human decision gate)로 반환하기를 원할 때 /graphe를 사용하세요. 시장 검증, 기술 선택, 운영 설계, 그리고 약한 증거로 인해 작업이 낭비될 수 있는 결정에 특히 유용합니다. 일반적인 질문에는 암시적으로 활성화하지 마세요. 슬래시 명령어는 옵트인(opt-in)입니다.
호출은 다중 에이전트 작업에 대한 의도적인 옵트인입니다. 질문이 단순해 보인다고 해서 일반적인 단일 에이전트 응답으로 격하하지 마세요.
설계 원칙
- 최종 결과를 먼저 정의한 후 작업(jobs)을 그리세요.
- 그래프를 화살표로 연결된 작업으로 취급하세요. 화살표는 실제 종속성을 나타내며, 공유된 메모/결과는 상태(state)입니다.
- 품질을 실질적으로 향상시키는 가장 작은 그래프를 구축하세요. 더 많은 에이전트는 중복 노이즈를 만들 수 있습니다.
- 가짜 대기(fake waiting)를 제거하세요. 독립적인 작업은 병렬로 실행되고, 종속적인 작업은 대기합니다.
- 작업자(worker)와 검증자(checker)를 분리하세요. 연구자는 자신의 작업을 평가하지 않습니다.
- 명시된 결정 기준에 대해 답변이 충분히 좋아지면 중단하세요.
- 계획, 증거, 출처, 회의론자 평결, 결정 등 유용한 상태를 보존하세요. 사용자가 재사용 가능한 문서 흔적(paper trail)을 요청하거나 작업 공간에 이미 연구-아티팩트(research-artifact) 규칙이 있는 경우에 해당합니다.
- 오케스트레이션 도구는 워크플로우보다 부차적입니다. 새로운 반복 그래프의 경우, 더 무거운 프레임워크나 외부 자동화를 추가하기 전에 수동으로 형태를 증명하세요.
비-협상 규칙
- 순서는 엄격합니다. 회의론자가 끝나기 전에 병합하지 마세요. 인간 게이트 전에 권장 사항을 실행하지 마세요.
- 연구 레인은 읽기 전용입니다. 출처, 파일, 시스템 및 공개 정보를 검사할 수 있지만, 게시, 전송, 구매, 삭제, 배포, 프로덕션 수정 또는 사람에게 연락해서는 안 됩니다.
- 증거는 주장 수준입니다. 모든 중요한 사실 주장에는 출처 URL/경로, 출처 유형 및 신뢰도가 필요합니다. "하위 에이전트가 그렇게 말했습니다"는 증거가 아닙니다.
- 1차 출처가 우선합니다. 공식 문서, 자사 데이터, 소스 코드, 계약서, 직접 고객 증거 또는 원본 기록을 선호하세요. 2차 증거와 추론은 레이블을 붙이세요.
- 회의론자는 별도의 작업입니다. 독립적으로 주장을 공격하고, 원본 출처를 확인하며, 모순을 찾고, 각 주장에
유지(keep),수정(qualify)또는거부(reject)를 표시하세요. - 생존한 주장만 병합됩니다. 거부된 주장은 최종 권장 사항에서 사실로 나타날 수 없습니다.
- 인간이 다음 행동을 선택합니다. 게이트에는
clarify도구를 사용하세요. 선택 사항을 묵묵히 선택하거나 시작하지 마세요. - 가짜 병렬 처리는 금지입니다. 독립적인 레인에는 하나의 배치
delegate_task(tasks=[...])호출을 사용하세요. 병렬 레인을 위해 순차적인 단일 자식 호출을 하지 마세요. - Hermes 비동기 위임을 존중하세요. 배치가 발송된 후에는 폴링하거나 완료를 주장하지 마세요. 모든 레인이 완료되면 연구 결과가 대화에 다시 들어옵니다. 그런 다음 회의론자를 시작하세요.
- 출력은 결정 크기로 유지하세요. 병합은 한 페이지 분량의 권장 사항이지, 모든 레인 보고서를 덤프하는 것이 아닙니다.
0단계 — 호출 구문 분석
/graphe 뒤의 텍스트를 질문으로 처리하세요. 선택적 모드 단어가 제공될 수 있습니다:
fast: 2개 레인, 좁은 증거 통과.standard: 3개 레인, 기본값.deep: 3개 레인, 더 넓은 출처 범위와 명시적인 후속 격차.
질문이 제공되지 않으면 하나의 개방형 명확화 질문을 하세요: "어떤 질문이나 워크플로우를 그래프로 실행해야 합니까?" 대상을 정하지 않고 연구를 시작하지 마세요.
1단계 — 계획
부모 에이전트가 계획을 소유합니다. 위임하기 전에 간결한 그래프 계획을 생성하세요:
- 결정/질문 — 한 문장.
- 출력 기준 — 유용한 답변이 결정하거나 가능하게 해야 하는 것.
- 제약 조건 — 시간, 시장, 관할권, 예산, 저장소/시스템 경계 및 금지된 부작용.
- 레인 — 2~3개의 직교하는 연구 작업. 각 작업에는 명확한 질문과 중단 기준이 있습니다.
- 게이트 — 실행이 인간의 선택을 기다린다고 명시하세요.
도메인에 맞는 레인을 선택하고 레이블을 무분별하게 재사용하지 마세요.
기본 레인 패턴
시장/제품/비즈니스 질문의 경우 다음을 선호하세요:
- 고객 고통/현재 행동 — 대상 사용자가 오늘날 문제를 어떻게 처리하는지, 직접 증거, 해결 방법, 긴급성 및 변경 의지.
- 경쟁사/대안/경제성 — 누가 이미 해결하고 있는지, 대체재, 포지셔닝, 가격, 전환 비용 및 실패 모드.
- 유통/실행/제약 조건 — 잠재 고객에게 실제로 도달하는 방법, 운영 가능성, 법적/보안 제약 조건 및 테스트 비용.
일반 연구 또는 기술 결정의 경우 다음을 선호하세요:
- 근거/현재 상태 — 기본 사실, 요구 사항 및 시스템 동작.
- 대안/반증 — 경쟁 접근 방식, 반증 증거 및 트레이드오프.
- 실행/위험/검증 — 구현 경로, 종속성, 실패 모드 및 안전한 테스트 방법.
구현 워크플로우의 경우, 게이트까지 모든 레인을 읽기 전용으로 유지하세요. 병렬 에이전트는 다른 영역을 검사할 수 있지만, 동일한 체크아웃을 편집하거나 외부 부작용을 만들어서는 안 됩니다.
중복 레인을 피하세요. 두 레인이 동일한 출처를 검색하여 동일한 주장을 찾는다면 레인을 재설계하세요.
2단계 — 병렬 연구
2~3개의 리프 작업(leaf tasks) 배치와 함께 delegate_task를 한 번 호출하세요. 모든 하위 작업에 전체 질문, 공유 제약 조건, 레인 임무, 아래 증거 계약 및 필요한 출력 언어를 제공하세요.
부모가 읽을 필드만 요구하는 관대한 작업별 output_schema를 사용하세요:
{
"type": "object",
"required": ["lane", "bottom_line", "claims", "gaps"],
"properties": {
"lane": {"type": "string"},
"bottom_line": {"type": "string"},
"claims": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "claim", "evidence", "source", "locator", "source_type", "confidence"],
"properties": {
"id": {"type": "string"},
"claim": {"type": "string"},
"evidence": {"type": "string"},
"source": {"type": "string"},
"locator": {"type": "string"},
"observed_or_published_at": {"type": "string"},
"source_type": {"type": "string"},
"confidence": {"type": "string"},
"assumptions": {"type": "array"},
"caveat": {"type": "string"}
}
}
},
"contradictions": {"type": "array"},
"gaps": {"type": "array"},
"candidate_next_moves": {"type": "array"}
}
}
레인 증거 계약
각 레인은 다음을 수행해야 합니다:
- 독립적으로 조사하고, 형제 레인과 조정하지 마세요.
- 접근 가능한 경우 현재의 원본 출처를 사용하세요.
- 모든 중요한 주장에 대해 URL, 파일 경로(페이지/라인 참조 포함) 또는 직접 레코드 식별자를 인용하세요.
- 안정적인 주장 ID를 할당하고, 가능할 때 인용문, 페이지, 라인, 섹션, 타임스탬프 또는 기타 로케이터를 포함하세요.
- 관찰된 사실, 보고된 주장, 계산 및 추론을 분리하세요.
- 시간에 민감한 증거에는 날짜를 포함하세요.
- 모순되는 증거와 알려지지 않은 것을 숨기지 말고 보고하세요.
- 컨텍스트가 누락된 경우 차단기를 보고하거나 가정에 명확히 레이블을 붙이세요. 하위 작업은 명확성을 요청할 수 없으며 추측해서는 안 됩니다.
- 명시된 중단 기준이 충족되거나 추가 검색의 수익이 급격히 감소할 때 중단하세요.
- 외부 변경을 가하지 마세요.
디스패치 도구가 배치가 실행 중임을 확인한 후, 어떤 레인이 활성화되어 있는지 간략히 명시하세요. 결과를 조작하거나 폴링하지 마세요.
3단계 — 회의론자
통합된 레인 결과가 대화에 다시 들어오면, 안정적인 주장 ID로 키가 지정된 주장/증거 매트릭스로 정규화한 다음, 회의론자로서 하나의 새로운 리프 delegate_task를 시작하세요. 원래 질문, 제약 조건, 정규화된 매트릭스 및 모든 레인 출력을 제공하세요.
회의론자는 다음을 수행해야 합니다:
- 먼저 영향력이 가장 큰 결정에 중요한 주장을 공격하세요.
- 접근 가능한 경우 인용된 원본 출처를 열고 확인하세요. 인용 문자열만으로는 충분하지 않습니다.
- 출처 품질, 최신성, 관련성, 표본 편향, 인과적 도약, 숨겨진 가정, 산술, 출처 의존성 및 순환 확인을 테스트하세요.
- 레인 전반에 걸쳐 반증 증거와 모순을 구체적으로 검색하세요.
- 각 주장에
유지(keep),수정(qualify)또는거부(reject)를 표시하고, 이유를 제시하며, 해당되는 경우 결함을치명적(fatal),중대한(material)또는사소한(minor)으로 레이블을 붙이세요. - 사실 오류와 선호도 불일치를 구별하세요.
- 어떤 증거가 결정을 바꿀 수 있는지, 그리고 각 중대한 이의를 해결할 수 있는 가장 작은 추가 확인이 무엇인지 식별하세요.
- 가장 큰 불확실성을 해결하는 비용이 저렴한 다음 행동을 3개 이하로 권장하세요.
- 부작용을 수행하지 마세요.
다음을 요구하는 출력 스키마를 사용하세요:
{
"type": "object",
"required": ["claim_verdicts", "contradictions", "decision_risks", "best_next_tests"],
"properties": {
"claim_verdicts": {"type": "array"},
"contradictions": {"type": "array"},
"decision_risks": {"type": "array"},
"best_next_tests": {"type": "array"}
}
}
회의론자를 발송한 후, 증거 공격이 실행 중이라고 명시하세요. 조기에 병합하지 말고 폴링하지 마세요.
4단계 — 병합
회의론자 결과가 반환되면, 부모 에이전트는 유지(keep) 및 명확히 수정(qualify)된 주장만 사용하여 한 페이지 분량의 권장 사항을 만듭니다. 중대한 모호성을 해결하기 위해 필요한 출처를 다시 여세요. 하위 에이전트 요약은 외부 부작용이나 라이브 시스템 상태의 증거가 아닙니다.
이 정확한 구조를 사용하세요:
# 권장 사항
**결정:** <한 문장>
**신뢰도:** <낮음 / 보통 / 높음, 한 줄 이유>
## 이유
- <생존한 주장 + 인용>
- <생존한 주장 + 인용>
- <생존한 주장 + 인용>
## 생존하지 못한 것
- <거부되거나 실질적으로 약화된 주장 + 이유>
## 주요 위험 및 미지수
- <위험/미지수>
## 최선의 다음 행동
1. <가장 큰 불확실성을 줄이는 가장 작은 테스트>
2. <두 번째 옵션>
3. <세 번째 옵션, 유용한 경우에만>
4. 패스 — 지금은 아무 조치도 취하지 않음
대략 한 페이지 분량으로 유지하세요. 인라인으로 출처를 링크하거나 인용하세요. 사용자가 요청하는 경우에만 상세 레인 자료를 부록에 넣으세요.
5단계 — 인간 게이트
한 페이지 병합 직후, 4개 이하의 선택지로 단일 선택 모드에서 clarify를 호출하세요:
- 증거에서 파생된 최대 3개의 구체적인 다음 행동.
- 항상
패스 — 지금은 아무 조치도 취하지 않음을 포함하세요.
각 옵션만 choices 배열에 넣으세요. 질문 문장에 선택지를 중복해서 넣지 마세요. "어떤 다음 행동을 승인하시겠습니까?"라고 물으세요.
사용자의 선택이 도착할 때까지 어떤 옵션도 실행하지 마세요. /graphe 호출 자체는 부작용에 대한 승인이 아닙니다. 선택 후:
- 선택된 다음 행동과 승인된 분석 범위를 한 문장으로 다시 명시하세요.
- 이동이 메시지 전송, 게시, 구매, 계정 변경, 배포, 파일 삭제, API 변형 또는 기타 외부 부작용을 초래하는 경우, 실행 전에 정확한 대상/계정/작업 공간, 제안된 페이로드/명령/변경, 예상 비용 및 대상, 되돌리기/롤백 계획, 중복 방지 전략, 확인 방법 및 해결되지 않은 위험을 제시하세요. 일반 안전 규칙에 필요한 추가 승인을 받으세요.
- 승인된 이동만 실행하세요.
- 전송, 구매, 배포, 파괴적 작업, 비밀 또는 프로덕션 변경에 대해 일반 안전/승인 규칙을 적용하세요.
- 결과 객체를 다시 읽거나 가져와서 독립적으로 확인된 효과만 보고하세요.
실패 및 대체 동작
- 레인 실패: 일시적인 경우에만 한 번 재시도하세요. 그렇지 않으면 나머지 레인으로 계속 진행하고 신뢰도를 현저히 낮추세요.
- 출처에 접근 불가: 접근 실패를 보고하세요. 누락된 증거를 그럴듯한 산문으로 대체하지 마세요.
- 레인 충돌: 회의론자 단계까지 충돌을 유지하세요. 호환되지 않는 주장을 평균화하지 마세요.
- 위임 불가: 요청된 다중 에이전트 그래프를 설계대로 실행할 수 없다고 말하세요. 명확히 레이블이 지정된 단일 에이전트 대체를 제공하세요. 묵묵히 대체하지 마세요.
- 실행 중 질문 변경: 이전 그래프를 중단하고, 수정된 결정을 다시 명시한 후 다시 계획하세요. 관련 없는 레인 결과를 새 질문에 접합하지 마세요.
- 안전하지 않거나 허용되지 않는 요청: 일반 안전 규칙이 그래프를 재정의합니다. 안전하지 않은 부분은 거부하거나 축소하는 동시에 안전한 분석은 유지하세요.
품질 체크리스트
인간 게이트를 열기 전에 다음을 확인하세요:
- 부모가 명시적인 계획을 생성했습니다.
- 2~3개의 독립적인 레인이 하나의 병렬 배치로 실행되었습니다.
- 모든 중요한 주장에 추적 가능한 증거가 있습니다.
- 별도의 회의론자가 증거를 공격했습니다.
- 거부된 주장은 권장 사항에서 제외되었습니다.
- 병합은 간결하고 결정 중심적입니다.
- 게이트 전에 외부 부작용이 발생하지 않았습니다.
- 인간에게 패스를 포함한 구체적인 선택지가 제공됩니다.