Go context.Context 제대로 다루기: 취소, 타임아웃, 그리고 값
Go의 컨텍스트는 데이터 저장이 아닌 제어 흐름입니다.
Go의 context.Context는 잘못 사용할 정도로 간단하며 — 바로 이것이 문제입니다.
Go의 컨텍스트는 데이터 저장이 아닌 제어 흐름입니다.
Go의 context.Context는 잘못 사용할 정도로 간단하며 — 바로 이것이 문제입니다.
적절한 경계에서 에러를 처리하세요.
Go의 에러 처리는 쉽게 불만을 제기할 수 있는 주제입니다. 모든 Go 개발자가 수백 번 이 코드를 작성해 봤을 것입니다:
동기화된 Go 테스트에서 더 이상 잠들지 마세요.
동시성(Concurrent) Go 코드 테스트는 언제나 조금의 절제된 접근이 필요했습니다. 고루틴(Goroutine)은 저렴하고, 채널(Channel)은 단순하며, 컨텍스트 취소(Cancellation)는 아이디오파틱(Idiomatic)한 방법입니다 — 실제 Go 서비스에서는 백그라운드 워커와 타이머가 어디에나 존재합니다.
A2A는 사라진 것이 아닙니다. 다만 범용적으로 쓰이지 않을 뿐입니다.
구글의 에이전트 투 에이전트(Agent2Agent) 프로토콜, 즉 A2A는 첫해를 다소 혼란스럽게 보냈습니다.
AI 에이전트를 위한 신뢰할 수 있는 폴링 패턴
폴링 에이전트(Polling Agent)는 AI 어시스턴트 아키텍처에서 가장 화려하지는 않지만, 동시에 가장 유용한 구성 요소 중 하나입니다.
MCP는 에이전트에 도구를 제공하며, A2A는 에이전트에게 동료(피어)를 제공합니다.
AI 에이전트 아키텍처는 이제 두 가지 레이어로 분화되기 시작하고 있습니다.
A2A는 에이전트를 네트워크 피어(network peers)로 전환합니다.
A2A 프로토콜(에이전트 투 에이전트 프로토콜)은 독립적인 AI 에이전트 시스템 간의 통신을 위한 개방형 표준입니다.
불필요한 형식주의 없이 Go로 CQRS 구축하기
CQRS는 과대평가되고, 지나치게 복잡해지며, 때로는 평범한 CRUD의 지루함을 해결할 만병통치약으로 오해받는 패턴 중 하나입니다.
드라마 없이, 코드 기반 다이어그램
Mermaid는 캔버스에서 상자를 드래그하는 대신 다이어그램을 텍스트로 작성하려는 사람들을 위한 텍스트 기반 다이어그램 도구입니다. 이 도구는 마크다운과 유사한 구문을 사용하여 플로우차트, 시퀀스 다이어그램, 클래스 다이어그램, 상태 머신, 타임라인, 간트 차트, 엔티티 관계 다이어그램 등을 설명합니다.
가장 단순하게 동작하는 패턴을 선택하세요.
단일 모델 시스템은 간단합니다. 다중 모델 시스템은 강력합니다. 도전과제는 모델을 선택하는 것이 아니라, 이들을 조율하는 아키텍처를 설계하는 것입니다.
모델이 아닌 리스크를 통제하십시오.
대형 언어 모델(LLM)은 예측 불가능합니다. 환각(hallucination) 현상이 발생하거나, 데이터가 유출되거나, 유해한 콘텐츠를 생성하거나, 합법적인 요청을 거부하기도 합니다. 가드레일(Guardrails)은 모델의 성능을 희생하지 않으면서도 모델의 행동을 제한합니다.
실제 생산성 어시스턴트는 어떻게 구축되는가.
프로덕션 AI 어시스턴트는 단순히 “프롬프트가 포함된 LLM"이 아닙니다. 사용자 의도를 수용하고, 상태를 유지하며, 검색 또는 실행 시점을 결정하고, 장애를 디버깅할 수 있도록 충분한 런타임 세부 정보를 노출하는 시스템입니다.
느낌에 의존한 해석을 중단하고, 계약서를 검증하십시오.
대부분의 대규모 언어 모델(LLM) ‘구조화된 출력(structured output)’ 튜토리얼은 진지하지 않습니다. 이들은 사용자에게 정중하게 JSON을 요청한 후 모델이 잘 작동하기를 바라고 만듭니다. 그것은 검증(validation)이 아닙니다. 그것은 중괄호를 사용한 낙관주의에 불과합니다.
중복된 사이드 이펙트를 방지하세요
분산 시스템에서 중복성(Idempotency)은 네트워크 오류, 큐 재시도, 클라이언트 패닉, 그리고 운영자가 재실행을 누른 상황에서도 당신을 구워주는 속성입니다. 프로덕션 시스템에서는 중복 전송이 정상적인 현상입니다. 중복된 사이드 이펙트가 바로 버그입니다.
실무에서도 견고한 Claude 스킬 만들기
대부분의 팀은 Claude Skills를 두 가지 방식 중 하나로 오용합니다. SKILL.md 파일을 대충 내용을 쏟아 넣는 쓰레기통으로 만들거나, 거대하고 복사-붙여넣기 한 프롬프트에서 벗어나지 못합니다.
가져둘 가치 있는 스킬과 건너뛸 스킬
OpenClaw에는 두 가지 확장이 있으며, 이들은 쉽게 혼동될 수 있습니다.
플러그인은 런타임을 확장합니다. 스킬(기술)은 에이전트의 행동을 확장합니다.