전체 글
-
LangGraph 레퍼런스 가이드이코에코(Eco²)/Applied 2026. 1. 9. 23:02
작성일: 2026-01-09적용 서비스: apps/chat참고 문서: LangGraph 공식 문서LangGraph 핵심 개념, API, 그리고 Chat 서비스 마이그레이션에 적용할 패턴 정리1. LangGraph 개요LangGraph는 복잡한 생성형 AI 워크플로우를 구축하기 위한 그래프 기반 오케스트레이션 프레임워크입니다.1.1 핵심 특징특징설명명시적 상태 모델링노드별 입력/출력 정의로 흐름 추적 및 디버깅 용이조건부 분기/루프상태 간 조건 분기와 재귀적 루프 설정 가능LLM 통합 추상화OpenAI, Anthropic, Gemini 등 다양한 LLM 지원내장 Persistence체크포인트 기반 상태 저장/복원스트리밍 지원노드별 이벤트 및 토큰 스트리밍1.2 Workflow vs AgentWorkflow..
-
이코에코(Eco²) Clean Architecture #15: Scan API Clean Architecture 마이그레이션 완료, FE-BE SSE E2E 연동이코에코(Eco²)/Clean Architecture Migration 2026. 1. 9. 21:25
작성일: 2026-01-09작성자: mangowhoiscloud, Opus 4.5 Scan API의 Clean Architecture 마이그레이션을 완료하고, 프론트엔드와 E2E 연동 테스트를 성공적으로 마쳤습니다.이 글에서는 #14 이후 진행된 주요 작업과 의사결정을 정리합니다.주요 태스크항목상태Scan API Clean Architecture✅ 완료RabbitMQ Topology CR 일원화✅ 완료Fanout Exchange 1:N 라우팅✅ 완료FE-BE E2E 연동✅ 완료Image API Redis 안정성 개선✅ 완료FE SSE 실시간 스캔 진행 상태✅ 완료FE 캐릭터 Optimistic Update✅ 완료1. RabbitMQ Queue 전략 최종 결정1.1 문제 상황scan.reward 태스크 완..
-
이코에코(Eco²) Scan API SSE BE-FE 연동: Eventual Consistency 대응 계획이코에코(Eco²)/Plans 2026. 1. 9. 18:47
프론트엔드 캐릭터 보유 확인 - Eventual Consistency 대응 계획상태: Updated (Frontend-only 접근법으로 변경)최종 수정: 2026-01-091. 현황 분석1.1 백엔드 응답 구조 (현재)# apps/scan_worker/application/classify/steps/reward_step.py:94-99reward_response = { "name": reward.get("name"), "dialog": reward.get("dialog"), "match_reason": reward.get("match_reason"), "type": reward.get("type"),}# ⚠️ received, already_owned, character_id 등이..
-
이코에코(Eco²) Fanout Exchange Migration Troubleshooting이코에코(Eco²)/Troubleshooting 2026. 1. 9. 18:32
작성일: 2026-01-09작업 시간: 14:00 ~ 18:30 KST (약 4.5시간)관련 리포트: rabbitmq-queue-strategy-report.md개요RabbitMQ Topology CR을 단일 소스로 일원화하고, scan.reward → character.save_ownership + users.save_character 1:N 라우팅을 구현하는 과정에서 발생한 트러블슈팅 기록.최종 결과: Named Direct Exchange → Fanout Exchange 전환 ✅ E2E 검증 완료타임라인 요약시간Phase주요 작업14:00 ~ 14:12설계Exchange 전략 분석, Named Direct vs Fanout 검토14:13 ~ 15:02Phase 1Celery Queue 선언 충돌 해..
-
남해아버지 간병 2026. 1. 8. 14:32
진주에 머물러야할 기간이 얼마나 길어질지 몰라 숙소를 옮겼다.하루이틀이면 몰라도 일주일-한달 가까이 지낼텐데 나 한명 때문에 숙소비가 두배로 나가면 감당이 안되니..할어버지를 모실 겸 당분간 고모와 남해에서 진주까지 오가기로 했다.직장이 있던 상태면 방비를 내고 앉았겠지만 뭐.. 이럴 때면 다른 팀을 가더라도 눌러앉을 걸 그랬나 싶다.만약 그랬다면 지금의 K8s 24-node EDA-based Agent Cluster 이코에코는 없었겠지만 말이다. 오랜만에 방문해도 여전히 messy한 집이다. 집도 마찬가지지만 '굳이 이걸..?' 싶은 걸 직접 만드셨다.만들어 둔 아궁이도 여전한 걸 보면 생각보다 잘 쓰나 보다. 밥솥도 있으면서 저게 왜 있는지는 잘 모르겠다.고향에 대한 향수가 강하셨던 만큼 어린 시절 ..
-
Queue 올리다가 잠들기 전에 잡담아버지 간병 2026. 1. 8. 06:39
오늘은 작업을 그렇게 많이 하지는 못했다.신년 잡담 때 ‘클린 아키텍처부터 훅 처진다.‘는 얘기를 괜히 한건지 정말 말하는 대로 되고 있다.Event Bus(혹은 Event Relay)을 각종 설계, 구현, 테스트 사이클로 도출하는데도 일주일이 안걸렸는데 마이그레이션에서 9일이 넘어간다. 아버지가 쓰러지신 영향도 있지만 진도가 과하게 늦는 면이 있다. 그만큼 디벨롭만 극한으로 쌓던 시절 코드퀄리티가 엉망이었단 거니 크게 할 말은 없다. 코드퀄리티와 무관하게 레이어드로 쌓아올린 걸 클린으로 바꾸는 거니.. 사실상 같은 어플리케이션 레이어 코드베이스를 두 번 짜는 격이다. 클린 아키텍처에 익숙하지 않아 더딘 면도 있다. 만들면서 익히는 중이긴 하지만 처음엔 계층만 잡아두고 하위를 어떻게 잡아야할지 잘 몰랐다..
-
이코에코(Eco²) RabbitMQ Queue Strategy Report이코에코(Eco²)/Reports 2026. 1. 8. 02:57
RabbitMQ Queue Strategy Report작성일: 2026-01-08최종 수정: 2026-01-09목적: Celery Worker Queue 전략 정립 및 Topology CR 일원화1. 현황 분석1.1 현재 아키텍처┌─────────────────────────────────────────────────────────────────┐│ 현재 상태 │├─────────────────────────────────────────────────────────────────┤│ ││ Py..
-