Загружаем каталог…
Загружаем каталог…
Multi-Agent Workflow에서는 여러 Agent가 각자의 작업을 수행한다. 그렇다면 여러 Agent 중 하나가 실패했을 때는 어떻게 해야 할까? 처음에는 Agent 하나가 실패하면 전체 Workflow도 실패하는 흐름을 생각했는데, 05_partial_failure.py 실습에서는 같은 실패를 서로 다른 정책으로 처리하고 있었다. Agent 하나가 실패했다고 항상 전체 Workflow를 중단해야 할까? 이번 실습에서는 Fail Fast , Best Effort , Required/Optional 세 가지 정책을 비교하고, 실패하는 Agent를 직접 바꿔보면서 결과가 어떻게 달라지는지 확인했다. 선택 Agent가 실패한 경우 기본 실습에서는 Weather와 Budget Agent는 성공하고, Place Agent가 실패한 상황이었다. Weather Agent → 성공 [필수] Budget Agent → 성공 [필수] Place Agent → 실패 [선택] 코드에서는 필수 Agent가 다음과 같이 정의되어 있었다. REQUIRED_AGENTS = {"weather_agent", "budget_agent"} 따라서 실패한 place_agent 는 필수 결과에 포함되지 않는다. 이 상태에서 세 가지 실패 정책을 적용하자 결과가 달라졌다. 정책 계속 실행 이유 Fail Fast ❌ Agent 하나라도 실패하면 중단 Best Effort ✅ 성공한 결과가 있으므로 계속 Required/Optional ✅ 실패한 Place가 필수 Agent가 아니므로 계속 실제 실행 결과에서도 Required/Optional 의 경우 필수 결과 누락이 없었다. failed_agents: ['place_agent'] missing_required: [] can_continue: True termination_reason: 'continue_with_available_results' 그렇다면 필수 Agent가 실패하면 어떻게 될까? 여기서 한 가지가 더 궁금해졌다. Required/Optional 정책에서는 Place Agent가 실패해도 Workflow를 계속할 수 있었다. 그렇다면 선택 Agent가 아니라 필수 Agent가 실패하면 결과가 달라질까? 이를 확인하기 위해 기존 코드에서 실패 대상을 place_agent 에서 budget_agent 로 직접 변경해봤다. 기존 코드는 다음과 같았다. RESULTS = { "weather_agent": {"status": "completed"}, "budget_agent": {"status": "completed"}, } ERRORS = { "place_agent": "Provider timeout" } 실패 Agent를 Budget으로 바꾸면서 성공 결과도 함께 변경했다. RESULTS = { "weather_agent": {"status": "completed"}, "place_agent": {"status": "completed"}, } ERRORS = { "budget_agent": "Provider timeout" } 필수 Agent를 정의하는 REQUIRED_AGENTS 는 그대로 유지했다. REQUIRED_AGENTS = { "weather_agent", "budget_agent" } 즉 이번에는 다음 상황을 만든 것이다. Weather Agent → 성공 [필수] Place Agent → 성공 [선택] Budget Agent → 실패 [필수] 같은 정책인데 결과가 달라졌다 코드를 다시 실행하자 budget_agent 가 missing_required 에 포함됐다. failed_agents: ['budget_agent'] missing_required: ['budget_agent'] 그리고 Required/Optional 정책은 더 이상 Workflow를 계속할 수 없다고 판단했다. policy: 'required_optional' can_continue: False termination_reason: 'required_result_failed' 두 실험을 비교하면 차이가 더 명확하다. 실패한 Agent Fail Fast Best Effort Required/Optional Place Agent [선택] 중단 계속 계속 Budget Agent [필수] 중단 계속 중단 Fail Fast 는 Agent 하나가 실패하면 중단했고, Best Effort 는 성공한 결과가 남아 있으면 계속 진행했다. 가장 차이가 명확했던 것은 Required/Optional 이었다. Place Agent가 실패했을 때는 필수 결과가 모두 남아 있어 계속할 수 있었지만, 필수 Agent인 Budget이 실패하자 missing_required 에 포함되면서 Workflow가 중단됐다. 실패 여부만 보는 것이 아니었다 이번 실습에서 중요한 것은 어떤 정책이 항상 더 좋은지를 고르는 것이 아니었다. Workflow마다 반드시 필요한 결과와 허용할 수 있는 실패가 다르기 때문이다. 이번 실습에서는 Weather와 Budget을 필수 Agent로 정의하고 Place를 선택 Agent로 두었다. 따라서 Place가 실패해도 Required/Optional 정책에서는 계속 진행할 수 있다고 판단하지만, Budget이 실패하면 필수 결과가 누락된 것으로 판단해 중단한다. 특히 실패가 발생한 뒤 그때그때 계속할지 결정하는 것이 아니라, 어떤 결과가 필수인지와 실패했을 때 어떻게 처리할지를 Workflow 정책으로 미리 정의한다는 점 이 중요했다. 정리 이번 실습에서는 선택 Agent였던 Place의 실패를 필수 Agent인 Budget의 실패로 직접 바꿔 실행해봤다. 그 결과 같은 Required/Optional 정책에서도 Place가 실패했을 때는 계속 진행할 수 있었지만, Budget이 실패하자 required_result_failed 로 중단되는 것을 확인했다. 이를 통해 Multi-Agent Workflow에서는 단순히 “Agent가 실패했는가?” 만 판단하는 것이 아니라, 어떤 결과가 반드시 필요한지, 어떤 실패를 허용할지, 언제 Workflow를 중단할지를 미리 정책으로 정의하는 것 이 중요하다는 점을 이해할 수 있었다. GitHub 이번 실습과 관련된 코드는 GitHub에서 확인할 수 있다. 📂 Orchestration - Partial Failure https://github.com/jbbdyee/aidevs/blob/main/07_multi-agent-service-ops/04_orchestration/05_partial_failure.py
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
Multi-Agent | Agent 하나가 실패하면 전체 Workflow도 멈춰야 할까?. Multi-Agent Workflow에서는 여러 Agent가 각자의 작업을 수행한다. 그렇다면 여러 Agent 중 하나가 실패했을 때는 어떻게 해야 할까? 처음에는 Agent 하나가 실패하면 전체 Workflow도 실패하는 흐름을 생각했는데, 05_partial_failure.py 실습에서는 같은 실패를 서로 다른 정책으로 처리하고 있었다. Agent 하나가 실패했다고 항상 전체 Workflow를 중단해야 할까? 이번 실습에서는 Fail Fast , Best Effort , Required/Optional 세 가지 정책을 비교하고, 실패하는 Agent를 직접 바꿔보면서 결과가 어떻게 달라지는지 확인했다. 선택…
Открыть источник