2026-07-06 / Backend/Architecture 7,600줄 Lambda 오케스트레이터 이전기: 복잡함의 정체는 15분 타임아웃이었다 LLM 리포트 생성 파이프라인의 완료 이벤트가 조용히 유실되는 버그를 추적하다가, 7,600줄짜리 오케스트레이터의 복잡함 대부분이 Lambda 15분 타임아웃을 우회하기 위한 코드였음을 알게 됐습니다. 버그를 고치는 대신 실행 기반을 Temporal로 옮기고, 91곳의 정규식 사후 정제를 Spring AI structured output 계약으로 대체한 과정입니다. #Temporal#AWS Lambda#Spring AI#Structured Output#LLM
2026-06-26 / Backend/Spring Spring AI 내부에서 본 Anthropic 구조화 출력·프롬프트 캐싱, 그리고 비용을 거두는 Advisor Temporal 워크플로에 Spring AI를 붙이면서 내부를 들여다봤습니다. useProviderStructuredOutput()이 Anthropic 네이티브 outputConfig로 나가는 경로, 프롬프트 캐싱을 켰지만 read가 0이라 손해였던 이유, 그리고 .entity()가 가린 토큰·비용을 CallAdvisor로 거둔 방법입니다. 2부작 중 2편입니다. #Spring AI#Anthropic#Kotlin#Spring Boot#Prompt Caching
2026-06-26 / Backend/Spring 진단 리포트 생성을 SQS·Lambda에서 Temporal 워크플로로 옮긴 이유 진단 리포트 생성을 SQS+Lambda 이벤트 파이프라인으로 돌렸습니다. 동시성 한도, 큐 백로그 지연, 흩어진 오케스트레이션 세 가지가 걸렸고 이걸 Temporal 워크플로로 옮기면서 생성 로직을 한 메서드 안으로 모았습니다. 2부작 중 1편입니다. #Temporal#Spring AI#Kotlin#Spring Boot#SQS