mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-04-30 14:52:36 +00:00
559 lines
19 KiB
Plaintext
559 lines
19 KiB
Plaintext
---
|
|
title: "Flow HITL 관리"
|
|
description: "이메일 우선 알림, 라우팅 규칙 및 자동 응답 기능을 갖춘 Flow용 엔터프라이즈급 인간 검토"
|
|
icon: "users-gear"
|
|
mode: "wide"
|
|
---
|
|
|
|
<Note>
|
|
Flow HITL 관리 기능은 `@human_feedback` 데코레이터가 필요하며, **CrewAI 버전 1.8.0 이상**에서 사용할 수 있습니다. 이 기능은 Crew가 아닌 **Flow**에만 적용됩니다.
|
|
</Note>
|
|
|
|
CrewAI Enterprise는 AI 워크플로우를 협업적인 인간-AI 프로세스로 전환하는 Flow용 포괄적인 Human-in-the-Loop(HITL) 관리 시스템을 제공합니다. 플랫폼은 **이메일 우선 아키텍처**를 사용하여 이메일 주소가 있는 누구나 플랫폼 계정 없이도 검토 요청에 응답할 수 있습니다.
|
|
|
|
## 개요
|
|
|
|
<CardGroup cols={3}>
|
|
<Card title="이메일 우선 설계" icon="envelope">
|
|
응답자가 알림 이메일에 직접 회신하여 피드백 제공 가능
|
|
</Card>
|
|
<Card title="유연한 라우팅" icon="route">
|
|
메서드 패턴 또는 Flow 상태에 따라 특정 이메일로 요청 라우팅
|
|
</Card>
|
|
<Card title="자동 응답" icon="clock">
|
|
시간 내에 인간이 응답하지 않을 경우 자동 대체 응답 구성
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
### 주요 이점
|
|
|
|
- **간단한 멘탈 모델**: 이메일 주소는 보편적이며 플랫폼 사용자나 역할을 관리할 필요 없음
|
|
- **외부 응답자**: 플랫폼 사용자가 아니어도 이메일이 있는 누구나 응답 가능
|
|
- **동적 할당**: Flow 상태에서 직접 담당자 이메일 가져오기 (예: `sales_rep_email`)
|
|
- **간소화된 구성**: 설정할 항목이 적어 더 빠르게 가치 실현
|
|
- **이메일이 주요 채널**: 대부분의 사용자는 대시보드 로그인보다 이메일로 응답하는 것을 선호
|
|
|
|
## Flow에서 인간 검토 포인트 설정
|
|
|
|
`@human_feedback` 데코레이터를 사용하여 Flow 내에 인간 검토 체크포인트를 구성합니다. 실행이 검토 포인트에 도달하면 시스템이 일시 중지되고, 담당자에게 이메일로 알리며, 응답을 기다립니다.
|
|
|
|
```python
|
|
from crewai.flow.flow import Flow, start, listen, or_
|
|
from crewai.flow.human_feedback import human_feedback, HumanFeedbackResult
|
|
|
|
class ContentApprovalFlow(Flow):
|
|
@start()
|
|
def generate_content(self):
|
|
return "Q1 캠페인용 마케팅 카피 생성..."
|
|
|
|
@human_feedback(
|
|
message="브랜드 준수를 위해 이 콘텐츠를 검토해 주세요:",
|
|
emit=["approved", "rejected", "needs_revision"],
|
|
)
|
|
@listen(or_("generate_content", "needs_revision"))
|
|
def review_content(self):
|
|
return "검토용 마케팅 카피..."
|
|
|
|
@listen("approved")
|
|
def publish_content(self, result: HumanFeedbackResult):
|
|
print(f"승인된 콘텐츠 게시 중. 검토자 노트: {result.feedback}")
|
|
|
|
@listen("rejected")
|
|
def archive_content(self, result: HumanFeedbackResult):
|
|
print(f"콘텐츠 거부됨. 사유: {result.feedback}")
|
|
```
|
|
|
|
완전한 구현 세부 사항은 [Flow에서 인간 피드백](/ko/learn/human-feedback-in-flows) 가이드를 참조하세요.
|
|
|
|
### 데코레이터 파라미터
|
|
|
|
| 파라미터 | 유형 | 설명 |
|
|
|---------|------|------|
|
|
| `message` | `str` | 인간 검토자에게 표시되는 메시지 |
|
|
| `emit` | `list[str]` | 유효한 응답 옵션 (UI에서 버튼으로 표시) |
|
|
|
|
## 플랫폼 구성
|
|
|
|
HITL 구성에 접근: **배포** → **설정** → **Human in the Loop 구성**
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-settings-overview.png" alt="HITL 구성 설정" />
|
|
</Frame>
|
|
|
|
### 이메일 알림
|
|
|
|
HITL 요청에 대한 이메일 알림을 활성화하거나 비활성화하는 토글입니다.
|
|
|
|
| 설정 | 기본값 | 설명 |
|
|
|-----|-------|------|
|
|
| 이메일 알림 | 활성화됨 | 피드백 요청 시 이메일 전송 |
|
|
|
|
<Note>
|
|
비활성화되면 응답자는 대시보드 UI를 사용하거나 커스텀 알림 시스템을 위해 webhook을 구성해야 합니다.
|
|
</Note>
|
|
|
|
### SLA 목표
|
|
|
|
추적 및 메트릭 목적으로 목표 응답 시간을 설정합니다.
|
|
|
|
| 설정 | 설명 |
|
|
|-----|------|
|
|
| SLA 목표 (분) | 목표 응답 시간. 대시보드 메트릭 및 SLA 추적에 사용 |
|
|
|
|
SLA 추적을 비활성화하려면 비워 두세요.
|
|
|
|
## 이메일 알림 및 응답
|
|
|
|
HITL 시스템은 응답자가 알림 이메일에 직접 회신할 수 있는 이메일 우선 아키텍처를 사용합니다.
|
|
|
|
### 이메일 응답 작동 방식
|
|
|
|
<Steps>
|
|
<Step title="알림 전송">
|
|
HITL 요청이 생성되면 검토 콘텐츠와 컨텍스트가 포함된 이메일이 할당된 응답자에게 전송됩니다.
|
|
</Step>
|
|
<Step title="Reply-To 주소">
|
|
이메일에는 인증을 위한 서명된 토큰이 포함된 특별한 reply-to 주소가 있습니다.
|
|
</Step>
|
|
<Step title="사용자 회신">
|
|
응답자는 이메일에 피드백으로 회신하면 됩니다—로그인 필요 없음.
|
|
</Step>
|
|
<Step title="토큰 검증">
|
|
플랫폼이 회신을 받고, 서명된 토큰을 확인하고, 발신자 이메일을 매칭합니다.
|
|
</Step>
|
|
<Step title="Flow 재개">
|
|
피드백이 기록되고 인간의 입력으로 Flow가 계속됩니다.
|
|
</Step>
|
|
</Steps>
|
|
|
|
### 응답 형식
|
|
|
|
응답자는 다음과 같이 회신할 수 있습니다:
|
|
|
|
- **Emit 옵션**: 회신이 `emit` 옵션과 일치하면 (예: "approved") 직접 사용됨
|
|
- **자유 형식 텍스트**: 모든 텍스트 응답이 피드백으로 Flow에 전달됨
|
|
- **일반 텍스트**: 회신 본문의 첫 번째 줄이 피드백으로 사용됨
|
|
|
|
### 확인 이메일
|
|
|
|
회신을 처리한 후 응답자는 피드백이 성공적으로 제출되었는지 또는 오류가 발생했는지 나타내는 확인 이메일을 받습니다.
|
|
|
|
### 이메일 토큰 보안
|
|
|
|
- 토큰은 보안을 위해 암호화 서명됨
|
|
- 토큰은 7일 후 만료됨
|
|
- 발신자 이메일은 토큰의 인증된 이메일과 일치해야 함
|
|
- 처리 후 확인/오류 이메일 전송됨
|
|
|
|
## 라우팅 규칙
|
|
|
|
메서드 패턴에 따라 HITL 요청을 특정 이메일 주소로 라우팅합니다.
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-settings-routing-rules.png" alt="HITL 라우팅 규칙 구성" />
|
|
</Frame>
|
|
|
|
### 규칙 구조
|
|
|
|
```json
|
|
{
|
|
"name": "재무팀으로 승인",
|
|
"match": {
|
|
"method_name": "approve_*"
|
|
},
|
|
"assign_to_email": "finance@company.com",
|
|
"assign_from_input": "manager_email"
|
|
}
|
|
```
|
|
|
|
### 매칭 패턴
|
|
|
|
| 패턴 | 설명 | 매칭 예시 |
|
|
|-----|------|----------|
|
|
| `approve_*` | 와일드카드 (모든 문자) | `approve_payment`, `approve_vendor` |
|
|
| `review_?` | 단일 문자 | `review_a`, `review_1` |
|
|
| `validate_payment` | 정확히 일치 | `validate_payment`만 |
|
|
|
|
### 할당 우선순위
|
|
|
|
1. **동적 할당** (`assign_from_input`): 구성된 경우 Flow 상태에서 이메일 가져옴
|
|
2. **정적 이메일** (`assign_to_email`): 구성된 이메일로 대체
|
|
3. **배포 생성자**: 규칙이 일치하지 않으면 배포 생성자의 이메일이 사용됨
|
|
|
|
### 동적 할당 예제
|
|
|
|
Flow 상태에 `{"sales_rep_email": "alice@company.com"}`이 포함된 경우:
|
|
|
|
```json
|
|
{
|
|
"name": "영업 담당자에게 라우팅",
|
|
"match": {
|
|
"method_name": "review_*"
|
|
},
|
|
"assign_from_input": "sales_rep_email"
|
|
}
|
|
```
|
|
|
|
요청이 자동으로 `alice@company.com`에 할당됩니다.
|
|
|
|
<Tip>
|
|
**사용 사례**: CRM, 데이터베이스 또는 이전 Flow 단계에서 담당자를 가져와 적합한 사람에게 검토를 동적으로 라우팅하세요.
|
|
</Tip>
|
|
|
|
## 자동 응답
|
|
|
|
시간 내에 인간이 응답하지 않으면 HITL 요청에 자동으로 응답합니다. 이를 통해 Flow가 무한정 중단되지 않도록 합니다.
|
|
|
|
### 구성
|
|
|
|
| 설정 | 설명 |
|
|
|-----|------|
|
|
| 활성화됨 | 자동 응답 활성화 토글 |
|
|
| 타임아웃 (분) | 자동 응답 전 대기 시간 |
|
|
| 기본 결과 | 응답 값 (`emit` 옵션과 일치해야 함) |
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-settings-auto-respond.png" alt="HITL 자동 응답 구성" />
|
|
</Frame>
|
|
|
|
### 사용 사례
|
|
|
|
- **SLA 준수**: Flow가 무한정 중단되지 않도록 보장
|
|
- **기본 승인**: 타임아웃 후 저위험 요청 자동 승인
|
|
- **우아한 저하**: 검토자가 없을 때 안전한 기본값으로 계속
|
|
|
|
<Warning>
|
|
자동 응답을 신중하게 사용하세요. 기본 응답이 허용되는 중요하지 않은 검토에만 활성화하세요.
|
|
</Warning>
|
|
|
|
## 검토 프로세스
|
|
|
|
### 대시보드 인터페이스
|
|
|
|
HITL 검토 인터페이스는 검토자에게 깔끔하고 집중된 경험을 제공합니다:
|
|
|
|
- **마크다운 렌더링**: 구문 강조가 포함된 풍부한 형식의 검토 콘텐츠
|
|
- **컨텍스트 패널**: Flow 상태, 실행 기록 및 관련 정보 보기
|
|
- **피드백 입력**: 결정과 함께 상세한 피드백 및 코멘트 제공
|
|
- **빠른 작업**: 선택적 코멘트가 있는 원클릭 emit 옵션 버튼
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-list-pending-feedbacks.png" alt="HITL 대기 중인 요청 목록" />
|
|
</Frame>
|
|
|
|
### 응답 방법
|
|
|
|
검토자는 세 가지 채널을 통해 응답할 수 있습니다:
|
|
|
|
| 방법 | 설명 |
|
|
|-----|------|
|
|
| **이메일 회신** | 알림 이메일에 직접 회신 |
|
|
| **대시보드** | Enterprise 대시보드 UI 사용 |
|
|
| **API/Webhook** | API를 통한 프로그래밍 방식 응답 |
|
|
|
|
### 기록 및 감사 추적
|
|
|
|
모든 HITL 상호작용은 완전한 타임라인으로 추적됩니다:
|
|
|
|
- 결정 기록 (승인/거부/수정)
|
|
- 검토자 신원 및 타임스탬프
|
|
- 제공된 피드백 및 코멘트
|
|
- 응답 방법 (이메일/대시보드/API)
|
|
- 응답 시간 메트릭
|
|
|
|
## 분석 및 모니터링
|
|
|
|
포괄적인 분석으로 HITL 성능을 추적합니다.
|
|
|
|
### 성능 대시보드
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-metrics.png" alt="HITL 메트릭 대시보드" />
|
|
</Frame>
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="응답 시간" icon="stopwatch">
|
|
검토자 또는 Flow별 평균 및 중앙값 응답 시간 모니터링.
|
|
</Card>
|
|
<Card title="볼륨 트렌드" icon="chart-bar">
|
|
팀 용량 최적화를 위한 검토 볼륨 패턴 분석.
|
|
</Card>
|
|
<Card title="결정 분포" icon="chart-pie">
|
|
다양한 검토 유형에 대한 승인/거부 비율 보기.
|
|
</Card>
|
|
<Card title="SLA 추적" icon="chart-line">
|
|
SLA 목표 내에 완료된 검토 비율 추적.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
### 감사 및 규정 준수
|
|
|
|
규제 요구 사항을 위한 엔터프라이즈급 감사 기능:
|
|
|
|
- 타임스탬프가 있는 완전한 결정 기록
|
|
- 검토자 신원 확인
|
|
- 불변 감사 로그
|
|
- 규정 준수 보고를 위한 내보내기 기능
|
|
|
|
## 일반적인 사용 사례
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="보안 검토" icon="shield-halved">
|
|
**사용 사례**: 인간 검증이 포함된 내부 보안 설문지 자동화
|
|
|
|
- AI가 보안 설문지에 대한 응답 생성
|
|
- 보안팀이 이메일로 정확성 검토 및 검증
|
|
- 승인된 응답이 최종 제출물로 편집
|
|
- 규정 준수를 위한 완전한 감사 추적
|
|
</Accordion>
|
|
|
|
<Accordion title="콘텐츠 승인" icon="file-lines">
|
|
**사용 사례**: 법무/브랜드 검토가 필요한 마케팅 콘텐츠
|
|
|
|
- AI가 마케팅 카피 또는 소셜 미디어 콘텐츠 생성
|
|
- 브랜드팀 이메일로 목소리/톤 검토를 위해 라우팅
|
|
- 승인 시 자동 게시
|
|
</Accordion>
|
|
|
|
<Accordion title="재무 승인" icon="money-bill">
|
|
**사용 사례**: 경비 보고서, 계약 조건, 예산 배분
|
|
|
|
- AI가 재무 요청을 사전 처리하고 분류
|
|
- 동적 할당을 사용하여 금액 임계값에 따라 라우팅
|
|
- 재무 규정 준수를 위한 완전한 감사 추적 유지
|
|
</Accordion>
|
|
|
|
<Accordion title="CRM에서 동적 할당" icon="database">
|
|
**사용 사례**: CRM에서 계정 담당자에게 검토 라우팅
|
|
|
|
- Flow가 CRM에서 계정 담당자 이메일 가져옴
|
|
- 이메일을 Flow 상태에 저장 (예: `account_owner_email`)
|
|
- `assign_from_input`을 사용하여 적합한 사람에게 자동 라우팅
|
|
</Accordion>
|
|
|
|
<Accordion title="품질 보증" icon="magnifying-glass">
|
|
**사용 사례**: 고객 전달 전 AI 출력 검증
|
|
|
|
- AI가 고객 대면 콘텐츠 또는 응답 생성
|
|
- QA팀이 이메일 알림을 통해 검토
|
|
- 피드백 루프가 시간이 지남에 따라 AI 성능 개선
|
|
</Accordion>
|
|
</AccordionGroup>
|
|
|
|
## Webhook API
|
|
|
|
Flow가 인간 피드백을 위해 일시 중지되면, 요청 데이터를 자체 애플리케이션으로 보내도록 webhook을 구성할 수 있습니다. 이를 통해 다음이 가능합니다:
|
|
|
|
- 커스텀 승인 UI 구축
|
|
- 내부 도구와 통합 (Jira, ServiceNow, 커스텀 대시보드)
|
|
- 타사 시스템으로 승인 라우팅
|
|
- 모바일 앱 알림
|
|
- 자동화된 결정 시스템
|
|
|
|
<Frame>
|
|
<img src="/images/enterprise/hitl-settings-webhook.png" alt="HITL Webhook 구성" />
|
|
</Frame>
|
|
|
|
### Webhook 구성
|
|
|
|
<Steps>
|
|
<Step title="설정으로 이동">
|
|
**배포** → **설정** → **Human in the Loop**으로 이동
|
|
</Step>
|
|
<Step title="Webhook 섹션 확장">
|
|
**Webhooks** 구성을 클릭하여 확장
|
|
</Step>
|
|
<Step title="Webhook URL 추가">
|
|
webhook URL 입력 (프로덕션에서는 HTTPS 필수)
|
|
</Step>
|
|
<Step title="구성 저장">
|
|
**구성 저장**을 클릭하여 활성화
|
|
</Step>
|
|
</Steps>
|
|
|
|
여러 webhook을 구성할 수 있습니다. 각 활성 webhook은 모든 HITL 이벤트를 수신합니다.
|
|
|
|
### Webhook 이벤트
|
|
|
|
엔드포인트는 다음 이벤트에 대해 HTTP POST 요청을 수신합니다:
|
|
|
|
| 이벤트 유형 | 트리거 시점 |
|
|
|------------|------------|
|
|
| `new_request` | Flow가 일시 중지되고 인간 피드백을 요청할 때 |
|
|
|
|
### Webhook 페이로드
|
|
|
|
모든 webhook은 다음 구조의 JSON 페이로드를 수신합니다:
|
|
|
|
```json
|
|
{
|
|
"event": "new_request",
|
|
"request": {
|
|
"id": "550e8400-e29b-41d4-a716-446655440000",
|
|
"flow_id": "flow_abc123",
|
|
"method_name": "review_article",
|
|
"message": "이 기사의 게시를 검토해 주세요.",
|
|
"emit_options": ["approved", "rejected", "request_changes"],
|
|
"state": {
|
|
"article_id": 12345,
|
|
"author": "john@example.com",
|
|
"category": "technology"
|
|
},
|
|
"metadata": {},
|
|
"created_at": "2026-01-14T12:00:00Z"
|
|
},
|
|
"deployment": {
|
|
"id": 456,
|
|
"name": "Content Review Flow",
|
|
"organization_id": 789
|
|
},
|
|
"callback_url": "https://api.crewai.com/...",
|
|
"assigned_to_email": "reviewer@company.com"
|
|
}
|
|
```
|
|
|
|
### 요청에 응답하기
|
|
|
|
피드백을 제출하려면 webhook 페이로드에 포함된 **`callback_url`로 POST**합니다.
|
|
|
|
```http
|
|
POST {callback_url}
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"feedback": "승인됨. 훌륭한 기사입니다!",
|
|
"source": "my_custom_app"
|
|
}
|
|
```
|
|
|
|
### 보안
|
|
|
|
<Info>
|
|
모든 webhook 요청은 HMAC-SHA256을 사용하여 암호화 서명되어 진위성을 보장하고 변조를 방지합니다.
|
|
</Info>
|
|
|
|
#### Webhook 보안
|
|
|
|
- **HMAC-SHA256 서명**: 모든 webhook에 암호화 서명이 포함됨
|
|
- **Webhook별 시크릿**: 각 webhook은 고유한 서명 시크릿을 가짐
|
|
- **저장 시 암호화**: 서명 시크릿은 데이터베이스에서 암호화됨
|
|
- **타임스탬프 검증**: 리플레이 공격 방지
|
|
|
|
#### 서명 헤더
|
|
|
|
각 webhook 요청에는 다음 헤더가 포함됩니다:
|
|
|
|
| 헤더 | 설명 |
|
|
|------|------|
|
|
| `X-Signature` | HMAC-SHA256 서명: `sha256=<hex_digest>` |
|
|
| `X-Timestamp` | 요청이 서명된 Unix 타임스탬프 |
|
|
|
|
#### 검증
|
|
|
|
다음과 같이 계산하여 검증합니다:
|
|
|
|
```python
|
|
import hmac
|
|
import hashlib
|
|
|
|
expected = hmac.new(
|
|
signing_secret.encode(),
|
|
f"{timestamp}.{payload}".encode(),
|
|
hashlib.sha256
|
|
).hexdigest()
|
|
|
|
if hmac.compare_digest(expected, signature):
|
|
# 유효한 서명
|
|
```
|
|
|
|
### 오류 처리
|
|
|
|
webhook 엔드포인트는 수신 확인을 위해 2xx 상태 코드를 반환해야 합니다:
|
|
|
|
| 응답 | 동작 |
|
|
|------|------|
|
|
| 2xx | Webhook 성공적으로 전달됨 |
|
|
| 4xx/5xx | 실패로 기록됨, 재시도 없음 |
|
|
| 타임아웃 (30초) | 실패로 기록됨, 재시도 없음 |
|
|
|
|
## 보안 및 RBAC
|
|
|
|
### 대시보드 접근
|
|
|
|
HITL 접근은 배포 수준에서 제어됩니다:
|
|
|
|
| 권한 | 기능 |
|
|
|-----|------|
|
|
| `manage_human_feedback` | HITL 설정 구성, 모든 요청 보기 |
|
|
| `respond_to_human_feedback` | 요청에 응답, 할당된 요청 보기 |
|
|
|
|
### 이메일 응답 인증
|
|
|
|
이메일 회신의 경우:
|
|
1. reply-to 토큰이 인증된 이메일을 인코딩
|
|
2. 발신자 이메일이 토큰의 이메일과 일치해야 함
|
|
3. 토큰이 만료되지 않아야 함 (기본 7일)
|
|
4. 요청이 여전히 대기 중이어야 함
|
|
|
|
### 감사 추적
|
|
|
|
모든 HITL 작업이 기록됩니다:
|
|
- 요청 생성
|
|
- 할당 변경
|
|
- 응답 제출 (소스: 대시보드/이메일/API)
|
|
- Flow 재개 상태
|
|
|
|
## 문제 해결
|
|
|
|
### 이메일이 전송되지 않음
|
|
|
|
1. 구성에서 "이메일 알림"이 활성화되어 있는지 확인
|
|
2. 라우팅 규칙이 메서드 이름과 일치하는지 확인
|
|
3. 담당자 이메일이 유효한지 확인
|
|
4. 라우팅 규칙이 일치하지 않는 경우 배포 생성자 대체 확인
|
|
|
|
### 이메일 회신이 처리되지 않음
|
|
|
|
1. 토큰이 만료되지 않았는지 확인 (기본 7일)
|
|
2. 발신자 이메일이 할당된 이메일과 일치하는지 확인
|
|
3. 요청이 여전히 대기 중인지 확인 (아직 응답되지 않음)
|
|
|
|
### Flow가 재개되지 않음
|
|
|
|
1. 대시보드에서 요청 상태 확인
|
|
2. 콜백 URL에 접근 가능한지 확인
|
|
3. 배포가 여전히 실행 중인지 확인
|
|
|
|
## 모범 사례
|
|
|
|
<Tip>
|
|
**간단하게 시작**: 배포 생성자에게 이메일 알림으로 시작한 다음, 워크플로우가 성숙해지면 라우팅 규칙을 추가하세요.
|
|
</Tip>
|
|
|
|
1. **동적 할당 사용**: 유연한 라우팅을 위해 Flow 상태에서 담당자 이메일을 가져오세요.
|
|
|
|
2. **자동 응답 구성**: 중요하지 않은 검토에 대해 Flow가 중단되지 않도록 대체를 설정하세요.
|
|
|
|
3. **응답 시간 모니터링**: 분석을 사용하여 병목 현상을 식별하고 검토 프로세스를 최적화하세요.
|
|
|
|
4. **검토 메시지를 명확하게 유지**: `@human_feedback` 데코레이터에 명확하고 실행 가능한 메시지를 작성하세요.
|
|
|
|
5. **이메일 흐름 테스트**: 프로덕션에 가기 전에 테스트 요청을 보내 이메일 전달을 확인하세요.
|
|
|
|
## 관련 리소스
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Flow에서 인간 피드백" icon="code" href="/ko/learn/human-feedback-in-flows">
|
|
`@human_feedback` 데코레이터 구현 가이드
|
|
</Card>
|
|
<Card title="Flow HITL 워크플로우 가이드" icon="route" href="/ko/enterprise/guides/human-in-the-loop">
|
|
HITL 워크플로우 설정을 위한 단계별 가이드
|
|
</Card>
|
|
<Card title="RBAC 구성" icon="shield-check" href="/ko/enterprise/features/rbac">
|
|
조직을 위한 역할 기반 접근 제어 구성
|
|
</Card>
|
|
<Card title="Webhook 스트리밍" icon="bolt" href="/ko/enterprise/features/webhook-streaming">
|
|
실시간 이벤트 알림 설정
|
|
</Card>
|
|
</CardGroup>
|