원문: The Modern Planning Agent is Really a Dynamic, Adaptive Workflow Generator | vtrivedy

24 Oct, 2025

에이전트 엔지니어링에서 완벽한 에이전트가 정확히 무엇처럼 보이고, 오늘날의 계획 에이전트들로부터 우리가 얼마나 멀리 떨어져 있을까요?

정신적 모델(Mental Model): 모든 것을 아는 AGI 에이전트는 실제로 완벽한 적시(just-in-time) 워크플로우 생성기이자 실행기입니다.

모든 것을 아는 AGI 에이전트 실행 패턴:

  1. 작업을 입력받음
  2. 사용 가능한 도구가 주어졌을 때 작업을 완료하는 데 필요한 정확한 단계 시리즈로 분해
  3. 기존 도구가 완료의 경로를 제공하지 않으면 새로운 도구를 동적으로 생성
  4. 단계를 실행

하지만 오늘날의 에이전트는 불완전합니다. 현대 계획 에이전트는 적시 적응형 워크플로우 생성기입니다. 각 용어를 정의해 봅시다.

용어 정의:

워크플로우(Workflows): LLM과 도구가 미리 정의된 코드 경로를 통해 조율되는 시스템. Anthropic의 정의

계획 에이전트(Planning Agents): 목표를 달성하기 위해 필요한 구체적인 단계 시리즈(메모리 내 워크플로우 정의)로 작업을 분해하는 에이전트. 일반적인 UX는 할 일 목록입니다.

적시(Just-in-time): 계획은 전통적인 워크플로우처럼 미리 정해지지 않고 런타임에 생성됩니다.

적응형(Adaptive): 에이전트는 실행 중에 계획을 개선할 수 있습니다. 계획 개선는 사용자 피드백, 추가 컨텍스트, 테스트 결과 검토 등을 기반으로 할 수 있습니다.

에이전트가 시작될 때, 무엇을 생성해야 하는지에 대해 완전히 제약이 없습니다. 오늘날 계획 수립은 이 거대한 액션 스페이스를 신뢰할 수 있게 미리 정해진 단계 집합으로 “이산화”하는 방법입니다. 이를 잘하는 방법에 대해 이야기해 봅시다.

계획 생성은 에이전트에게 따를 수 있는 이산적인 단계 시퀀스를 제공합니다. 오류가 발견되면(사용자에 의해, 테스트 컨텍스트 기반으로 등) 에이전트는 재계획하여 궤적을 변경할 수 있습니다. 계획 생성은 에이전트에게 따를 수 있는 이산적인 단계 시퀀스를 제공합니다. 오류가 발견되면(사용자에 의해, 테스트 컨텍스트 기반으로 등) 에이전트는 재계획하여 궤적을 변경할 수 있습니다.

에이전트 엔지니어링은 “올바른 단계”를 생성하는 방법입니다

계획 에이전트에 작업을 주면, 그것은 모든 가능한 워크플로우의 집합 위에서 궤적을 샘플링합니다. 일반적으로 작업에 대한 올바른 궤적은 미리 알 수 없습니다. 작업과 에이전트 하네스(프롬프트, 도구, 컨텍스트)의 시작점에서, 이러한 궤적의 대부분은 막힌 길이지만 일부는 성공할 것입니다. 명백한 질문은, 우리는 어떻게 올바른 궤적을 샘플링할까요?

이에 답하기 위해 사랑받는 예제를 통해 살펴봅시다(에이전트형 코딩).

다음은 가능한 궤적이고, 핵심 단어와 중단점에 주목하세요:

  • 에이전트가 작업을 생각하고 할 일 목록으로서 계획을 생성합니다.
  • 에이전트가 실행 중이고 할 일들을 체크합니다. 사용자가 에이전트의 현재 접근 방식에 오류가 있음을 알아차리고 중단합니다.
  • 에이전트가 피드백에 반영하고 새 계획을 생성하며 할 일들을 업데이트합니다. 실행이 재개됩니다.
  • 에이전트가 중간 단계에 대한 테스트 케이스를 생성하고 실행하며, 일부가 실패합니다. 에이전트가 오류를 검토하고, 오래된 라이브러리에 대한 문서를 읽어야 함을 깨닫고, 로컬 파일에서 이를 읽으며 수정을 구현합니다. 모든 테스트가 통과합니다.
  • 에이전트가 모든 할 일을 체크합니다. 테스트가 통과합니다. 사용자가 승인합니다. 작업이 완료됩니다.

이제 이야기하기 싫지만, 현실 세계는 이보다 훨씬 더 고통스럽지만, 당신은 아이디어를 얻을 것입니다. 여전히 많은 에이전트 엔지니어링 원칙들이 이 정신적 모델에 깔끔하게 맞아떨어집니다.

예를 들어:

  • 컨텍스트 & 하네스 엔지니어링: 컨텍스트와 하네스 설계는 성공 확률을 높이기 위한 가장 사용자가 조절할 수 있는 노브입니다. 설계가 좋지 않으면 성공으로 가는 경로가 없거나 거의 없을 수 있습니다. 설계에는 프롬프트, 도구/MCP/스킬, 컨텍스트/문서, 서브에이전트 정의 등의 신중한 엔지니어링이 포함됩니다. 좋은 도구 설계에는 원하는 기능에 맞는 올바른 도구를 갖추고 많은 도구 호출에 걸쳐 오류 표면적을 줄이기 위해 복합 도구를 의미적 액션으로 구축하는 것이 포함됩니다. 컨텍스트 엔지니어링에는 동작을 안내하기 위해 상세한 프롬프트를 작성하고 중요한 문서를 쉽게 사용할 수 있게 하는 것이 포함됩니다(위의 에이전트가 로컬 파일에서 이를 하는 경우처럼). 나는 이전 글에서 하네스 엔지니어링을 더 자세히 다룹니다.

  • 사고와 재계획: 사고는 훈련의 세계 경험을 기반으로 높은 확률의 궤적을 찾기 위한 정리 메커니즘입니다. 이는 에이전트가 분포 밖 작업에서 왜 그렇게 나쁠 수 있는지에 대한 문제를 제기합니다, 일명 Karpathy의 경험 NanoChat 구축, 하지만 그것은 다른 시간을 위한 것입니다. 재계획은 코드의 현재 상태(또는 모든 작업)를 기반으로 궤적을 재샘플링하는 메커니즘입니다. 그리고 재계획은 사용자 피드백이나 테스트의 로그와 같이 어느 방향으로 가야 하는지에 대한 더 나은 컨텍스트/신호로 훨씬 더 잘됩니다.

  • 신뢰성 엔지니어링: 이것은 간단히 “우리가 에이전트를 이 단계 시리즈를 일관되게 생성하고 올바르게 실행하도록 할 수 있을까요?”입니다. “에이전트가 신뢰할 수 없을 때”는, 그들이 관련 작업에 걸쳐 메모리 내 워크플로우를 생성하고 실행할 수 없기 때문입니다.

이제 우리는 에이전트가 런타임 실행 중에 메모리 내에서 워크플로우를 동적으로 샘플링하고 재샘플링하는 방법에 대한 정신적 모델을 가지고 있습니다. 에이전트가 전통적인 결정론적 워크플로우에 어떻게 맞는지, 그리고 에이전트형 워크플로우 빌더의 새로운 제품들에 대해 논의하면서 마무리해 봅시다.

에이전트는 워크플로우 빌더의 보편적인 “브리지 노드”입니다

현대 워크플로우 빌더(예: n8n)는 훌륭하게 들립니다. 당신은 작업을 미리 구축된 결정론적 노드의 집합으로 매핑하기 위해 미리 작업을 합니다. 하지만 일단 복잡해지면, 당신은 if-else 지옥에 살고 있고, 당신의 워크플로우가 처리해야 할 모든 가능한 경로를 열거하고 있습니다. 모든 if-else 노드를 유연한 핸들러로 축소할 수 있는 쉬운 방법이 필요합니다.

“에이전트는 보편적인 브리지 노드입니다.” “Agents are the universal Bridge Node.

브리지 노드는 실행 중에 두 개의 잠재적으로 호환되지 않는 워크플로우 단계 사이에 있는 노드입니다. 에이전트는 작은 범위의 함수를 생성하는 데 매우 능숙하므로 리포매팅과 같은 작은 작업에 대해 노드 간의 이상적인 어댑터입니다. 다음은 브리지 노드 동작의 일부 예이고, 일반적인 패턴에는 입력 판단과 사용자 업로드 검증/리포매팅이 포함됩니다.

  • 사용자 형식 호환성: 사용자가 예상과 다른 열 이름이 있는 CSV를 제출합니다 [person, email, number, address] [name, email, phone, address] 대신. 브리지 노드가 CSV를 읽고 올바른 형식을 출력합니다. 이 경우 모든 입력을 열거하는 것은 불가능하고, 사용자가 스키마를 따르게 하는 것도 똑같이 불가능할 수도 있습니다.
  • 입력 판단/개선: 워크플로우의 일부는 이미지 생성을 포함하고 다음 노드는 작업을 수행하기 위해 프레임에 사람이 있어야 합니다. 에이전트 브리지 노드가 입력 이미지를 판단하고 다음 노드로의 통로를 게이팅하고, 새로운 프롬프트를 다시 보내며, 사진에 사람이 있을 때까지 재시도를 실행합니다.
  • 스키마 진화: 외부 API가 추가된 키와 다르게 명명된 키가 있는 응답 구조를 계속 변경하고, 때때로 단순한 문자열을 반환합니다. 검증기는 다음 API 호출에 대해 고정 형식({name:..., email: ...})을 기대합니다. 브리지 노드는 입력을 추출하고 다음 API 호출에 대한 형식을 지정합니다.

워크플로우 구축 중 브리지 노드를 동적으로 생성

OpenAI의 AgentKit과 같은 제품의 경우, 에이전트형 브리지 노드가 미리 구축된 노드 간의 간격을 채우는 기본값이 될 것입니다. 가능한 경로는 AgentKit(및 유사 제품)과의 기본 상호작용 메커니즘이 에이전트 자체가 될 것입니다:

  1. 사용자가 워크플로우 빌더 에이전트와 대화하고 작업을 제공합니다
  2. 에이전트가 워크플로우 노드에 대한 계획을 생성하고 각 단계를 기존의 결정론적 노드 집합으로 매핑합니다.
  3. 에이전트는 기존 노드가 작업을 완료할 수 없을 때 사용할 GenerateNode() 도구에 접근할 수 있습니다. 에이전트는 노드를 연결하는 결정론적 코드를 작성하거나 루프에 AgentNode를 삽입하여 연결을 처리할 수 있으며, 이는 노드 간의 경로를 열거하기 얼마나 쉬운지에 따라 달라집니다.
  4. 사용자가 에이전트와 검토, 테스트 및 개선합니다

마무리입니다. 우리는 다음을 다루었습니다:

  1. AGI 에이전트의 꿈이 실제로 완벽한 워크플로우 생성기라는 것을 이해하기 위한 유용한 정신적 모델
  2. 현대 계획 에이전트가 불완전하지만 제어 가능한 메모리 내 워크플로우 생성기인 방법
  3. 기존 에이전트형 워크플로우 구축 제품을 더 잘 만드는 방법으로 에이전트형 브리지 노드 프리미티브의 중요성

Happy building!