루프 엔지니어링의 기술

TMT

https://www.langchain.com/blog/the-art-of-loop-engineering

에이전트가 유용한 이유는 현실 세계에서 직접 행동을 수행하며 우리의 일을 자동화해 주기 때문입니다. 하지만 에이전트가 가치 있는 일을 안정적으로 해내게 하려면 좋은 모델 하나만으로는 부족합니다. 주어진 작업들에 잘 들어맞도록 세심하게 설계된 하니스가 필요합니다.

에이전트의 핵심 알고리즘은 단순합니다. LLM에 컨텍스트를 주고, 작업이 끝날 때까지 루프를 돌며 도구를 호출하게 하는 것입니다. 이것이 가장 기본이 되는 루프입니다. 하지만 에이전트를 움직이는 루프가 이것 하나뿐인 것은 결코 아닙니다. Swyx는 최근 "루프크래프트: 루프를 쌓아 올리는 기술"이라는 훌륭한 글을 썼는데, 루프를 쌓고 확장해 더 효과적인 에이전트를 만들 수 있다는 발상입니다.

우리가 그 스택을 어떻게 바라보는지, 그리고 각 단계를 LangChain 기본 요소로 어떻게 구현하는지 소개합니다.

루프 1: 에이전트

근본적으로 에이전트란, 작업이 완료될 때까지 루프를 돌며 도구를 호출하는 모델일 뿐입니다.

Image

LangChain의 create_agent가 바로 이것을 제공합니다. 원하는 모델을 고르고 도구를 연결하기만 하면 작동하는 에이전트 루프가 완성됩니다. 도구는 에이전트가 현실 세계에서 행동할 수 있는 힘을 부여하는 요소입니다.

우리 내부의 문서 작성 에이전트를 예로 들어 보겠습니다(이 글 전체에서 이해를 돕는 예시로 계속 사용할 것입니다). 첫 번째 루프 단계에서 이 에이전트는 문서 개선 요청을 받고, 모델이 변경 사항을 계획하고 초안을 작성하며, 도구를 사용해 저장소를 복제하고, 파일을 읽고, 문서를 작성하고, 풀 리퀘스트를 여는 등의 일을 합니다.

Image

레벨 2: 검증 루프

에이전트 루프는 일을 해내긴 하지만, 첫 시도에서 항상 정확하거나 일관된 결과를 내놓지는 못합니다. 일관성이 중요한 경우에는, 결과물을 점검하고 기준에 못 미칠 때 모델에 피드백을 돌려보내는 검증 루프로 감싸 두는 것이 유용할 때가 많습니다.

Image

검증 루프는 채점기를 추가합니다. 채점기란 에이전트의 결과물을 채점 기준에 비추어 점검하고, 통과하지 못하면 피드백과 함께 결과를 되돌려보내는 장치입니다. 채점기는 정해진 규칙에 따라 동작할 수도 있고 에이전트가 담당할 수도 있는데, LLM을 심판(LLM as a judge)으로 활용하는 방식이 대표적인 예입니다.

RubricMiddleware가 이 패턴을 처리해 주며, 아니면 create_agentafter_agent 훅으로 직접 연결할 수도 있습니다.

문서 작성 에이전트 예시에서는, 채점기가 매 시도마다 테스트를 실행해 모든 링크가 제대로 연결되는지, 모든 CI 검사를 통과하는지, 그리고 변경분이 실제 요청된 범위에만 한정되어 있는지를 확인합니다. 이런 종류의 오류를 잡아내는 데에는 사람이 직접 검토할 필요가 없습니다.

다만 한 가지 감수해야 할 점이 있습니다. 검증을 추가하면 실행 한 번당 지연 시간과 비용이 늘어납니다. 그래도 속도보다 품질이 더 중요한 경우라면 그만한 가치가 있으며, 실제 운영 사례 대부분이 여기에 해당합니다.

Image

레벨 3: 이벤트 기반 루프

에이전트 개발에서 가장 중요한 부분 중 하나는 통합 계층입니다. 즉, 에이전트를 여러분의 생태계에 연결해 백그라운드에서 실행될 수 있도록 하는 것입니다.

이벤트 기반 루프는 에이전트를 여러분의 생태계에 연결합니다. 새 문서가 도착하거나, 스케줄이 작동하거나, 웹훅이 들어오는 식으로 이벤트가 발생하면 에이전트가 실행됩니다. 이때 에이전트는 사람이 수동으로 호출하는 대상이 아니라, 더 큰 시스템 안에서 끊임없이 돌아가는 하나의 구성 요소입니다.

Image

LangSmith Deployment는 cron 스케줄과 웹훅을 비롯한 트리거 인프라를 지원합니다. cron이 활용되는 대표적인 예로는 openclaw의 "하트비트"가 있는데, 이는 여러분의 에이전트를 항상 켜져 있는 능동적인 어시스턴트로 바꿔 줍니다.

우리의 문서 에이전트는 노코드 에이전트 빌더인 Fleet로 구동됩니다. Fleet의 채널스케줄이 이벤트 기반 트리거와 cron 방식 트리거를 담당합니다. 우리는 #docs-plz 슬랙 채널에 메시지가 올라올 때마다 채널 기능을 사용해 문서 에이전트를 실행시킵니다.

Image

레벨 4: 언덕 오르기 루프

앞의 세 루프는 일을 자동화합니다. 네 번째 루프는(어쩌면 가장 중요한 루프인데) 개선 그 자체를 자동화합니다!

Image

에이전트는 실행될 때마다 트레이스를 남깁니다. 트레이스란 모델이 무엇을 했는지, 어떤 도구를 호출했는지, 채점기의 피드백은 어땠는지 등을 담은 기록입니다. 이러한 트레이스에는 무엇이 잘 작동하고 무엇이 그렇지 않은지에 대한 가치 있는 신호가 담겨 있습니다. 언덕 오르기 루프는 이 트레이스들을 분석 에이전트로 살펴보고, 그 결과를 활용해 하니스를 더 나은 설정으로 다시 작성합니다. 여기에는 프롬프트나 도구의 조정, 또는 채점기의 조정이 포함될 수 있습니다.

LangSmith에서는 트레이스 분석 에이전트인 Engine을 사용해 이 네 번째 루프를 구현할 수 있습니다.

문서 에이전트 비유를 마무리하자면, 우리는 문서 에이전트의 트레이스에 Engine을 돌려 문제가 없는지 찾아냅니다. 여러 트레이스가 잠재적 문제를 가리키면, 해당 프롬프트나 도구를 수정해 달라는 이슈가 등록됩니다.

Image

여기서 핵심은, 되돌아가는 화살표가 단순히 맨 위로 돌아가는 데 그치지 않는다는 점입니다. 그 화살표는 안쪽까지 파고들어 에이전트 루프를 직접 갱신합니다. 바깥쪽 루프가 한 번 돌 때마다 안쪽 루프들은 더욱 효과적으로 변합니다.

앞으로의 전망: 프롬프트와 도구 설정은 개선하기 가장 쉬운 대상이지만, 선택지가 그것뿐인 것은 아닙니다. 오픈 웨이트 모델을 운영하는 팀이라면, 언덕 오르기 루프가 강화학습 파인튜닝으로 이어질 수 있습니다. 트레이스나 평가 결과를 학습 신호로 삼아 모델 자체를 개선하는 것입니다. 메모리나 검색된 스킬 같은 보조적 컨텍스트도 같은 방식으로 개선할 수 있습니다. 루프는 하나의 패턴일 뿐이고, 그것으로 무엇을 최적화할지는 여러분에게 달려 있습니다.

사람의 감독과 전문성

자동화한다고 해서 사람을 루프에서 배제한다는 뜻은 아닙니다. 모든 단계마다 사람의 감독이 가치를 더하는 자연스러운 지점이 존재합니다. 자동화된 채점기는 링크가 제대로 연결되는지를 확인할 수 있지만, 내용을 풀어낸 방식이 독자층에 맞지 않는다는 점을 알아차리려면 사람이 필요합니다. 맥락과 경험, 안목에서 우러나오는 그런 판단이야말로 사람의 검토가 제 몫을 하는 지점입니다.

어떤 전문성은 프롬프트나 도구 자체에 녹여 두어야 하지만, 민감한 작업에 대해서는 실시간 사람 검토가 필수적입니다(금융 거래나 데이터베이스 작업 등을 떠올려 보십시오). LangChain은 이러한 접점을 모든 루프에 손쉽게 구현할 수 있도록 해 줍니다.

  1. 에이전트 루프에서는, 민감한 작업이나 도구 호출 전에 사람의 입력을 요구합니다
  2. 검증 루프에서는, 민감한 작업 흐름에 대해 사람이 채점기 역할을 할 수 있습니다
  3. 애플리케이션 루프에서는, 결과물이 최종 사용자에게 전달되기 전에 사람이 승인할 수 있습니다
  4. 언덕 오르기 루프에서는, 하니스 개선 사항이 배포되기 전에 사람의 검토를 거치도록 할 수 있습니다

LangChain의 모든 오픈소스 프레임워크는 "사람의 개입"을 추가하는 일을 핵심 기본 요소로 다룹니다.

한데 모아 보면

표 형태로 보는 편이 더 편하다면, 네 가지 루프가 어떻게 쌓이는지 아래에 정리했습니다.

루프하는 일효과LangChain 기본 요소
1. 에이전트 루프작업이 완료될 때까지 모델이 도구를 반복 호출업무 자동화create_agent, LangChain이 지원하는 모든 모델
2. 검증 루프에이전트 실행 후 결과물을 채점 기준으로 평가하고, 실패하면 피드백과 함께 재시도작업 품질과 정확성 보장RubricMiddleware
3. 이벤트 기반 루프이벤트가 에이전트 실행을 촉발하여 실제 시스템을 갱신대규모 업무 자동화cron 트리거/웹훅을 갖춘 LangSmith Deployment 또는 Fleet 채널
4. 언덕 오르기 루프운영 실행에서 나온 트레이스가 분석 에이전트에 입력되어 하니스 설정을 개선하니스 개선LangSmith Engine

이것이 바로 루프 엔지니어링, 또는 swyx의 표현을 빌리면 루프크래프트가 실제 현장에서 어떤 모습인지를 보여줍니다. Steipete, Boris, Andrej 같은 AI 분야의 리더들은 모두 같은 결론에 도달했습니다. 에이전트의 잠재력은 그 주위에 우리가 쌓아 올리는 루프에 있다는 것입니다.

우리는 한동안 루프 1과 2에 대해 고민해 왔습니다. 하지만 이제 초점은 루프 3과 4로 옮겨 가야 합니다. 여러분의 기준에 맞춰 끊임없이 개선되는 에이전트를 생태계에 심어 둘 때, 바로 이 두 루프에서 가치가 복리처럼 불어나기 때문입니다.

Satya는 조직 차원에서 무엇이 걸려 있는지를 짚어냅니다. 사람의 판단과 토큰 자본이 함께 복리로 불어나는 학습 루프를 일찍 구축하는 기업은, 다른 곳이 따라 하기 어려운 경쟁 우위를 갖게 될 것입니다.

Edit this page