LangChain보다 쉬운 LLM 에이전트, 핵심 워크플로우 5가지
“ChatGPT에 LangChain을 엮어서 뭔가 만들어보려고 했는데, 배보다 배꼽이 더 큰 것 같아…”
우리 모두 LLM으로 똑똑한 에이전트를 만들겠다는 부푼 꿈을 안고 시작했다가, 복잡한 프레임워크의 추상화 계층 속에서 길을 잃고 헤맨 경험이 한 번쯤 있을 겁니다. ‘더 복잡하고 있어 보이는 도구를 써야 더 좋은 결과가 나오지 않을까?’ 정말 그럴까요?
최근 LLM ‘클로드’의 개발사 앤트로픽(Anthropic)이 아주 흥미로운 사실을 발견했습니다. 가장 성공적인 LLM 에이전트는 거창한 프레임워크가 아닌, 놀랍도록 단순하고 조합하기 쉬운 패턴으로 만들어졌다는 사실을 말이죠.
이 글에서는 앤트로픽이 직접 공개한 실전 지혜를 탈탈 털어, 복잡한 코드 없이도 훨씬 안정적이고 강력한 LLM 에이전트를 만드는 5가지 핵심 패턴을 쉽고 깊이 있게 파헤쳐 보겠습니다. (출처: https://www.anthropic.com/engineering/building-effective-agents)
‘워크플로우’와 ‘에이전트’, 뭐가 다른 걸까?
먼저 ‘에이전트’라는 용어부터 정리하고 가죠. 사람마다 생각하는 그림이 조금씩 다릅니다. 앤트로픽은 이 개념을 명확히 둘로 나눕니다.
워크플로우 (Workflows): 우리가 미리 짜 놓은 각본(코드)에 따라 LLM과 도구들이 움직이는 시스템입니다. 예측 가능성이 중요한, 잘 정의된 작업에 딱 맞습니다.
에이전트 (Agents): LLM 스스로 다음 할 일을 계획하고 도구를 선택하며 작업을 이끌어가는 시스템입니다. 정해진 길이 없는 문제를 유연하게 풀어야 할 때 강력한 힘을 발휘하죠.
여기서 가장 중요한 원칙은 ‘무조건 가장 단순한 방법부터 찾으라’는 것입니다. 생각보다 많은 문제는 잘 만든 프롬프트 한두 개로 해결됩니다. 성능을 위해 비용과 속도를 희생하는 것이 에이전트 시스템이라는 점, 잊지 마세요!
복잡한 문제도 척척! 마법의 워크플로우 5가지 패턴
앤트로픽이 수많은 프로젝트에서 효과를 본, 거의 모든 문제에 적용할 수 있는 5가지 핵심 패턴입니다. 이 패턴들만 잘 조합해도 어지간한 복잡한 태스크는 해결할 수 있습니다.
패턴 1: 프롬프트 체이닝 (Prompt Chaining)
가장 기본적이면서도 강력한 패턴입니다. 코끼리를 한 입에 먹을 수 없듯, 큰 작업을 잘게 쪼개어 컨베이어 벨트처럼 순서대로 처리하는 방식이죠.
핵심 원리: 하나의 복잡한 질문을 여러 개의 쉬운 질문으로 나누어, 앞 단계의 답변이 뒷 단계의 질문 재료가 되게 합니다.
언제 쓸까?: 작업 순서가 명확할 때 최고입니다. (예: 기사 초안 작성 → 핵심 내용 요약 → SNS 홍보 문구 생성)
왜 좋을까?: 각 LLM이 한 번에 한 가지 쉬운 일에만 집중하니, 최종 결과물의 퀄리티가 수직 상승합니다. 중간에 규칙을 넣어 결과가 엉뚱한 방향으로 가는 걸 막을 수도 있고요.
패턴 2: 라우팅 (Routing)
똑똑한 교통경찰처럼, 들어온 요청의 종류를 파악해서 가장 잘 처리할 수 있는 곳으로 보내주는 패턴입니다.
핵심 원리: 입력의 종류에 따라 각기 다른 프롬프트나 도구, 심지어 다른 모델로 작업을 연결해줍니다.
언제 쓸까?: 여러 종류의 요청을 한 번에 처리해야 할 때 유용합니다. (예: 고객 문의를 단순 질문, 환불 요청, 기술 지원으로 나눠 보내기)
왜 좋을까?: 만능 프롬프트 하나로 끙끙대는 대신, 각 분야의 전문가에게 일을 맡기는 셈이니 훨씬 효율적이죠. 비용 최적화도 가능합니다. (예: 간단한 질문은 저렴한 Haiku 모델, 복잡한 질문은 Sonnet 모델로!)
패턴 3: 병렬화 (Parallelization)
혼자 해결하기 힘든 문제를 여러 LLM이 머리를 맞대고 동시에 해결한 뒤, 결과를 합치는 방식입니다. 크게 두 가지 방법이 있죠.
분할 (Sectioning): 하나의 큰 파이를 여러 조각으로 나눠 각자 맡은 부분을 동시에 처리합니다. (예: 사용자 답변 생성 모델과 유해 콘텐츠 검열 모델을 동시에 돌리기)
투표 (Voting): 같은 문제를 여러 LLM에게 각기 다른 방식으로 풀게 한 뒤, 가장 좋은 답을 고르거나 다수결로 결정합니다. (예: 코드의 버그를 찾기 위해 여러 관점의 프롬프트를 동시에 실행)
언제 쓸까?: 속도가 중요하거나, 더 확실한 결과를 위해 여러 번의 검증이 필요할 때 효과적입니다.
패턴 4: 오케스트레이터-워커 (Orchestrator-Workers)
프로젝트 매니저(오케스트레이터 LLM)가 큰 그림을 보고, 필요한 작업들을 팀원(워커 LLM)들에게 착착 나눠준 뒤 결과물을 취합하는 고수들의 패턴입니다.
핵심 원리: 지휘자 LLM이 문제 해결에 필요한 하위 작업들을 동적으로 만들고 분배합니다.
언제 쓸까?: 뭘 해야 할지 미리 정해둘 수 없는 복잡한 문제에 딱입니다. (예: “우리 앱에 다크 모드 추가해줘”처럼 여러 파일을 고쳐야 하는 코딩 작업)
왜 좋을까?: 정해진 길만 가는 게 아니라, 문제에 맞춰 스스로 해결 계획을 세우기 때문에 엄청나게 유연합니다.
패턴 5: 평가자-최적화기 (Evaluator-Optimizer)
한 명이 열심히 초안(결과물)을 쓰면, 다른 한 명이 날카롭게 피드백(평가)을 주며 완성도를 끌어올리는 환상의 짝꿍 패턴입니다.
핵심 원리: ‘생성’과 ‘평가’의 피드백 루프를 계속 돌리면서 결과물을 점진적으로 다듬어갑니다.
언제 쓸까?: 정답이 딱 정해져 있지 않고, 더 나은 결과물을 위한 명확한 평가 기준이 있을 때 최고입니다. (예: 광고 카피라이팅, 소설 번역)
왜 좋을까?: 사람이 직접 피드백하며 고쳐나가는 과정을 자동화한 것과 같아서, 혼자서는 도달하기 힘든 수준의 결과물을 만들어낼 수 있습니다.
이제 진짜 ‘에이전트’를 만들 시간
위 패턴들을 자유자재로 조합하는 단계를 넘어서면, LLM이 스스로 생각하고 행동하는 진정한 ‘자율 에이전트’의 영역에 들어서게 됩니다.
에이전트의 핵심은 간단합니다. ‘루프(Loop) 안에서 도구를 사용하는 LLM’ 이죠. 따라서 성공과 실패는 얼마나 똑똑하고 쓰기 편한 연장(도구)을 쥐여주느냐에 달려있습니다.
물론 자율성이 높아지는 만큼, 비용이 눈덩이처럼 불어나거나 예상치 못한 실수를 저지를 수 있으니 충분한 테스트와 안전장치는 필수입니다!
결론: AI 조련사를 넘어, AI 워크플로우 설계자로
LLM 에이전트 개발의 세계에서 성공은 가장 복잡하고 화려한 기술을 쓰는 사람의 몫이 아닙니다. 가장 적절한 문제를, 가장 단순하고 확실한 방법으로 푸는 사람의 것입니다.
앤트로픽이 강조하는 3가지 원칙만 기억하세요.
- 단순하게 만드세요: 일단 가장 쉬운 방법으로 시작하고, 정말 필요할 때만 패턴을 하나씩 더하세요.
- 투명하게 보여주세요: AI가 무슨 생각을 하고 어떤 계획을 세우는지 사람이 볼 수 있게 만드세요. 신뢰는 거기서 나옵니다.
- 좋은 연장을 쥐여주세요: AI가 당신의 도구를 어떻게 써야 할지 한눈에 알 수 있도록, 설명서를 잘 써주는 데 시간을 아끼지 마세요.
이제 복잡한 프레임워크의 사용법을 익히는 ‘AI 조련사’에서 벗어나, 문제 해결을 위한 최적의 흐름을 설계하는 ‘AI 워크플로우 아키텍트’가 될 시간입니다. 오늘 배운 단순한 패턴들을 조합하여 당신만의 강력하고 안정적인 에이전트를 만들어보세요. 이전과는 차원이 다른 결과가 당신을 기다릴 겁니다.