예
- “환불 발행 전 항상 주문 상태 확인.”
- “고객 티어 확인 없이 가격 정보 절대 공유하지 않기.”
- “배포 전 린터 실행, 에러 시 중단.”
- “사용자가 경쟁사 언급하면 세일즈로 넘김.”
룰의 구조
- Trigger — 조건. 될 수 있음:
- 시맨틱 (“사용자가 가격에 대해 물으면”).
- 구조적 (“
refund도구 호출 전”). - 이벤트 기반 (“낮은 신뢰 리트리벌 발생 시”).
- Action — 무엇이 일어나야 하는지. 보통 Agent 가 따를 지시.
- Scope — 스코핑 참고. 전역, 테넌트별, 사용자별.
- Priority — 충돌 시 높은 우선순위가 낮은 것 오버라이드.
룰이 가는 곳
Wiki 스페이스 에 type =rule 로 추가. 또는 전용 절차 스페이스 사용.
Agent 는 매 턴 룰을 읽음 — 리트리벌에 맡기지 않음. 높은 우선순위 룰은 항상 컨텍스트 안.
룰 쓰기
룰은 구조화된 노트일 뿐. Wiki 에디터에서 Rule 템플릿 사용:도구로부터
Agent 는 사실 쓰는 것과 같은 방식으로 룰 쓸 수 있음 —remember_rule 도구로. Agent 가 교정에서 룰을 배울 때 유용:
사용자: 가격이 최종이라고 말하면 안 돼 — 항상 부가세 전이라고 언급해. Agent: [룰 쓰기: “가격 질문에 답할 때 ‘부가세 전’ 언급”]
리뷰어로부터
Approvals 큐가 리뷰어가 교정을 룰로 전환하게 함:- Agent 액션을 이유와 함께 거부.
- 교정에서 Save as rule 클릭.
- 관련 메모리 스페이스에 룰 추가, 모든 미래 실행에 적용.
룰 충돌
같은 턴에 두 룰이 다른 액션으로 발화하면 우선순위가 결정. 우선순위 같으면 두 액션 모두 Agent 에 표면화되고 Agent 가 둘 다 다루는 응답 구성.룰 은퇴
룰은 inactive 표시 (참조용으로 유지, 더 이상 적용 안 됨) 또는 supersede 가능 (노트·문서처럼). Superseded 룰은 리트리벌에서 배제; inactive 룰은 쿼리 가능하지만 발화 안 함.트레이스에서 룰 관찰
턴에서 발화한 모든 룰이 모델 호출 위에 트레이스에 표시:- 매치된 트리거.
- 프롬프트에 주입된 액션.
- Agent 동작이 룰과 정렬됐는지 여부.