AI 기반 소프트웨어 개발을 위한 의사결정 기록
의도(intent)를 코드에 가깝게 유지하라.
결정 기록은 AI 보조 소프트웨어 개발에서 누락된 기억 계층입니다. 단순히 무엇을 구축했는지뿐만 아니라 왜 구축했는지를 포착하며, AI 도구가 코드를 작성할 때 이러한 구분이 결정적인 중요성을 갖습니다.
의도(intent)를 코드에 가깝게 유지하라.
결정 기록은 AI 보조 소프트웨어 개발에서 누락된 기억 계층입니다. 단순히 무엇을 구축했는지뿐만 아니라 왜 구축했는지를 포착하며, AI 도구가 코드를 작성할 때 이러한 구분이 결정적인 중요성을 갖습니다.
오류를 적절한 경계에서 처리하세요.
Go의 에러 처리는 불평하기 쉽습니다. 모든 Go 개발자는 수백 번 이 코드를 작성해 보셨을 것입니다:
동시 Go 테스트에서 잠들지 마세요.
Go의 동시성 코드를 테스트하는 일은 항상 약간의 규율을 필요로 했습니다. 고루틴(Goroutine)은 가볍고, 채널(Channel)은 단순하며, 컨텍스트(Context) 취소는 관례적인(idiomatic) 방식입니다. 실제 Go 서비스에서는 백그라운드 워커와 타이머가 어디에나 존재합니다.
A2A는 사라진 것이 아닙니다. 다만 범용적으로 쓰이지 않을 뿐입니다.
구글의 에이전트 투 에이전트(Agent2Agent) 프로토콜, 즉 A2A는 첫해를 다소 혼란스럽게 보냈습니다.
AI 에이전트를 위한 신뢰할 수 있는 폴링 패턴
폴링 에이전트(Polling Agent)는 AI 어시스턴트 아키텍처에서 가장 화려하지는 않지만, 동시에 가장 유용한 구성 요소 중 하나입니다.
A2A는 에이전트를 네트워크 피어(network peers)로 전환합니다.
A2A 프로토콜(에이전트 투 에이전트 프로토콜)은 독립적인 AI 에이전트 시스템 간의 통신을 위한 개방형 표준입니다.
MCP는 에이전트에 도구를 제공합니다. A2A는 에이전트에 동료(peer)를 제공합니다.
AI 에이전트 아키텍처가 두 개의 레이어로 나뉘기 시작하고 있습니다.
불필요한 형식주의 없이 Go로 CQRS 구축하기
CQRS는 과대평가되고, 지나치게 복잡해지며, 때로는 평범한 CRUD의 지루함을 해결할 만병통치약으로 오해받는 패턴 중 하나입니다.
드라마 없이, 코드 기반 다이어그램
Mermaid는 캔버스에서 상자를 드래그하는 대신 다이어그램을 텍스트로 작성하려는 사람들을 위한 텍스트 기반 다이어그램 도구입니다. 이 도구는 마크다운과 유사한 구문을 사용하여 플로우차트, 시퀀스 다이어그램, 클래스 다이어그램, 상태 머신, 타임라인, 간트 차트, 엔티티 관계 다이어그램 등을 설명합니다.
주제가 아니라 행위에 따라 노트를 정리하세요.
주제별로 노트를 정리하는 것은 논리적으로 들리지만, PostgreSQL에 대한 노트가 다섯 개의 다른 폴더에 흩어져 있어 오늘 해결해야 할 문제에 도움이 되는 노트를 찾을 수 없게 된다면 이야기가 달라집니다.
저하되지 않고 개선되는 노트.
대부분의 엔지니어링 노트는 한 번 작성되고 나면 방치됩니다. 디버깅 세션에서 얻은 통찰을 기록하고 어딘가에 붙여 넣은 후, 2년이 지난 후에야 그 파일을 찾아보지만 당시 왜 중요했는지 맥락을 기억하지 못하는 경우가 많습니다.
단순히 글을 게시하는 것을 넘어, 성장할 수 있는 지식을 공유하세요.
온라인에서 지식을 게시하는 지배적인 모델은 2000년대 초 이후 크게 변하지 않았습니다. 무언가를 작성하고, 다듬고, 게시한 다음 넘어가는 방식입니다.
모델이 아닌 리스크를 통제하십시오.
대형 언어 모델(LLM)은 예측 불가능합니다. 환각(hallucination) 현상이 발생하거나, 데이터가 유출되거나, 유해한 콘텐츠를 생성하거나, 합법적인 요청을 거부하기도 합니다. 가드레일(Guardrails)은 모델의 성능을 희생하지 않으면서도 모델의 행동을 제한합니다.
적절한 작업에 적합한 모델
200단어짜리 이메일을 요약하기 위해 700억 파라미터 모델 실행은 낭비입니다. 프로덕션 코드를 검토하기 위해 30억 파라미터 모델을 실행하는 것은 무모합니다. 대부분의 시스템은 이 두 극단 사이의 어딘가에 위치해 있으며, 바로 여기서 모델 라우팅(Model Routing)의 역할이 시작됩니다.
작동하는 가장 단순한 패턴을 선택하라.
단일 모델 시스템은 단순합니다. 다중 모델 시스템은 강력합니다. 여기서 핵심 과제는 모델을 선택하는 것이 아니라, 이러한 모델들을 조율하는 아키텍처를 설계하는 것입니다.
중요한 곳에 토큰을 투자하세요.
LLM(대형 언어 모델) 비용은 사용량에 따라 선형적으로 증가합니다. 하루에 1,000개의 요청을 처리하고 요청당 비용이 $0.01인 시스템의 경우, 일일 비용은 $100이며 연간 비용은 $365입니다. 기업 규모에서는 이 비용이 $10,000을 넘을 수 있습니다.
시스템, 인프라, AI 엔지니어링에 관한 새 글을 받아보세요.