사전 검사 거부 처리하기
POLICY_REJECTED 오류를 정상적으로 처리하도록 에이전트 프롬프트를 설계하는 방법입니다.
사전 요구사항
- MCP ToolErrors에 대한 이해
사전 검사 사용
대규모 전송 전에 에이전트가
policy.preflight를 사용하도록 권장합니다. 이는 실제 전송 중의 강제 거부를 방지합니다.{
"agentId": "your-agent-id",
"to": "0xTarget",
"amount": "2000000"
} 오류 처리
transfer.send가 POLICY_REJECTED 오류를 반환하면 에이전트는 suggestion 필드를 받습니다. 예를 들어 소유자에게 대규모 잔액을 보내 회수하는 경우, 제안 필드는 전송을 분할하라고 안내합니다.{
"ok": false,
"error": {
"code": "POLICY_REJECTED",
"message": "Amount 2,000,000 OKRW exceeds spending limit 1,000,000 OKRW",
"suggestion": "Reduce amount to 1,000,000 OKRW or less."
}
} 팁: 시스템 프롬프트 지침을 추가합니다: '지출 한도로 인해 전송이 거부되면 전송을 한도 내에 맞는 더 작은 조각으로 분할합니다.'