Latent Notes

The Era of Agentic Workflows: Automating Error Tracking and Beyond

Explore how AI agents are being integrated into DevOps pipelines to automate manual tasks like error monitoring and reporting. This post examines real-world implementations using tools like n8ng, Sentry, and Google Gemini.

에이전틱 워크플로우의 시대: 에러 추적 자동화를 넘어 지능형 운영으로

서론: 반복되는 에러 대응의 굴레에서 벗어나기

서비스를 운영하는 개발자라면 누구나 한 번쯤 '에러 대응의 늪'에 빠져본 경험이 있을 것입니다. Sentry 대시보드에 빨간색 에러 로그가 쌓여가는 것을 보면서도, 정작 이를 팀원들에게 공유하고 기록하기 위해 Notion 페이지를 열고 Slack 메시지를 복사해 붙여넣는 과정은 지극히 수동적이고 소모적입니다.

특히 실시간 멀티플레이어 드로잉 게임인 '우리 모두 다빈치'를 운영했던 한 사례에 따르면, 이러한 수동 작업은 단순히 귀찮은 문제를 넘어 서비스의 안정성을 위협하는 심각한 리스크를 초래합니다. 바쁜 업무 중에 Sentry 확인 자체를 잊어버려 에러 기록이 누락되거나, 소켓 끊김이나 렌더링 에러처럼 UX에 직결되는 장애를 뒤늦게 발견하게 되는 것이 대표적입니다. 또한, 사람마다 기록 양식이 달라 스택트레이스(Stacktrace)나 환경 정보가 누락되는 데이터 불일치 문제까지 발생하며 운영의 병목 현상을 만듭니다.

이제 우리는 단순한 알림을 넘어, 에러 감지부터 원인 분석, 그리고 기록까지 스스로 수행하는 '에이전틱 워크플로우(Agentic Workflow)'에 주목해야 합니다. AI 에이전트가 Sentry의 Webhook을 수신하고, Gemini API를 통해 에러 원인을 한국어로 분석하여 Notion DB에 자동으로 정리해주는 시스템을 구축함으로써, 개발자는 반복적인 관리 작업에서 벗어나 문제 해결이라는 본로적인 가치에 집중할 수 있습니다.

본론 1: n8n 기반의 에러 분석 파이프라인 구축 전략

자동화 시스템을 설계할 때 가장 먼저 마주하는 고민은 '어떤 도구를 사용할 것인가'입니다. Zapier나 Make(구 Integromat)는 연동 편의성이 뛰어나지만, 클라우드 전용 서비스라는 한계와 실행 횟수에 따른 비용 부담이 존재합니다. 특히 에러가 집중적으로 발생하는 QA 기간에는 예상치 못한 비용 폭탄을 맞을 수 있어 학생 프로젝트나 소규모 팀에게는 큰 부담이 됩니다. 반대로 직접 Webhook 핸들러를 구현하는 방식은 외부 의존성은 낮출 수 있지만, 재배포의 번거로움과 운영 공수가 과도하다는 단점이 있습니다.

이러한 고민의 해답으로 'n8n'은 매우 매력적인 선택지입니다. n8n은 Apache 2.0 라이선스의 오픈소스 도구로, Docker를 이용한 셀프 호스팅이 가능하여 실행 횟수 제한 없이 비용 효율적으로 운영할 수 있습니다. 또한 GUI 에디터를 통해 워크플로우를 시각적으로 설계하면서도, 필요할 때는 JavaScript 코드를 직접 작성할 수 있는 유연성을 제공합니다.

성공적인 파이프라인 구축을 위한 아키텍처는 다음과 같습니다. 우선 Sentry의 Alert Rule이 특정 조건(예: 1분 내 1회 이상 발생, error 레벨)을 충족하면 n8n으로 Webhook을 보냅니다. 이후 n8n은 Google Gemini API를 호출하여 에러 원인을 한국어로 자동 분석하고, 최종적으로 Notion DB에 에러 페이지 링크와 AI의 분석 결과가 포함된 새로운 페이지를 생성합니다. 이 과정에서 데이터의 흐름이 끊기지 않도록 설계하는 것이 핵심입니다.

본론 2: 안정적인 워크플로우를 위한 기술적 디테일

자동화 시스템은 단순히 연결하는 것을 넘어, 예외 상황에 대비한 정교한 설계가 필요합니다. 가장 먼저 해결해야 할 과제는 '타임아웃' 문제입니다. Sentry의 Webhook 응답 타임아웃은 약 10~15초 내외로 매우 짧습니다. 만약 n8n이 Gemini API를 호출하고 Notion에 기록을 남기는 모든 과정을 순차적으로 처리하려 한다면, 이 시간을 초점하여 에러가 발생할 수 있습니다. 이를 방지하기 위해 '수신과 처리의 분리' 전략을 사용해야 합니다. Webhook 노드 직후에 Respond to Webhook 노드를 배치하여 Sentry에는 즉시 200 OK 응답을 보내고, 이후 분석 로직은 비동기로 진행되도록 설계하는 것입니다.

데이터 가공 단계에서는 JavaScript를 활용한 정밀한 파싱이 요구됩니다. Sentry의 Alert Rule 페이로드는 일반적인 Issue Webhook과 구조가 다르기 때문에, raw.body에 접근하여 태그(tags) 데이터를 배열 형태에서 문자열로 변환하거나, 스택트레이스의 최근 5개 프레임만 추출하여 Notion의 가독성을 높이는 작업이 필요합니다. 또한, 타임스탬프를 ISO 형식으로 정규화하여 데이터의 일관성을 유지하는 것도 중요합니다.

마지막으로 인프라의 지속 가능성을 고려해야 합니다. 자동화 엔진을 구동하는 컨테이너가 잠들지 않도록 UptimeRobot을 통해 5분마다 /healthz 엔드포인트에 핑을 보내 상태를 체크하고, Neon DB와 같은 서버리스 데이터베이스가 사용되지 않아 'Suspend(일시 중지)' 상태로 전환되는 것을 막기 위해 주기적인 Schedule Trigger를 설정하는 디테일이 필수적입니다.

본론 3: 에이전트의 신뢰성 확보 - 'Skillify'와 테스트의 중요성

많은 이들이 AI 에이전트를 활용할 때 프롬프트에 "제발 환각(Hallucination)을 일으키지 마"라고 적는 식의 'Vibes-based(감에 의존한)' 방식에 머물러 있습니다. 하지만 Garry Tan이 지적했듯이, 복잡한 대화나 작업 환경에서 이러한 단순한 프롬프트 튜닝은 금세 한계에 부딪히고 맙니다. 에이전트의 신뢰성을 확보하기 위해서는 단순한 프롬프트 엔지니어링을 넘어선 체계적인 'Skill' 중심의 설계가 필요합니다.

Garry Tan은 실패를 반복하지 않기 위한 방법으로 'Skillify'라는 개념을 제안합니다. 이는 에이전트가 실수했을 때 단순히 프롬프트를 수정하는 것이 아니라, 해당 실패 사례를 바탕으로 결정론적 코드(Deterministic Code)와 유닛 테스트가 포함된 하나의 완성된 '스킬(Skill)'로 변환하는 과정을 의미합니다. 예를 들어, 에이전트가 과거의 데이터를 찾지 못하고 엉뚱한 API를 호출했다면, 그 문제를 해결하기 위한 정확한 데이터 검색 로직을 코드로 구현하고 이를 검증하는 테스트 세트를 만드는 것입니다.

즉, 에이전트에게 "판단(Judgment)"이 필요한 영역과 "정밀함(Precision)"이 필요한 영역을 분리해야 합니다. 날짜 계산이나 특정 데이터 조회처럼 결과가 항상 일정해야 하는 작업은 LLM의 추론에 맡기기보다, 결정론적인 스크립트로 처리하도록 워크플로우를 구조화해야 합니다. 에이전트가 불필요한 추론(Reasoning) 대신 정확한 도구(Tool/Skill)를 사용하도록 만드는 것이 에이전틱 워크플로우의 완성도를 결정짓는 핵심입니다.

결론: 자동화를 넘어 자가 학습하는 시스템으로

우리가 지향해야 할 미래의 데브옵스(DevOps)와 소프트웨어 운영 방식은 단순한 작업의 자동화를 넘어, 에러로부터 배우고 스스로를 개선하는 '자가 학습적 시스템'입니다. Sentry에서 발생한 에러를 AI가 분석하고 이를 Notion에 기록하는 것은 시작일 뿐입니다. 진정한 목표는 이러한 피드백 루프를 통해 에이전트가 새로운 실패 사례를 구조적인 '스킬'로 흡수하여, 동일한 장애가 다시는 발생하지 않도록 인프라 자체를 강화하는 데 있습니다.

에이전틱 워크플로우는 단순한 생산성 도구가 아니라, 소프트웨어 운영의 패러다임을 바꾸는 강력한 엔진입니다. 반복되는 수동 작업의 굴레를 끊고, 에러 분석 결과가 곧바로 시스템의 성능 개선으로 이어지는 선순환 구조를 구축할 때, 우리는 비로소 진정한 의미의 지능형 자동화 시대를 맞이하게 될 것입니다.

출처

  1. AI 에이전트를 고용해서 에러 추적을 자동화한 이야기 — REturn 0;
  2. Garry Tan on X: "How to really stop your agents from making the same mistakes" / X

관련 글

← 목록으로