전체 글
-
이코에코(Eco²) Agent #23: Observability - LangSmith + Prometheus 통합이코에코(Eco²)/Agent 2026. 1. 17. 02:28
Feature-level Observability: LangSmith로 노드별 분석, Prometheus로 부하테스트 메트릭항목값작성일2026-01-16버전v1.0시리즈Eco² Agent 시리즈참조 가이드 (Internal)Observability Setup Guide커밋e6fd91e8 (feat: implement LangGraph native streaming with observability) 1. 왜 Observability가 필요한가?1.1 LangGraph 파이프라인의 복잡성Eco² Chat Worker는 10개 이상의 서브에이전트가 동적으로 병렬 라우팅되는 복잡한 파이프라인입니다.사용자 질문 │ ▼┌─────────┐│ intent │ → 9개 Intent 분류└────┬───..
-
이코에코(Eco²) Agent #22: LangGraph 네이티브 스트리밍 구현카테고리 없음 2026. 1. 17. 01:47
ainvoke → astream_events 전환으로 실시간 토큰 스트리밍과 복구 가능한 Token Stream 구현항목값작성일2026-01-16버전v1.0시리즈Eco² Agent 시리즈이전 포스팅#17 동적 컨텍스트 압축ADRLangGraph Native Streaming ADR , Token Streaming Improvement ADR커밋e6fd91e8 (feat: implement LangGraph native streaming with observability)1. 배경: 수동 토큰 스트리밍의 한계1.1 기존 구현 방식기존 Chat Worker는 ainvoke로 파이프라인을 실행하고, 각 노드에서 이벤트를 수동으로 발행했습니다.# 기존 방식 (answer_node.py)async def answ..
-
ADR: LangGraph Native Streaming이코에코(Eco²) Context/Plans 2026. 1. 16. 21:04
LangGraph 1.0+ 네이티브 스트리밍으로 토큰 스트리밍 개선 작성일: 2026-01-16상태: Draft선행 문서 (Internal): token-streaming-improvement-adr.md1. 개요1.1 현재 구현 방식┌─────────────────────────────────────────────────────────────────┐│ 현재: Manual Token Streaming │├─────────────────────────────────────────────────────────────────┤│ ..
-
이코에코(Eco²) Agent #21: 동적 컨텍스트 압축 (ref. OpenCode)이코에코(Eco²)/Agent 2026. 1. 16. 19:56
OpenCode/Claude Code 기반 Production-Ready 컨텍스트 압축 전략항목값작성일2026-01-16시리즈Eco² Agent 시리즈이전 포스팅#16 컨텍스트 압축참조OpenCode compaction.ts, Claude Code compaction1. 배경: 기존 Compression의 한계1.1 기존 구현# v1.0 - 고정 임계값 방식DEFAULT_MAX_TOKENS_BEFORE_SUMMARY = 3072 # 고정 3KDEFAULT_MAX_SUMMARY_TOKENS = 512 # 고정 512DEFAULT_KEEP_RECENT_MESSAGES = 4 # 고정 4개문제설명고정 임계값GPT-5.2 (400K)와 Gemini-3 (1M)에 동일한 3K 적..
-
Code Reivew: Circuit Breaker 싱글톤 race condition이코에코(Eco²)/Agent 2026. 1. 16. 19:51
Production Architecture P1 구현 이후 코드 리뷰에서 발견된 이슈와 수정 사항 작성일: 2026-01-16브랜치: refactor/reward-fanout-exchange관련 커밋:[01f765f2] refactor(chat_worker): implement Single Source of Truth for node contracts[db51ab44] fix(chat_worker): resolve race conditions and fallback execution bugs목차코드 리뷰 발견 사항Issue 1: Circuit Breaker Race ConditionIssue 2: FAIL_FALLBACK 미실행Issue 3: node_policy vs aggregator 불일치검증 방법..
-
이코에코(Eco²) Agent #20: Chat Worker Production Ready이코에코(Eco²)/Agent 2026. 1. 16. 12:46
ADR: chat-worker-production-architecture-adr일자: 2026-01-161. Executive SummaryADR에서 정의한 Chat Worker Production Architecture P0(Critical), P1(Production Critical) 항목을 모두 구현하여 고부하 테스트를 견디기 위한 기반을 마련했습니다.Commit HistoryCommit설명우선순위be1a6060Event-First Architecture for message persistenceInfra8c3d3e5cAdd timeout to gRPC clients and image generatorP0c361ef1fAdd production resilience infrastructureP12. ..
-
ADR: Agentic Chat Worker Production Ready이코에코(Eco²) Context/Plans 2026. 1. 16. 06:58
상태: Reviewed (타임아웃 검증 완료)일자: 2026-01-16관련 ADR (Internal)multi-intent-enhancement-adr.mdchat-worker-prompt-strategy-adr.md리뷰 히스토리:| 2026-01-16 | 초안 작성 (5가지 리뷰 피드백 반영) | 2026-01-16 | 타임아웃 검증: 실제 클라이언트 구현 기반으로 NodePolicy 테이블 수정, P0 항목 추가1. OverviewChat Worker의 "의도 분류 → 라우팅 → 병렬 실행 → 집계 → 답변" 파이프라인이 Production 레벨 부하를 견디도록 안정적으로 운영하기 위한 ADR입니다.1.1 핵심 설계 원칙Fail-Safe부분 실패 시에도 서비스 유지Observable각 단계의 상태/지..
-
이코에코(Eco²) Agent #19: LangGraph Send API 기반 동적 라우팅이코에코(Eco²)/Agent 2026. 1. 16. 06:47
Multi-Intent 처리와 컨텍스트 Enrichment를 위한 병렬 서브에이전트 실행 구현핵심: Send API로 런타임에 여러 노드를 동적으로 결정하고 병렬 실행참고 논문: arxiv:2304.11384 (Multi-Intent ICL), arxiv:2411.14252 (Chain-of-Intent, CIKM '25)적용 서비스: apps/chat_worker관련 커밋: 54f71eab (feat: add dynamic routing with Send API), 4b207c70 (feat: extend intent classification)테스트: tests/unit/.../routing/test_dynamic_router.py (17 cases)1. 목표사용자: "종이 어떻게 버려? 그리고 수거..