개요
자율 에이전트는 단순히 명령을 실행하는 프로그램이 아니다. 주변 상황을 확인하고, 여러 선택지 중 하나를 고르고, 실패하면 다른 방법을 시도해야 한다. 이때 필요한 것이 행동을 안정적으로 조율하는 상위 제어 구조다.
행동 트리, 즉 Behavior Tree는 이런 역할을 맡는 구조다. 에이전트가 가진 도구, 조건 판단, 검색, 이동, 응답 생성 같은 기능을 하나의 흐름 안에서 연결한다. 그래서 행동 트리는 개별 기능을 실행하는 기술이라기보다, 여러 기능을 언제 어떤 순서로 사용할지 결정하는 오케스트레이션 레이어에 가깝다.1

행동 트리의 기본 개념
행동 트리는 여러 조건과 행동을 나무 형태로 배치해 의사결정을 수행하는 모델이다. 트리는 루트 노드에서 시작한다. 실행 흐름은 위에서 아래로 내려가고, 같은 층에서는 왼쪽에서 오른쪽으로 진행된다.1
이 방식의 장점은 복잡한 조건문을 구조적으로 정리할 수 있다는 점이다. 에이전트의 행동을 모두 if문과 switch문으로 처리하면 시간이 지날수록 흐름을 이해하기 어려워진다. 예외가 추가되고, 실패 처리가 늘어나고, 대안 행동이 덧붙으면서 코드는 쉽게 스파게티처럼 얽힌다.
행동 트리는 이런 복잡성을 트리 구조로 분해한다. 큰 전략은 위쪽에 두고, 구체적인 조건 검사와 실행은 아래쪽에 둔다. 그래서 전체 흐름을 눈으로 따라가기 쉽고, 특정 행동만 교체하거나 재사용하기도 편하다.
노드의 세 가지 상태
행동 트리의 핵심은 각 노드가 단순한 상태를 반환한다는 점이다. 노드는 작업을 마친 뒤 성공, 실패, 진행 중 중 하나를 부모 노드에 돌려준다.1
성공은 해당 노드의 작업이 목표대로 끝났다는 뜻이다. 예를 들어 "문서 검색 완료"나 "목적지 도착" 같은 상태가 여기에 해당한다.
실패는 조건이 맞지 않거나 작업을 수행하지 못했다는 뜻이다. 필요한 정보가 없거나, 도구 호출이 실패하거나, 특정 조건이 충족되지 않았을 때 실패가 반환된다.
진행 중은 아직 작업이 끝나지 않았다는 뜻이다. 이동, 탐색, 긴 계산, 외부 도구 응답 대기처럼 시간이 필요한 작업은 즉시 성공이나 실패를 판단할 수 없다. 이때 노드는 진행 중 상태를 반환하고, 행동 트리는 다음 틱에서 다시 상태를 확인한다.
부모 노드는 자식 노드가 반환한 이 세 가지 상태를 보고 다음 행동을 결정한다. 인터페이스는 단순하지만, 이 단순함 덕분에 큰 시스템도 예측 가능한 방식으로 제어할 수 있다.
주요 노드 유형
셀렉터는 여러 후보 중 하나를 고르는 노드다. 왼쪽부터 자식 노드를 실행하면서 하나라도 성공하면 전체를 성공으로 판단한다. 따라서 대안 선택이나 폴백 전략에 잘 맞는다. 예를 들어 "기본 검색이 실패하면 웹 검색을 시도하고, 그것도 실패하면 사용자에게 추가 정보를 요청한다" 같은 흐름을 표현할 수 있다.
시퀀스는 정해진 절차를 순서대로 실행하는 노드다. 자식 노드가 모두 성공해야 전체가 성공한다. 중간에 하나라도 실패하면 시퀀스도 실패한다. 그래서 "조건 확인 → 도구 실행 → 결과 검증 → 응답 생성"처럼 반드시 순서를 지켜야 하는 작업에 적합하다.
컨디션은 행동을 실행하기 전에 조건을 검사하는 노드다. 예를 들어 "필요한 권한이 있는가", "입력값이 충분한가", "현재 상태에서 이 작업을 해도 되는가"를 판단한다. 컨디션은 실제 행동을 하기 전에 불필요하거나 위험한 실행을 막는 문지기 역할을 한다.
액션은 실제 기능을 수행하는 노드다. 이동, 검색, 계산, 도구 호출, 파일 읽기, 응답 생성 같은 구체적인 작업이 여기에 들어간다. 행동 트리에서 액션은 말 그대로 에이전트가 외부 세계나 시스템에 변화를 일으키는 지점이다.
데코레이터는 특정 노드의 동작을 감싸서 보정한다. 반복 횟수를 제한하거나, 타임아웃을 걸거나, 실패를 성공으로 바꾸는 식의 제어가 가능하다. 데코레이터는 행동 트리에 안전장치를 붙이는 방법이라고 볼 수 있다.
패러 노드는 여러 작업을 동시에 수행해야 할 때 사용한다. 예를 들어 이동하면서 주변을 감시하거나, 긴 작업을 수행하는 동안 중단 조건을 계속 확인해야 하는 상황에 유용하다. 자율 에이전트가 현실적인 환경에서 작동하려면 단일 작업만 순서대로 처리하는 것보다 병렬 감시와 동시 실행이 필요한 경우가 많다.
행동 트리의 장점
행동 트리의 가장 큰 장점은 복잡한 제어 로직을 단순하고 직관적인 구조로 표현할 수 있다는 점이다. 각 노드는 성공, 실패, 진행 중이라는 제한된 상태만 반환하지만, 이 상태들이 조합되면 꽤 복잡한 의사결정 흐름도 만들 수 있다.1
또 다른 장점은 실패에 강하다는 것이다. 어떤 행동이 실패하더라도 전체 시스템이 바로 멈출 필요는 없다. 셀렉터를 사용하면 다른 대안 경로를 자연스럽게 시도할 수 있다. 이는 자율 에이전트에게 특히 중요하다. 실제 환경에서는 도구 호출이 실패할 수도 있고, 정보가 부족할 수도 있으며, 처음 세운 계획이 맞지 않을 수도 있기 때문이다.
행동 트리는 모듈화에도 강하다. 조건 검사, 액션, 폴백 전략, 반복 제어를 각각 독립된 노드로 만들 수 있기 때문에 재사용이 쉽다. 특정 액션의 내부 구현이 바뀌어도, 성공·실패·진행 중이라는 반환 규칙만 유지하면 전체 트리 구조는 크게 흔들리지 않는다.
이런 특성 때문에 행동 트리는 게임 AI와 로보틱스에서 이미 많이 활용되어 왔다. 강의에서는 이 구조가 LLM 기반 에이전트에도 적용될 수 있다고 설명한다. 게임 캐릭터나 로봇이 복잡한 상황에서 행동을 선택해야 하듯, LLM 에이전트도 불확실한 입력과 다양한 도구 사이에서 안정적으로 판단해야 하기 때문이다.1
LLM 에이전트와 행동 트리
LLM은 매우 유연하다. 자연어를 이해하고, 상황에 맞게 추론하며, 다양한 도구 사용 계획을 세울 수 있다. 하지만 바로 그 유연성 때문에 예기치 않은 행동이 나오거나, 근거가 약한 답을 그럴듯하게 생성하는 문제가 생길 수 있다.
행동 트리는 LLM의 자유도를 완전히 없애는 구조가 아니다. 오히려 LLM이 잘하는 판단과 생성 능력은 살리되, 실행 흐름은 더 예측 가능하게 묶어 주는 장치다. 예를 들어 LLM이 바로 답변을 생성하기 전에 "정보가 충분한가", "검색이 필요한가", "도구 호출 결과를 검증했는가" 같은 절차를 트리로 강제할 수 있다.
자율 에이전트가 단순 명령 수행을 넘어 상황 판단, 계획 수정, 실패 복구를 하려면 이런 오케스트레이션 구조가 필요하다. LLM 하나에 모든 판단을 맡기는 방식은 빠르게 만들 수는 있지만, 시스템이 커질수록 통제하기 어려워진다. 행동 트리는 그 사이에서 자율성과 안정성의 균형을 잡아 준다.
설계 원칙
행동 트리를 설계할 때는 먼저 역할의 층위를 나누는 것이 중요하다. 루트와 상위 노드는 큰 전략을 담당하고, 하위 노드는 구체적인 조건 검사와 액션을 맡는 식으로 구성해야 한다. 그래야 트리 전체를 봤을 때 "이 에이전트가 어떤 전략으로 행동하는지"가 드러난다.
실패 가능성이 있는 작업에는 셀렉터를 활용해 대안 행동을 마련하는 것이 좋다. 하나의 경로가 실패했을 때 곧바로 종료하지 않고, 다른 방식으로 목표에 접근할 수 있어야 자율 에이전트다운 복구 능력이 생긴다.
반대로 반드시 지켜야 하는 절차는 시퀀스로 표현하는 편이 적절하다. 입력 검증, 권한 확인, 도구 실행, 결과 확인처럼 순서가 중요한 작업은 시퀀스로 묶어야 중간 단계를 건너뛰지 않는다.
데코레이터는 안전성을 높이는 데 유용하다. 반복 횟수, 시간 제한, 실패 처리 방식을 명시하면 에이전트가 무한 반복에 빠지거나 너무 오래 기다리는 문제를 줄일 수 있다.
패러 노드는 병렬 감시가 필요한 상황에 사용한다. 어떤 작업을 수행하는 동안 중단 조건, 위험 신호, 외부 상태 변화를 함께 확인해야 한다면 패러 노드를 고려할 수 있다. 이는 에이전트가 단순히 한 가지 작업에 몰입하는 것이 아니라, 주변 맥락을 계속 살피며 행동하게 만드는 방식이다.
핵심 정리
행동 트리는 자율 에이전트의 행동을 조율하는 지휘자 역할을 한다. 개별 도구나 모델이 아무리 뛰어나도, 언제 어떤 순서로 실행할지 정하는 구조가 없으면 전체 시스템은 불안정해지기 쉽다.
행동 트리는 복잡한 조건문 대신 명확한 트리 구조와 단순한 상태 반환 규칙으로 에이전트의 의사결정을 관리한다. 성공, 실패, 진행 중이라는 세 가지 상태만으로도 조건 검사, 절차 실행, 대안 선택, 실패 복구, 병렬 감시를 구성할 수 있다.
LLM 기반 에이전트가 더 실용적인 시스템으로 발전하려면 자율성과 예측 가능성을 함께 확보해야 한다. 행동 트리는 그 균형을 잡기 위한 중요한 기반 기술이다.
참고
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
