LLMs는 테라바이트 규모의 CI 로그를 분석하기 위해 SQL 쿼리를 몇 초 만에 생성합니다

Mendral의 AI 에이전트가 자체 SQL 쿼리를 작성하여 불안정한 테스트를 3주 전의 의존성 업데이트로 추적했습니다. 수억 개의 로그 라인을 수십 개의 쿼리로 스캔하고, 작업 메타데이터에서 원시 로그 출력까지의 흔적을 따라갔습니다. 전체 조사는 몇 초 만에 완료되었습니다.
매주 약 15억 개의 CI 로그 라인과 70만 개의 작업이 이 시스템을 통과합니다. 모든 데이터는 ClickHouse에 저장되며 35:1로 압축됩니다. 모든 데이터는 밀리초 단위로 쿼리가 가능합니다.
에이전트를 위한 SQL 인터페이스
조직별로 범위가 지정된 SQL 인터페이스를 에이전트에 제공합니다. 에이전트는 질문에 따라 자체적으로 쿼리를 구성합니다. 미리 정의된 쿼리 라이브러리나 엄격한 도구 API가 없습니다. get_failure_rate(workflow, days)와 같은 제한된 도구 API는 에이전트를 예상된 질문으로만 제한할 것입니다. SQL 인터페이스를 통해 예상치 못한 질문을 할 수 있으며, 이는 새로운 실패를 디버깅할 때 중요합니다.
에이전트는 두 가지 주요 대상을 쿼리합니다:
- 작업 메타데이터: CI 작업 실행당 하나의 행을 가진 구체화된 뷰입니다. 에이전트는 63%의 시간 동안 "이 작업은 얼마나 자주 실패하나요?", "성공률은 얼마인가요?", "어떤 작업이 가장 느린가요?", "언제 실패하기 시작했나요?"와 같은 질문에 이를 사용합니다.
- 원시 로그 라인: 로그 라인당 하나의 행입니다. 에이전트는 37%의 시간 동안 "이 작업의 오류 출력을 보여주세요", "이 로그 패턴이 처음 나타난 시점은 언제인가요?", "이 오류 메시지가 실행 전반에 걸쳐 얼마나 자주 발생하나요?"와 같은 질문에 이를 사용합니다.
쿼리 패턴과 규모
관측 가능성 파이프라인에서 8,534개의 에이전트 세션과 52,312개의 쿼리를 분석했습니다. 에이전트는 단일 쿼리에서 멈추지 않습니다. 조사를 시작하고, 넓게 시작한 다음 구체적으로 파고듭니다.
하나의 질문에 답하기 위해 모든 쿼리에서 스캔한 총 행 수:
- 일반적인 질문: 약 3개의 쿼리에서 335K 행
- P75: 520만 행
- P95: 9억 4천만 행
- 가장 무거운 원시 로그 세션은 43억 행을 스캔합니다
에이전트는 세션당 평균 4.4개의 쿼리를 수행합니다. 일반적인 조사는 작업 메타데이터(비용이 저렴한 쿼리, 중앙값 47K 행)를 컴팩트하고 사전 집계된 구체화된 뷰에 대해 시작합니다. 흥미로운 것을 발견하면 원시 로그(비용이 높은 쿼리, 중앙값 110만 행)로 파고듭니다.
데이터 아키텍처
에이전트가 이렇게 빠르게 쿼리하려면 데이터가 이를 위해 구조화되어야 합니다. 바쁜 날에는 최대 3억 개의 로그 라인이 흐릅니다. ClickHouse를 사용합니다.
모든 로그 라인은 48개의 메타데이터 열을 포함합니다: CI 실행의 전체 컨텍스트입니다. 커밋 SHA, 작성자, 브랜치, PR 제목, 워크플로우 이름, 작업 이름, 단계 이름, 러너 정보, 타임스탬프 등이 있습니다.
ClickHouse의 컬럼 형식에서 모든 로그 라인에 48개의 열을 비정규화하는 것은 사실상 무료입니다. commit_message와 같은 열은 CI 실행의 모든 로그 라인에 대해 동일한 값을 가지며, 단일 실행은 수천 개의 로그 라인을 생성할 수 있습니다. ClickHouse는 수천 개의 동일한 값을 순차적으로 저장합니다. 압축 알고리즘은 반복을 인식하고 거의 아무것도 없는 수준으로 압축합니다.
압축 비율:
commit_message: 301:1display_title: 160:1workflow_path: 79:1step_name: 52:1job_name: 48:1
비정규화 없이는 모든 쿼리에 조인이 필요할 것입니다. 이를 통해 모든 쿼리가 단순한 필터로 처리됩니다.
📖 전체 소스 읽기: HN LLM Tools
👀 See Also

게임 개발자는 자동화된 피드백 수집과 코드 리팩토링을 위해 OpenClaw를 사용합니다.
게임 개발자가 MacBook에서 OpenClaw를 백그라운드 서비스(LaunchAgent)로 설정하여 두 개의 개발 프로젝트를 관리하는 방법을 상세히 설명했습니다. 이 시스템은 Claude(Anthropic의 모델)를 Discord 서버와 Telegram에 연결하여 직접 상호작용과 자동화된 작업 실행을 가능하게 하며, 모든 메모리는 시작 시 읽히는 로컬 Markdown 파일에 저장됩니다.

사용자가 Claude 대화를 통해 저산소성 허혈성 뇌병증 진단을 발견합니다
상파울루 출신 22세 청년이 22년간 오진된 후 클로드를 이용해 저산소성 허혈성 뇌병증을 확인했습니다. 이 인공지능이 출생 시 합병증과 자폐증과 맞지 않는 지속적인 인지 증상을 연결하는 데 도움을 주었습니다.

클로드 코드를 효과적으로 사용하는 방법: 풀 SaaS 앱을 구축한 개발자의 경험
2021년부터 SaaS 제품을 개발해 온 개발자가 Claude Code를 사용하여 codefluent.app이라는 완전한 애플리케이션을 구축했습니다. 핵심 통찰은 이 도구를 효과적으로 사용하려면 '앱을 만들어 줘'와 같은 모호한 프롬프트가 아닌 상세한 기술 사양이 필요하다는 점입니다. 개발자는 모든 아키텍처 결정을 스스로 내리면서 Claude Code가 명확한 사양을 작동하는 코드로 빠르게 변환하도록 했다고 강조합니다.
클로드 아티팩트를 활용한 프레젠테이션 제작: 전체 맥락 + 브랜드 자산
Claude가 코드베이스 컨텍스트, 브랜딩(Brandfetch) 접근 권한, 인기 디자인 라이브러리를 활용하여 Artifacts를 통해 바닐라 HTML/JS/CSS 프레젠테이션을 생성합니다. Google Slides나 PowerPoint 없이 세련되고 재구성 가능한 데크를 만듭니다.