본문 바로가기

AI 콘텐츠 자동화

AI가 자꾸 기억을 잃어버린다: mem0 도입과 기억 상실 해결기 AI가 자꾸 기억을 잃어버린다: mem0 도입과 기억 상실 해결기AI 서비스에 장기 기억을 부여하려다 예상치 못한 기억 혼동 버그를 마주쳤다. mem0 라이브러리를 도입해 유저 데이터를 저장하는 코드는 동작했지만, AI는 저장된 기억을 업데이트하지 못하고 서로 충돌하는 정보를 동시에 물고 수습없는 답변을 내놓았다. 원인과 해결에 이르는 과정을 기록한다.Mem0 라이브러리를 활용하여 AI 에이전트의 단기/장기 메모리를 관리하는 코드 스니펫위 화면은 mem0가 검색한 과거 기억 중 상충하는 두 기억("1년 전 피자 좋아함"vs"어제부터 다이어트 시작이라고 함")이 LLM에 동시에 주입된 비정상 응답의 예시다. 답이 엉뚱하게 돌아가는 이유가 한 문장으로 설명된다."어제 한 말을 오늘 또 물어보네요."인공지능 .. 더보기
자동화 블로그의 첫 수익화 세팅, 그리고 처참한 실패와 복구 기록 자동화 블로그의 첫 수익화 세팅, 그리고 처참한 실패와 복구 기록블로그 자동화 파이프라인에 애드센스 수익화를 붙이려다 검색 엔진 페널티를 맞은 경험과 복구 과정을 담았다.청구서가 쏘아 올린 수익화의 꿈자동화 파이프라인이 안정화되면서 검색 엔진에 인덱싱되는 글이 하루가 다르게 늘어났다. 구글 서치 콘솔의 그래프가 아름다운 우상향을 그리는 것을 보며 성취감에 젖어 있던 것도 잠시, 현실적인 문제가 수면 위로 떠올랐다. 바로 매달 청구되는 클라우드 서버 비용과 API 사용료였다. 트래픽이 늘어날수록 유지 유지비용도 정비례해서 증가하고 있었다.이제는 이 자동화 시스템이 스스로 제 밥값을 벌어오게 만들어야 할 타이밍이었다. 그동안 구축해 둔 파이프라인에 구글 애드센스(AdSense) 광고와 제휴 마케팅 링크를 자.. 더보기
유튜브 모니터링 텔레그램 알림 봇, 중복 메시지 폭탄을 해결하기까지 유튜브 모니터링 텔레그램 알림 봇, 중복 메시지 폭탄을 해결하기까지매일 아침 반복되는 리서치 업무를 코드로 해결하려던 시도와, 그 과정에서 겪은 에러 해결기를 정리했다.유튜브 API 연동 코드 작업 화면위 화면은 텔레그램 봇이 유튜브 새 영상을 확인하고 전송하도록 짜인 초기 파이썬 코드다. 이 코드는 정상적으로 작동하는 것처럼 보였지만, 곧 서버에 치명적인 문제를 일으켰다.💡 발단: 매일 아침 30분, 반복 업무를 없애고 싶었다사업을 운영하다 보면 업계 트렌드를 기민하게 파악하는 것이 필요적입니다. 저 역시 매일 아침 업무 시작 전, 유튜브에 핵심 키워드를 검색해 경쟁사 동향과 신기술 트렌드를 파악하는 것이 중요한 일과였습니다. 방대한 정보가 모이는 유튜브는 훌륭한 리서치 채널이었기 때문입니다.하지만 .. 더보기
긴 글 작성의 함정: AI의 5000자 출력 한계를 마주하다 긴 글 작성의 함정: AI의 5000자 출력 한계를 마주하다이 현상을 마주하고 분석하는 과정은 AI 활용의 한계를 깨닫게 해 준 중요한 계기가 되었다.위 화면은 AI가 긴 글을 작성하다가 문장을 채 완성하지 못하고 강제로 출력이 끊긴 모습이다. 서버 에러도, 네트워크 오류도 아닌 이 현상의 원인을 밝혀야만 했다."엔터 한 번에 A4 3장 분량의 안정적인 리포트가 나올까?"회사를 운영하다 보면 가장 품이 많이 드는 일 중 하나가 '깊이 있는 텍스트'를 생산하는 것입니다. 고객을 설득하는 상세한 서비스 소개글, 기술적 인사이트를 담은 전문 블로그 포스팅, 그리고 논리 정연한 기획서까지. 비즈니스의 가치를 제대로 전달하려면 짧은 카피라이팅을 넘어 호흡이 긴 웰메이드 콘텐츠가 반드시 필요합니다.하지만 늘 그렇듯.. 더보기
MCP 프로토콜을 활용한 사내 AI 에이전트 자동화 도입기 MCP 프로토콜을 활용한 사내 AI 에이전트 자동화 도입기이러한 문제를 해결하기 위해 처음 도입했던 MCP 서버의 통신 로그 화면을 보면 그 이유를 알 수 있다.위 화면은 MCP를 통해 외부 데이터를 조회하려던 에이전트가 통신 에러에 빠진 상태를 캡처한 것이다. 이 에러 로그를 분석하면서 에이전트 자동화의 진정한 벽을 만나게 되었다.1. 시작하며: 끝없는 파이썬 스크립트 작성에서 벗어나기 위해최근 사내 업무 효율을 극대화하기 위해 다양한 AI 에이전트 도입을 검토하고 있었습니다. 기존의 사내 자동화는 지라(Jira)에서 이슈를 가져오거나 깃허브(GitHub)의 코드 리뷰 요청을 읽어오기 위해 매번 새로운 파이썬 스크립트를 작성해야만 했습니다.단순 반복 작업임에도 불구하고 연동할 외부 도구가 추가될 때마다.. 더보기
파이썬만으로 프론트엔드 만들기: 스트림릿(Streamlit) 도입 고군분투기 파이썬만으로 프론트엔드 만들기: 스트림릿(Streamlit) 도입 고군분투기파이썬 스크립트를 웹으로 쉽게 변환할 수 있다는 스트림릿의 장점 이면에는 상태 관리라는 독특한 패러다임이 숨어 있었다. 이를 이해하지 못해 겪은 무한 새로고침의 늪과 해결 과정을 정리한다.위 화면은 스트림릿으로 구현한 초기 웹 애플리케이션에서 상호작용 시 값이 초기화되는 현상을 캡처한 것이다. 버튼을 누를 때마다 화면이 초기화되는 이 오류는, 스트림릿의 렌더링 구조를 훌륭하게 이해하기 전까지 나를 끊임없이 괴롭혔다.터미널의 벽을 허물기 위한 선택최근 사내 업무 효율화를 위해 데이터 처리용 파이썬 스크립트를 여러 개 작성했다. 터미널 환경에 익숙한 개발자에게는 그저 명령어 한 줄이면 끝날 일이었지만, 비개발 직군 팀원들에게 까만 콘.. 더보기
LLM과 Pydantic: 프롬프트 대신 코드 레벨에서 JSON 에러 잡기 LLM과 Pydantic: 프롬프트 대신 코드 레벨에서 JSON 에러 잡기LLM(대규모 언어 모델)에게 JSON 형태로 출력을 요구할 때 흔히 겪는 파싱 에러와 이를 해결하기 위한 과정이다. 단순히 프롬프트를 튜닝하는 것을 넘어, 코드 레벨에서 구조적인 검증을 통해 시스템의 안정성을 높여야 한다는 깨달음을 얻었다.위 화면은 LLM에게 프롬프트로 엄격하게 형식을 지시했음에도 불구하고 잘못된 응답을 반환하여 시스템 에러가 발생한 상황을 보여주는 예시다. LLM의 자유도를 통제하지 못하면 파이프라인 전체가 무너질 수 있음을 보여준다.프롬프트 한 줄이면 JSON이 예쁘게 나올 줄 알았다최근 인공지능을 활용해 다양한 비정형 텍스트 데이터를 분석하고, 이를 서비스 데이터베이스에 맞게 구조화하는 파이프라인 구축을 시.. 더보기
파이썬 MoviePy 영상 자동 렌더링 시도와 메모리 누수 극복기 파이썬 MoviePy 영상 자동 렌더링 시도와 메모리 누수 극복기사업을 운영하다 보면 필연적으로 '콘텐츠 생산의 늪'에 빠지는 순간이 옵니다. 특히 최근 마케팅 트렌드에서는 고객의 이름이나 특정 정보만 살짝 바꾼 '맞춤형 숏폼 영상'이 대량으로 필요했습니다.처음에는 영상 편집 프로그램을 켜서 텍스트 레이어를 일일이 수정하고 렌더링 버튼을 누르는 수작업을 반복했습니다. 하지만 작업량이 10개, 20개를 넘어가자 확신이 들었습니다. "이건 인간이 할 짓이 아니다."결국 저는 이 지루한 반복 작업을 코드로 자동화하기로 결심했습니다. 파이썬(Python) 생태계에서 영상 처리로 유명한 MoviePy 라이브러리를 무기 삼아, 나만의 영상 생성 파이프라인 구축에 나섰습니다.1. 코드 몇 줄의 마법, 그리고 섣부른 .. 더보기