Techlist.io - 한국 테크 블로그 큐레이터

line원문

코드 품질 개선 기법 29편: 고르디우스 변수 (새 탭에서 열림)

코드 내 데이터의 의존성이 복잡하게 얽혀 로직을 파악하기 어려운 상태를 '고르디우스의 매듭'에 비유하며, 이를 해결하기 위한 설계 기법을 제시합니다. 복잡한 조건문과 데이터 가공이 반복되는 경우, 최종 로직에 필요한 이상적인 중간 데이터 구조를 먼저 정의하고 이를 생성하는 방식으로 코드를 재구성하면 가독성과 유지보수성을 동시에 높일 수 있습니다. **데이터 의존성 과다로 인한 가독성 저하** * 원격과 로컬 데이터를 동기화할 때 추가, 업데이트, 삭제 대상을 구분하는 과정에서 데이터 의존성이 복잡해지기 쉽습니다. * 단순히 ID 목록을 비교해 차집합을 구하는 방식은 실제 데이터를 처리할 때 다시 원본 리스트에서 객체를 찾아야 하거나, 맵(Map)에서 데이터를 꺼낼 때 발생할 수 없는 예외 상황을 처리해야 하는 번거로움을 유발합니다. * 이로 인해 비즈니스 로직의 핵심인 '동기화 액션'보다 데이터를 분류하고 가공하는 '준비 과정'이 코드의 흐름을 방해하게 됩니다. **이상적인 중간 데이터 설계를 통한 역설계** * 복잡한 매듭을 풀기 위해서는 최종적으로 필요한 데이터의 형태를 먼저 상상하고, 그 지점부터 함수의 구성을 역으로 설계하는 것이 효과적입니다. * 이번 사례에서는 추가(`created`), 업데이트(`updated`), 삭제(`deleted`)될 대상들을 명확히 분리한 세 가지 리스트를 중간 데이터로 정의했습니다. * 로컬과 원격의 모든 ID 집합을 기준으로 `Pair<RemoteData?, LocalData?>` 형태의 시퀀스를 만들고, 이를 상태에 따라 분류하는 것이 핵심입니다. **`partitionByNullity`를 활용한 로직 단순화** * `partitionByNullity`라는 유틸리티 함수를 도입하여 데이터의 존재 여부에 따라 세 그룹(Remote만 존재, 둘 다 존재, Local만 존재)으로 깔끔하게 분리합니다. * 이 함수를 사용하면 메인 함수인 `synchronizeWithRemoteEntries`에서는 복잡한 필터링이나 조건문 없이 각각의 리스트에 대해 `forEach`를 돌며 추가, 업데이트, 삭제 로직만 수행하면 됩니다. * 결과적으로 런타임 에러를 방지하기 위한 불필요한 null 체크가 사라지고, 전체적인 실행 흐름이 일관성 있게 정돈됩니다. **실용적인 제언** 코드의 흐름을 따라가기 벅차다면 데이터의 흐름이 꼬여있지 않은지 점검해야 합니다. 구현에 매몰되기보다 "어떤 모양의 데이터가 있으면 이 로직이 가장 깔끔해질까?"를 먼저 고민하고, 그 중간 구조를 만들어내는 로직을 별도로 분리하면 코드 품질을 획기적으로 개선할 수 있습니다.

aws원문

맞춤형 Intel Xeon 6 프로세 (새 탭에서 열림)

AWS가 Intel Xeon 6 프로세서를 탑재한 차세대 메모리 최적화 인스턴스인 Amazon EC2 X8i의 정식 출시를 발표했습니다. 이 인스턴스는 이전 세대인 X2i 대비 최대 1.5배의 메모리 용량과 3.4배의 대역폭을 제공하여 대규모 데이터베이스 및 분석 작업에 최적화되었습니다. 특히 SAP 인증을 획득하여 SAP HANA와 같은 고성능 인메모리 워크로드에서 압도적인 효율성을 보여줍니다. **커스텀 Intel Xeon 6 기반의 독보적인 성능** * AWS 전용으로 설계된 커스텀 Intel Xeon 6 프로세서를 탑재하여 전 코어 3.9GHz의 지속적인 터보 주파수를 제공합니다. * 이전 세대(X2i)와 비교했을 때 전체적으로 최대 43%의 성능 향상을 실현했습니다. * 최대 6TB의 메모리 용량을 지원하며, 메모리 대역폭은 3.4배 더 넓어져 데이터 집약적인 처리에 유리합니다. **주요 워크로드별 벤치마크 및 비용 효율성** * SAP HANA 워크로드에서 이전 세대 대비 최대 50% 향상된 SAPS(SAP Application Performance Standard) 성능을 기록했습니다. * PostgreSQL 성능은 최대 47%, Memcached는 최대 88%, AI 추론 성능은 최대 46%까지 개선되었습니다. * 실제 고객 사례인 Orion의 경우, X8i의 높은 성능 덕분에 활성 코어 수를 줄이면서도 동일 성능을 유지하여 SQL Server 라이선스 비용을 50% 절감했습니다. **유연한 인스턴스 규격과 대역폭 옵션** * 가상화 인스턴스(48xlarge, 64xlarge, 96xlarge 등)부터 베어메탈(metal-48xl, metal-96xl)까지 총 14가지 크기를 제공합니다. * 최대 100Gbps의 네트워크 대역폭(EFA 지원)과 80Gbps의 Amazon EBS 대역폭을 통해 대규모 데이터 전송 병목 현상을 최소화합니다. * IBC(Instance Bandwidth Configuration) 기능을 지원하여 사용자가 필요에 따라 네트워크와 EBS 대역폭 할당량을 조정할 수 있습니다. **가용성 및 구매 방식** * 현재 미국 동부(버지니아 북부), 미국 서부(오레곤), 유럽(프랑크푸르트, 아일랜드), 아시아 태평양(시드니, 도쿄) 리전에서 즉시 사용 가능합니다. * 온디맨드, 예약 인스턴스(RI), Savings Plans 및 스팟 인스턴스 등 다양한 구매 옵션을 통해 비용을 최적화할 수 있습니다. SAP HANA와 같은 대규모 인메모리 데이터베이스를 운영하거나, 높은 컴퓨팅 파워와 방대한 메모리가 동시에 필요한 EDA(전자 설계 자동화) 및 데이터 분석 환경이라면 X8i 인스턴스로의 전환을 통해 성능 향상과 라이선스 비용 절감 효과를 동시에 거둘 수 있을 것입니다.

toss원문

토스의 새로운 얼굴 만들기 (새 탭에서 열림)

토스는 서비스의 인상과 신뢰감을 효과적으로 전달하기 위해 기존의 인물 그래픽을 고도화했습니다. 기존의 귀엽고 어린 이미지를 탈피하여 똑똑하고 믿음직한 '토스다운' 인상을 구축하고, 글로벌 확장에 발맞춰 다인종·다문화 환경을 포용할 수 있는 보편적인 디자인 체계를 마련하는 데 집중했습니다. 이를 통해 어떤 화면에서도 완성도를 유지하며 사용자에게 친근하면서도 전문적인 가치를 전달하는 새로운 페르소나를 완성했습니다. **토스다운 신뢰감을 주는 인물 비율 조정** - 기존 그래픽은 얼굴의 세로 비율이 짧아 다소 어려 보이고 신뢰감이 부족하다는 피드백이 있었습니다. - 얼굴 형태를 크게 바꾸어 이질감을 주는 대신, 눈·코·입의 배치와 표현을 미세하게 조정하여 지적이고 성숙한 인상의 균형점을 찾았습니다. - 도형을 단순히 이어 붙인 구조에서 탈피하여 목과 어깨의 곡선을 다듬고 입체감을 더해 조형적 완성도를 높였습니다. - 단정하고 전문적인 분위기를 자아낼 수 있도록 과한 디테일이 배제된 짧은 목폴라 형태의 의상을 기본 착장으로 설정했습니다. **성별과 인종의 경계를 허무는 중립적 디자인** - 특정 성별로 치우치지 않는 중성적인 헤어 스타일을 개발하여 성별 중립적인 인상을 구현했습니다. - 헤어의 부피감을 보완하고 라인을 정돈하여 화면 크기가 커지더라도 그래픽의 밀도가 떨어져 보이지 않도록 개선했습니다. - 단일한 스킨톤에서 벗어나 이모지의 표준을 참고한 다섯 가지 스킨톤 체계를 정의함으로써 다양성을 수용했습니다. - 여러 인물이 등장하는 화면에서는 다양한 스킨톤을 섞어 배치할 수 있도록 가이드를 마련하여 유니버설 디자인의 가치를 투영했습니다. **글로벌 확장을 고려한 포용적 그래픽 시스템** - 한국 중심의 서비스에서 글로벌 시장으로 확장함에 따라 특정 문화권에 국한되지 않는 보편적인 얼굴이 필요해졌습니다. - 노란색과 같은 추상적인 중립 컬러 대신 실제 인종의 다양성을 반영한 컬러 시스템을 선택하여 사용자들의 공감을 유도했습니다. - 디자인 개선 후 실제 앱 적용 시 주변 인터페이스 요소들과 자연스럽게 어우러지며 브랜드의 지향점을 명확히 드러내고 있습니다. 이러한 개편은 단순한 시각적 변화를 넘어 토스가 지향하는 포용성과 신뢰라는 브랜드 가치를 사용자에게 더 가깝게 전달하는 역할을 합니다. 향후에도 인종, 성별, 연령에 관계없이 누구나 자신을 투영할 수 있는 중립적이고 포용적인 그래픽 시스템을 지속적으로 확장해 나갈 것으로 기대됩니다.

cloudflare원문

휴먼 네이티브가 클 (새 탭에서 열림)

Cloudflare는 영국 기반의 AI 데이터 마켓플레이스인 Human Native를 인수하여 생성형 AI 시대에 걸맞은 새로운 인터넷 경제 모델 구축에 나섰습니다. 이번 인수를 통해 Cloudflare는 비정형 멀티미디어 콘텐츠를 고품질의 학습용 데이터로 변환하고, 창작자가 자신의 저작물에 대한 제어권과 공정한 보상을 받을 수 있는 기술적 토대를 강화할 예정입니다. 궁극적으로 양사는 무분별한 스크래핑 대신 투명하고 구조화된 데이터 거래 생태계를 조성하여 AI와 창작자가 공존하는 지속 가능한 인터넷 환경을 만드는 것을 목표로 합니다. **Human Native의 기술력과 고품질 데이터의 가치** * Human Native는 흩어져 있는 비정형 멀티미디어 콘텐츠를 AI가 이해하고 학습할 수 있는 고품질의 검색 가능한 데이터로 변환하는 데 특화되어 있습니다. * 데이터를 단순히 긁어모으는(Scraping) 대상이 아닌, 구조와 투명성, 존중이 필요한 자산(Asset)으로 취급합니다. * 실제로 영국의 한 비디오 AI 기업은 기존 학습 데이터를 폐기하고 Human Native를 통해 확보한 라이선스 기반의 고품질 데이터로 교체한 후 기술적 성능이 비약적으로 향상되는 결과를 얻었습니다. **위기에 처한 인터넷 경제 모델과 창작자의 권리** * 지난 30년 동안 인터넷은 '콘텐츠 제공과 트래픽 유입'이라는 교환 공식으로 유지되었으나, 최근 AI 봇의 무분별한 크롤링으로 인해 이 생태계가 위협받고 있습니다. * 실제 사람의 방문 대비 AI 크롤링 비율이 급증하면서 창작자들은 자신의 콘텐츠가 어떻게 사용되는지 알기 어려워졌습니다. * Cloudflare는 'AI Crawl Control'과 'Pay Per Crawl' 등의 도구를 통해 콘텐츠 소유자가 AI 시스템의 접근 여부와 시기, 그리고 직접적인 보상 여부를 스스로 결정할 수 있도록 지원합니다. **AI 개발자를 위한 차세대 데이터 인프라: AI Index** * 기존의 웹 크롤링은 엔지니어링 및 컴퓨팅 비용이 많이 들고 중복, 스팸, 저작권 위반 등 품질 제어가 어렵다는 단점이 있습니다. * Cloudflare는 무작위 크롤링 대신 '발행/구독(Pub/Sub)' 모델인 'AI Index'를 구축하고 있습니다. * 참여 웹사이트가 콘텐츠 변경 시 구조화된 업데이트를 노출하면, AI 개발자가 실시간으로 이를 구독하여 고품질의 데이터를 효율적으로 수급할 수 있는 방식입니다. **기계 간 거래를 위한 x402 및 경제적 토대 마련** * 기존 웹 결제 시스템은 인간 중심(카드 정보 입력, 클릭 등)으로 설계되어 자동화된 시스템 간의 대량 거래에는 부적합합니다. * Cloudflare는 Coinbase와 협력하여 기계 간(Machine-to-Machine) 거래를 지원하는 'x402 Foundation'을 설립하고 디지털 자산에 대한 새로운 결제 프로토콜을 개발 중입니다. * 이를 통해 콘텐츠 제공자와 AI 에이전트 간의 즉각적이고 투명한 경제적 거래가 가능해질 전망입니다. Cloudflare와 Human Native의 결합은 단순히 데이터를 모으는 기술을 넘어, AI 시대의 인터넷이 '개방성'과 '공정성'을 동시에 유지할 수 있는 제도적, 기술적 장치를 마련하는 중요한 이정표가 될 것입니다. 기업과 창작자들은 앞으로 AI Index와 같은 구조화된 데이터 전달 체계와 x402 기반의 자동 결제 모델을 통해 자신의 디지털 자산을 더 안전하게 보호하고 수익화할 수 있는 기회를 갖게 될 것입니다.

daangn원문

당근페이 백엔드 아키텍처가 걸어온 여정. Money라는 하나의 작은 프로젝트부터 수십 개의 서비스를 하나의… (새 탭에서 열림)

당근페이 백엔드 아키텍처는 서비스의 급격한 성장과 조직의 확장에 발맞춰 계층형, 헥사고날, 그리고 클린 아키텍처 기반의 모노레포 형태로 끊임없이 진화해 왔습니다. 초기에는 빠른 기능 출시를 위해 단순한 구조를 채택했으나, 비즈니스 복잡도가 증가함에 따라 의존성 관리와 코드 응집도를 높이기 위해 구조적 제약을 강화하는 방향으로 발전했습니다. 결과적으로 아키텍처는 기술적 부채를 해결하는 수단을 넘어, 대규모 팀이 협업하며 지속 가능한 성장을 이뤄낼 수 있는 기반이 되었습니다. ### 초기 성장을 견인한 계층형 아키텍처 (Layered Architecture) * **빠른 실행력 중심:** 2021년 당근페이 출시 초기, 송금 서비스의 신속한 시장 진입을 위해 `Controller-Service-Repository`로 이어지는 직관적인 3계층 구조를 사용했습니다. * **성장통의 발생:** 서비스가 커지면서 송금, 프로모션, FDS 등 다양한 기능이 하나의 계층에 뒤섞였고, 서비스 간 순환 참조와 강한 결합이 발생해 코드 변경의 영향 범위를 예측하기 어려워졌습니다. * **기술 부채의 축적:** 모든 비즈니스 로직에 프레임워크 기술(Spring)이 깊숙이 침투하면서 테스트 작성이 까다로워지고, 순수 도메인 로직만 분리해 관리하기 어려운 구조적 한계에 직면했습니다. ### 구조적 제약을 통한 응집도 향상 (Hexagonal Architecture) * **외부 구현과의 분리:** 도메인 규칙을 중심에 두고 UI, DB, 외부 API 등 인프라 영역을 포트와 어댑터를 통해 분리하여 프레임워크에 의존하지 않는 POJO 중심의 설계를 지향했습니다. * **모듈 역할의 세분화:** 프로젝트를 핵심 규칙을 담은 `domain`, 사용자 시나리오 단위의 `usecase`, 실제 입출력을 담당하는 `adapter` 모듈로 재구성하여 의존성 방향을 한곳으로 모았습니다. * **재사용성과 테스트 용이성:** 유스케이스 단위로 로직이 응집되면서 REST API뿐만 아니라 이벤트 컨슈머, 배치 잡 등 다양한 진입점에서 동일한 비즈니스 로직을 안전하게 재사용할 수 있게 되었습니다. ### 규모 확장에 대응하는 클린 아키텍처와 모노레포 * **모노레포 도입의 배경:** 머니, 포인트, 빌링 등 도메인이 늘어남에 따라 여러 저장소를 관리하는 비용이 증가했고, 이를 효율적으로 통합 관리하기 위해 하나의 저장소에서 여러 서비스를 운영하는 모노레포 구조를 채택했습니다. * **계약 기반의 모듈 분리:** 각 도메인을 `contract(인터페이스)`와 `impl(구현체)` 모듈로 쪼개어 의존성 규칙을 강제했습니다. 다른 모듈은 `contract`만 참조하게 하여 불필요한 내부 구현 노출을 차단했습니다. * **빌드 성능 및 생산성 최적화:** Gradle의 `api`와 `implementation` 구성을 활용해 컴파일 시점의 의존성을 제어함으로써, 대규모 프로젝트임에도 불구하고 빌드 시간을 단축하고 변경 영향도를 최소화했습니다. 아키텍처에는 정답이 없으며, 조직의 규모와 비즈니스의 현재 단계에 가장 적합한 형태를 선택하는 것이 중요합니다. 당근페이의 사례처럼 초기에 과도한 설계를 지양하되, 서비스 성장 속도에 맞춰 구조적 제약을 단계적으로 도입함으로써 기술 부채를 통제하고 개발 생산성을 유지하는 전략을 권장합니다.

aws원문

AWS 유럽 소버린 클 (새 탭에서 열림)

AWS가 유럽의 공공 부문과 고도로 규제된 산업의 디지털 주권 요구사항을 충족하기 위해 'AWS 유럽 소버린 클라우드(AWS European Sovereign Cloud)'의 정식 출시를 발표했습니다. 이 서비스는 기존 AWS 리전과 물리적·논리적으로 완전히 분리된 독립적인 인프라를 제공하며, 모든 데이터와 운영 제어권을 유럽 연합(EU) 내에 유지하도록 설계되었습니다. 이를 통해 유럽 고객들은 강력한 보안과 기술적 통제력을 갖춘 환경에서 최신 클라우드 기술을 활용하여 규제 준수와 혁신을 동시에 달성할 수 있게 되었습니다. ### 유럽 내 완전 독립형 인프라 가동 * **지리적 격리:** 첫 번째 리전은 독일 브란덴부르크에 위치하며, 기존의 글로벌 AWS 리전들과는 물리적으로나 시스템적으로 완전히 분리되어 운영됩니다. * **운영 자율성:** 중복된 전력 및 네트워킹 시스템을 갖춘 여러 가용 영역(Availability Zones)을 포함하며, 외부 세계와의 연결이 끊긴 상황에서도 지속적으로 작동할 수 있도록 설계되었습니다. * **독립적 거버넌스:** 유럽 내 독립적인 운영 주체에 의해 관리되며, 데이터 저장부터 처리까지 모든 과정이 유럽 사법권 체제 아래에서 투명하게 관리됩니다. ### 데이터 주권 및 규제 요구사항 최적화 * **엄격한 통제권:** 데이터 레지던시, 운영 제어 및 거버넌스 독립성에 대한 복잡한 규제 요구사항을 해결하여 공공기관 및 금융, 의료 등 규제가 엄격한 산업군에 최적화된 환경을 제공합니다. * **온프레미스 대체:** 기능이 제한된 기존의 온프레미스 환경이나 파편화된 소버린 솔루션 대신, AWS의 방대한 서비스 포트폴리오를 그대로 활용할 수 있는 완전한 클라우드 기능을 제공합니다. * **법적 및 기술적 보장:** 강력한 기술적 제어와 법적 보호 장치를 결합하여 유럽 고객들이 요구하는 최상위 수준의 주권 보증을 실현했습니다. ### 유럽 전역으로의 확장 및 유연한 배포 * **지역 확장 계획:** 독일을 시작으로 벨기에, 네덜란드, 포르투갈에 새로운 '소버린 로컬 존(Sovereign Local Zones)'을 구축하여 유럽 전역으로 서비스 범위를 넓힐 예정입니다. * **하이브리드 지원:** 고객의 자체 데이터 센터에서 사용할 수 있는 'AWS Outposts'나 전용 로컬 존, AI 팩토리 등을 통해 고객이 원하는 위치에서 주권 클라우드 인프라를 확장할 수 있습니다. * **풍부한 서비스 생태계:** 초기 출시 단계부터 보안, 컴퓨팅, 스토리지 등 핵심 서비스를 포함한 포괄적인 AWS 서비스 세트를 제공하여 기술적 제약 없는 전환을 지원합니다. 유럽 연합 내에서 엄격한 규제 준수가 필수적인 조직이라면, AWS 유럽 소버린 클라우드를 통해 데이터 주권 문제 해결과 현대적인 클라우드 네이티브 아키텍처 도입이라는 두 가지 목표를 동시에 검토해 보시기 바랍니다.

gitlab원문

GitLab Credits를 소개합니다 (새 탭에서 열림)

GitLab은 에이전트 기반 AI의 특성에 맞춰 기존의 사용자당 과금(Seat-based) 방식에서 벗어난 'GitLab Credits'라는 사용량 기반 과금 모델을 도입했습니다. 이는 AI 에이전트가 개별 사용자의 직접 호출뿐만 아니라 백그라운드 이벤트에 의해 자동 실행되는 환경에서 비용 효율성과 유연성을 극대화하기 위한 조치입니다. 이를 통해 기업 내 모든 구성원은 별도의 AI 시트를 구매하지 않고도 조직 내 공유된 크레딧을 사용하여 에이전틱 AI 기능을 자유롭게 활용할 수 있게 되었습니다. **사용자 중심에서 사용량 중심으로의 전환 배경** * 기존의 시트 기반 과금은 AI를 가끔 사용하는 팀원에게도 동일한 비용을 부과하여 팀 내 AI 도입의 격차를 유발하는 한계가 있었습니다. * GitLab Duo Agent Platform은 사용자가 직접 명령하는 채팅뿐만 아니라 소프트웨어 개발 생명주기(SDLC) 과정에서 발생하는 이벤트에 의해 자동 실행되는 '에이전틱 워크플로우'를 포함하므로 개별 시트 단위의 과금이 부적합합니다. * GitLab Credits는 조직 전체가 크레딧을 풀(Pool) 형태로 공유하고 실제 사용량에 따라 차감하는 방식을 채택하여 전사적 AI 활용도를 높이고 총소유비용(TCO)을 절감합니다. **GitLab Credits의 작동 방식 및 적용 범위** * 보안 분석가, 플래너, CI/CD 파이프라인 수정과 같은 기본 에이전트와 Anthropic Claude Code, OpenAI Codex 등의 외부 에이전트 사용 시 크레딧이 소모됩니다. * 사용자가 GitLab AI 카탈로그를 통해 직접 구축한 커스텀 에이전트 및 워크플로우 사용 시에도 동일한 크레딧 시스템이 적용됩니다. * 대규모 언어 모델(LLM)에 대한 요청 횟수를 기준으로 크레딧이 차감되며, 1크레딧의 온디맨드 가격은 1달러로 설정되어 투명한 비용 산정이 가능합니다. * 사용량은 매달 말에 정산되며, 연간 약정 고객에게는 사용량에 따른 볼륨 할인이 제공됩니다. **비용 거버넌스 및 관리 도구** * 대시보드를 통해 재무 담당자는 비용을 관리하고, 관리자는 운영 관점에서 사용량 통계 및 역사적 추이를 상세히 모니터링할 수 있습니다. * 특정 프로젝트나 팀별로 에이전트 접근 권한을 설정하거나 사용자 수준에서 크레딧 소모를 제어하는 기능을 통해 예기치 못한 비용 발생을 방지합니다. * 크레딧 사용량이 약정된 수량의 50%, 80%, 100%에 도달할 때마다 자동 이메일 알림을 발송하여 선제적인 비용 관리를 돕습니다. **기존 고객을 위한 혜택 및 전환 정책** * 한정 기간 프로모션으로 Premium 구독자는 인당 12달러, Ultimate 구독자는 인당 24달러 상당의 무료 크레딧을 매달 자동으로 제공받습니다. * 기존에 시트 기반의 Duo Pro 또는 Enterprise를 사용하던 고객은 남은 계약 금액을 GitLab Credits로 전환하여 전사적인 공유 모델로 업그레이드할 수 있습니다. * 모든 기능은 GitLab 18.8 버전부터 적용되며, 자체 관리형(Self-Managed) 및 전용(Dedicated) 고객도 해당 버전 업그레이드 후 사용 가능합니다. 에이전틱 AI를 전사적으로 도입하려는 기업은 기존의 경직된 라이선스 모델 대신 GitLab Credits를 통해 초기 비용 부담 없이 도입을 시작할 수 있습니다. 특히 Ultimate 구독자는 기본 제공되는 프로모션 크레딧을 활용해 보안 분석이나 파이프라인 자동화 에이전트의 효용성을 먼저 검증해 본 뒤, 실제 데이터에 기반하여 약정 규모를 결정하는 방식을 추천합니다.

kakao원문

Kanana-2 개발기 (1): Pre-training에서의 의사결정들을 중심으로 (새 탭에서 열림)

카카오는 전문가 혼합(MoE) 아키텍처를 적용하여 추론 효율을 극대화한 'Kanana-2' 모델 시리즈를 공개하고, 이를 확장한 155B 규모의 대형 모델 학습 과정과 기술적 노하우를 공유했습니다. 이번 개발의 핵심은 Muon 옵티마이저와 MuonClip 등의 최신 기술을 도입하여 대규모 학습의 안정성을 확보하고 비용 효율성을 높인 데 있습니다. 특히 한국어 LLM 생태계의 연구 기반을 넓히기 위해 합성 데이터가 포함되지 않은 순수 베이스 모델을 공개함으로써 지속 가능한 AI 연구 환경 구축을 목표로 합니다. **전문가 혼합(MoE) 아키텍처와 효율성** * 전체 32B 파라미터 중 추론 시에는 3B만 활성화하도록 설계하여, 거대 모델의 지능을 유지하면서도 연산 비용을 획기적으로 낮췄습니다. * MoE 학습에 필수적인 커널들을 직접 개발하여 적용함으로써 성능 손실 없이 학습 속도를 높이고 메모리 사용량을 줄였습니다. * 현재 학습 중인 155B 모델(활성 17B)은 8.9T 토큰 학습만으로도 MMLU, KMMLU 등 주요 벤치마크에서 글로벌 경쟁 모델 대비 우수한 성능을 입증하고 있습니다. **연구를 위한 통제된 테스트베드 구축** * 'Kanana-2-30b-a3b-base-2601' 모델은 성능 향상을 유도하는 합성 추론(Reasoning) 데이터를 의도적으로 배제하고 학습되었습니다. * 이는 미세 조정이나 강화 학습 시 발생하는 데이터 불일치 현상을 연구하기 위해, 오염되지 않은 깨끗한 '베이스 모델'이 필요한 연구자들을 위한 결정입니다. * 한국어 LLM 커뮤니티가 모델의 변화 과정을 정밀하게 측정하고 추론 연구를 지속할 수 있는 기초 자산 역할을 수행합니다. **Muon 옵티마이저와 Polar Express 적용** * 기존의 AdamW를 대체하여 파라미터 업데이트 시 그라디언트를 직교화(Orthogonalize)하는 Muon 옵티마이저를 채택하여 학습 효율을 높였습니다. * 업데이트 행렬 계산 시 일반적인 Newton-Schulz 알고리즘 대신, 정확도가 더 높은 Polar Express 알고리즘을 사용해 대규모 학습 후반부의 노이즈를 줄였습니다. * RMSNorm의 파라미터화와 학습률(LR) 조정 등 세부적인 디테일을 최적화하여 수천억 규모의 모델에서도 안정적인 수렴을 달성했습니다. **MuonClip을 통한 대규모 학습 안정화** * 대형 모델 학습 시 발생하는 로짓 폭주(Logit Explosion)를 방지하기 위해 Kimi-K2에서 제안된 MuonClip 기법을 도입했습니다. * 효율적인 연산을 위해 Flash Attention 커널을 수정하여 내부의 Max Logit 값을 실시간으로 반환받아 모니터링과 클리핑에 활용했습니다. * 실험 결과, MuonClip은 높은 학습률 설정에서도 모델이 발산하지 않도록 잡아주며, 훈련이 수렴하더라도 발생할 수 있는 잠재적인 성능 저하 요인을 효과적으로 억제함을 확인했습니다. 카카오의 Kanana-2 개발 사례는 단순한 모델 공개를 넘어, 대규모 MoE 모델 학습에서 발생하는 엔지니어링 이슈를 해결하는 구체적인 방법론을 제시합니다. 특히 고성능 오픈소스 모델을 활용하려는 개발자와 연구자들에게는 효율적인 추론 구조와 더불어, 탄탄한 기초 모델을 기반으로 한 한국어 특화 AI 연구의 새로운 가능성을 제공할 것입니다.

gitlab원문

GitLab Duo 에이전트 (새 탭에서 열림)

GitLab은 개발자가 코드를 작성하는 시간을 넘어 소프트웨어 개발 수명 주기(SDLC) 전반의 혁신 속도를 높이기 위해 'GitLab Duo Agent Platform'의 정식 출시(GA)를 발표했습니다. 이 플랫폼은 단순히 코드를 생성하는 수준을 넘어, 지능적인 오케스트레이션과 에이전트 기반 AI 자동화를 통해 코드 리뷰, 보안 점검, 파이프라인 최적화 등 기존의 병목 구간을 해결하는 데 초점을 맞춥니다. 결과적으로 팀은 인간과 AI의 유기적인 협업을 통해 복잡한 작업을 자율적으로 수행하고 전체 개발 프로세스를 가속화할 수 있습니다. ### AI 패러독스 해결과 통합된 협업 경험 * **AI 패러독스 극복:** 개발자가 코드 작성에 할애하는 시간은 전체의 약 20%에 불과하며, 나머지 80%의 업무에서 발생하는 병목 현상을 해결하기 위해 에이전트 중심의 접근 방식을 도입했습니다. * **통합 UX:** GitLab 웹 UI와 IDE(VS Code, JetBrains, Cursor, Windsurf 등) 전반에서 'Duo Agentic Chat'을 사용할 수 있으며, 이슈, 병합 요청(MR), 파이프라인 활동 내에서 AI와 실시간으로 소통할 수 있습니다. * **상황 맥락 인식:** 단순 응답을 넘어 이슈, 보안 결과물, 파이프라인 상태 등 전체 수명 주기의 맥락을 이해하고 다단계 추론을 통해 정확한 가이드를 제공합니다. ### 지능형 에이전틱 채팅의 주요 기능 * **분석 및 분석:** 웹 UI에서 이슈, 에픽, MR을 생성하거나 요약할 수 있으며, 복잡한 프로젝트 구조와 의존성을 파악하는 데 도움을 줍니다. * **코드 및 인프라 자동화:** 다양한 언어와 프레임워크에 걸쳐 코드, 구성 파일, IaC(Infrastructure-as-Code)를 생성하며 버그 수정 및 아키텍처 현대화를 지원합니다. * **CI/CD 및 보안:** 기존 파이프라인의 문제를 해결하거나 새로 구축하며, 보안 취약점을 설명하고 도달 가능성에 기반해 수정 우선순위를 제안합니다. ### 전문화된 에이전트 시스템 * **기본 에이전트(Foundational Agents):** GitLab 전문가들이 사전 구축한 에이전트로, 업무를 구조화하는 'Planner Agent'와 취약점 영향을 분석하는 'Security Analyst Agent'가 포함됩니다. * **커스텀 에이전트(Custom Agents):** 조직 고유의 표준과 가이드라인을 학습시킨 에이전트를 'AI Catalog'를 통해 관리하고 공유할 수 있습니다. * **외부 에이전트(External Agents):** Anthropic의 Claude Code나 OpenAI의 Codex CLI와 같은 외부 AI 도구를 GitLab 플랫폼 내에서 네이티브하게 연결하여 사용할 수 있습니다. ### 복잡한 업무를 처리하는 자동화 플로우(Flows) * **Issue to MR 플로우:** 잘 정의된 이슈로부터 구조화된 병합 요청(MR)을 자동으로 생성하여 개발 착수 시간을 단축합니다. * **CI/CD 전환 및 수정:** 타 시스템의 파이프라인 구성을 GitLab CI/CD로 현대화하거나, 실패한 파이프라인을 분석하여 변경 사항을 제안합니다. * **코드 리뷰 플로우:** 코드 변경 사항과 댓글을 분석하여 AI 기반의 심층적인 피드백을 제공함으로써 리뷰 프로세스를 간소화합니다. ### 사용 권한 및 새로운 과금 체계 * **GitLab Credits 도입:** 사용량 기반 과금 방식인 'GitLab Credit'을 통해 에이전트 플랫폼을 이용할 수 있습니다. * **구독별 혜택:** Premium 구독자에게는 사용자당 월 $12, Ultimate 구독자에게는 월 $24 상당의 크레딧이 추가 비용 없이 매월 제공됩니다. * **기존 고객 전환:** Duo Pro 또는 Enterprise 사용자는 기존 계약 잔여분을 크레딧으로 전환하여 즉시 에이전트 플랫폼으로 마이그레이션할 수 있습니다. GitLab Duo Agent Platform은 단순한 AI 비서를 넘어 실제 업무를 수행하는 '가상 팀원'을 제공합니다. 조직의 생산성을 높이기 위해서는 먼저 기본 제공되는 Planner 및 Security 에이전트를 활용해보고, 점진적으로 조직 특화된 커스텀 에이전트와 자동화 플로우를 구축하여 개발 전체 사이클의 효율을 극대화할 것을 권장합니다.

kakao원문

Kanana-2 개발기 (2): 개선된 post-training recipe를 중심으로 (새 탭에서 열림)

카카오는 차세대 언어모델 Kanana-2를 공개하며, 단순한 대화형 AI를 넘어 에이전트 환경에 최적화된 성능을 구현하기 위한 고도화된 Post-training 레시피를 적용했습니다. 이번 모델은 Pre-training과 Post-training 사이의 'Mid-training' 단계를 도입하여 추론 능력을 극대화하는 동시에, 한국어 성능 저하 문제를 해결하기 위해 기존 학습 데이터를 재학습시키는 전략을 사용했습니다. 결과적으로 Kanana-2는 도구 호출(Tool Calling)과 복잡한 지시 이행 능력에서 비약적인 발전을 이루었으며, 특히 Thinking 모델은 고난도 수학 및 코딩 영역에서 글로벌 수준의 성능을 입증했습니다. ### 성능의 가교 역할을 하는 Mid-training * **도입 배경**: 일반적인 사전 학습(Pre-training)만으로는 복잡한 추론이나 도구 사용 능력을 갖추기 어렵기 때문에, 본격적인 미세 조정 전 단계로서 모델의 잠재력을 끌어올리는 중간 단계를 설계했습니다. * **데이터 구성**: 최신 고성능 모델에서 추출한 200B 규모의 고품질 영어 추론 데이터와 수학, 코드 데이터를 집중적으로 학습시켰습니다. * **치명적 망각(Catastrophic Forgetting) 방지**: 영어 추론 데이터 학습 시 한국어 성능이 하락하는 문제를 방지하고자, 사전 학습 데이터 중 한국어 데이터를 포함한 50B 토큰을 일정 비율로 섞어 학습(Replay 전략)함으로써 언어 균형을 유지했습니다. * **효과**: Mid-training을 거친 모델은 기본 모델 대비 수학(MATH) 및 코딩(HumanEval) 벤치마크에서 유의미한 향상을 보였으며, 이후 Instruct 학습 시 더 빠른 수렴 속도와 높은 최종 성능을 나타냈습니다. ### 에이전트 능력을 강화한 Instruct 모델 * **SFT 전략의 최적화**: 기존 Kanana-1.5 데이터셋에 Nemotron 등 오픈소스 고품질 데이터를 단순히 교체하기보다 추가로 통합(Supplementation)했을 때, 전반적인 성능과 지시 이행 능력의 균형이 가장 잘 유지됨을 확인했습니다. * **Agentic AI 역량**: 실질적인 도구 활용을 위해 단일·다중·병렬 도구 호출 능력을 강화했으며, 답변의 길이, 언어 설정, 특정 단어 제외 등 복잡한 제약 조건을 준수하는 지시 이행 능력을 고도화했습니다. * **Parallel RL 파이프라인**: 대화 스타일과 선호도를 학습하는 DPO(Direct Preference Optimization)와 객관적인 정답이 존재하는 추론/코딩 성능을 높이는 PPO(Proximal Policy Optimization)를 병렬로 적용하여 효율적인 학습 구조를 구축했습니다. * **신뢰성 개선**: RL 단계 이후 KTO(Kahneman-Tversky Optimization) 기반의 Calibration Tuning을 추가하여 모델 답변의 신뢰도를 높이고 환각 현상을 줄였습니다. ### 추론에 특화된 Thinking 모델 * **CoT 기반 학습**: 모델이 문제 해결 과정을 단계별로 사고하는 '사고의 사슬(Chain-of-Thought)'을 학습하도록 SFT 데이터를 구성했습니다. * **Rule-based RL**: 수학과 코딩처럼 정답이 명확한 도메인에 대해 규칙 기반 보상(Reward) 모델을 적용하여, 모델 스스로 더 나은 추론 경로를 탐색하고 검증하도록 유도했습니다. * **성능 도약**: Thinking 모델은 AIME25 벤치마크에서 기본 모델(9.21) 대비 약 5배 향상된 50.0점을 기록했으며, 실시간 코딩 테스트인 LiveCodeBench에서도 글로벌 수준의 경쟁력을 확보했습니다. 이번 Kanana-2 개발 과정은 대규모 추론 데이터 주입 시 발생하는 언어적 편향을 '사전 데이터 리플레이'로 해결하고, DPO와 PPO를 병렬로 활용하여 효율성을 극대화한 사례로 평가됩니다. 복잡한 추론과 도구 활용이 필요한 에이전트 서비스를 기획 중이라면, 단순 Instruct 모델보다 Mid-training을 통해 기초 체력을 다진 후 Thinking SFT가 적용된 모델을 활용하는 것이 더욱 안정적인 성능을 기대할 수 있는 방법입니다.

meta원문

사용자 피드백을 바탕으로 (새 탭에서 열림)

페이스북 릴스(Facebook Reels)는 단순한 '좋아요'나 시청 시간 같은 지표를 넘어, 사용자 피드백을 직접 활용하여 개인화된 추천 시스템의 성능을 대폭 개선했습니다. 새롭게 도입된 UTIS(User True Interest Survey) 모델은 사용자의 실제 관심사를 정밀하게 파악함으로써 니치(Niche)한 고품질 콘텐츠의 노출을 늘리고 사용자의 만족도와 유지율을 높이는 데 성공했습니다. 결과적으로 이번 연구는 암묵적인 행동 데이터와 명시적인 사용자 설문을 결합했을 때 추천 시스템의 장기적인 가치가 어떻게 극대화될 수 있는지를 보여줍니다. **기존 행동 지표의 한계와 진정한 관심사 측정** * 기존의 추천 시스템은 시청 시간이나 공유와 같은 행동 신호에 의존하지만, 이러한 데이터는 노이즈가 많고 사용자의 장기적인 만족도를 완전히 반영하지 못하는 한계가 있습니다. * 조사 결과, 기존의 휴리스틱 기반 관심사 파악 방식은 실제 사용자의 관심사를 식별하는 데 있어 정밀도가 48.3%에 불과한 것으로 나타났습니다. * 페이스북은 단순한 주제 정합성을 넘어 오디오, 제작 스타일, 분위기 등 사용자가 체감하는 다양한 차원을 측정하기 위해 대규모 실시간 설문을 피드 내에 도입했습니다. **UTIS(User True Interest Survey) 모델 프레임워크** * 매일 무작위로 선정된 사용자에게 "이 영상이 당신의 관심사와 얼마나 일치합니까?"라는 질문을 1~5점 척도로 제시하여 실시간 피드백을 수집합니다. * 수집된 설문 데이터는 노이즈를 줄이기 위해 이진화(Binarized) 처리를 거치며, 샘플링 편향을 보정하기 위해 가중치를 적용하여 학습 데이터셋으로 구축됩니다. * 메인 랭킹 모델의 예측값을 입력 피처로 사용하는 경량화된 '인지 레이어(Perception Layer)'를 설계하여, 희소한 설문 데이터를 전체 추천 시스템에 일반화할 수 있도록 구현했습니다. **추천 시스템 파이프라인으로의 통합** * **지연 단계 랭킹(Late Stage Ranking, LSR):** UTIS 모델의 점수를 최종 랭킹 공식의 추가 피처로 투입하여, 관심사 일치도가 높은 영상에는 가산점을 주고 낮은 영상은 순위를 낮추는 정밀 조정을 수행합니다. * **초기 단계 랭킹(Retrieval):** 설문 데이터를 집계하여 사용자의 진정한 관심사 프로필을 재구축하고, 이를 기반으로 후보군을 추출합니다. 또한 지식 증류(Knowledge Distillation) 기법을 활용해 LSR의 UTIS 예측값을 검색 모델 학습에 반영합니다. * 이러한 다단계 통합을 통해 단순 인기 기반의 저품질 콘텐츠 추천은 줄이고, 사용자 개인에게 최적화된 고품질 니치 콘텐츠의 비중을 높였습니다. **성과 및 실용적 함의** * UTIS 모델 도입 이후 리텐션(재방문율) 지표가 유의미하게 개선되었으며 좋아요, 공유, 팔로우와 같은 능동적 참여율도 상승했습니다. * 시청 시간만을 최적화할 때 발생할 수 있는 '저품질 대중 콘텐츠 도배' 문제를 해결하고, 장기적인 플랫폼 건강도를 높이는 결과를 얻었습니다. * 이번 사례는 대규모 추천 시스템을 운영할 때 사용자 행동 데이터(Implicit)와 직접적인 피드백(Explicit)을 결합한 '인지 모델'을 구축하는 것이 정교한 개인화를 위해 필수적임을 시사합니다.

google원문

건강 인사이트의 발견 (새 탭에서 열림)

구글 연구팀은 대규모 검증 연구를 통해 스마트워치가 보행 지표를 정밀하게 추정할 수 있는 매우 신뢰할 수 있는 플랫폼임을 입증했습니다. 이 연구는 기존의 고가 실험 장비나 스마트폰 위치의 제약에서 벗어나, 손목 위 기기만으로 보행 속도와 보폭 등 복합적인 시공간적 보행 지표를 연속적으로 모니터링할 수 있는 기술적 기반을 마련했습니다. 결과적으로 스마트워치는 스마트폰과 대등한 수준의 정확도를 보여주며 비침습적인 건강 관리 및 질병 모니터링 도구로서의 가능성을 확인했습니다. **손목 데이터를 위한 딥러닝 모델 설계** * **다중 출력 TCN 모델:** 기존 연구들이 시점 추정 후 계산 과정을 거치는 것과 달리, 시계열 컨볼루션 네트워크(TCN) 기반의 다중 출력(Multi-head) 모델을 사용하여 모든 보행 지표를 직접 추정합니다. * **입력 데이터 및 전처리:** 사용자의 키(신장) 정보와 픽셀 워치에서 수집한 50Hz 샘플링 속도의 3축 가속도계 및 3축 자이로스코프(IMU) 신호를 결합하여 입력값으로 사용합니다. * **추정 지표:** 보행 속도(Gait speed), 양발 지지 시간(Double support time)과 같은 양측성 지표와 보폭(Step length), 유각기 시간(Swing time), 입각기 시간(Stance time) 등 좌우 각각의 단측성 지표를 동시에 산출합니다. * **오차 최적화:** 서로 다른 단위를 가진 다양한 지표들의 상대적 정확도를 높이기 위해 평균 절대 백분율 오차(MAPE)를 손실 함수로 사용하여 모델을 최적화했습니다. **대규모 임상 연구 및 엄격한 검증** * **방대한 데이터셋:** 미국과 일본의 246명 참여자로부터 수집한 약 7만 개의 보행 세그먼트를 활용해 모델의 성능을 검증했습니다. * **기준 장비(Ground Truth):** 실험실 등급의 보행 분석 시스템인 'Zeno Gait Walkway'를 기준점으로 삼아 스마트워치 추정값의 정확도를 비교했습니다. * **다양한 보행 시나리오:** 6분 걷기 테스트, 빠른 걸음뿐만 아니라 무릎 보조기를 착용하여 인위적으로 비대칭 보행을 유도하는 등 실제 환경에서 발생할 수 있는 다양한 보행 패턴을 포함했습니다. * **교차 검증:** 데이터 누수를 방지하기 위해 특정 참가자의 데이터가 훈련과 테스트에 동시에 포함되지 않도록 5-겹 교차 검증(5-fold cross-validation) 전략을 채택했습니다. **주요 연구 결과 및 성능 분석** * **높은 신뢰도 및 타당성:** 보행 속도, 보폭, 유각기/입각기 시간 등 주요 지표에서 피어슨 상관계수(r)와 내적 상관계수(ICC) 모두 0.80 이상의 우수한 수치를 기록했습니다. * **스마트폰과의 성능 비교:** 스마트폰을 앞뒤 주머니에 넣었을 때의 결과와 비교했을 때, 모든 보행 지표에서 통계적으로 유의미한 차이가 없음을 확인했습니다(p > 0.05). * **양발 지지 시간 측정:** 추적이 까다로운 양발 지지 시간 지표에서도 0.56~0.60의 수용 가능한 신뢰도를 보이며, 손목 기기만으로도 복합적인 보행 분석이 가능함을 보여주었습니다. 이 연구 결과는 스마트워치가 신경계 질환이나 근골격계 상태의 진행 상황을 모니터링하는 데 있어 스마트폰보다 더 실용적이고 일관된 플랫폼이 될 수 있음을 시사합니다. 일상적인 활동 중에도 정확한 보행 데이터를 수집할 수 있으므로, 의료진과 사용자는 임상 방문 사이의 공백 기간 동안 발생하는 건강 변화를 더욱 정밀하게 파악할 수 있을 것입니다.

discord3분 읽기큐레이션 요약

디스코드에서 커스텀 이

Discord의 커스텀 이모지는 서버 구성원이 직접 업로드해 메시지, 리액션, 사용자 지정 상태에 활용하는 이미지다. 서버별로 저장되며, 다른 서버에서 사용하려면 해당 서버에 다시 업로드하거나 Nitro가 필요하다. 현재 Discord가 이미지 크기와 형식을 자동 조정하므로 업로드가 간편하지만, 서버별 이모지 한도와 커뮤니티 가이드라인은 지켜야 한다. ## 커스텀 이모지란? - Discord의 기본 이모지와 달리 서버 커뮤니티가 직접 만들고 업로드하는 작은 이미지다. - 메시지에 삽입하거나 메시지 리액션으로 사용하고, 사용자 지정 상태에도 활용할 수 있다. - 특정 밈, 내부 농담, 친구의 사진 등 커뮤니티만의 개성을 표현하는 용도로 적합하다. - 커스텀 이모지는 업로드된 서버에 귀속된다. ## 커스텀 이모지 추가 방법 - 이모지 업로드 권한이 있는 서버에서 다음 메뉴로 이동한다. - **Server Settings > Emoji** - 권한이 있다면 데스크톱의 이모지 선택기에서 바로 업로드할 수도 있다. - 업로드한 이모지는 해당 서버 구성원이 사용할 수 있다. - 다른 서버에서 사용하려면: - 사용하려는 서버마다 직접 업로드하거나 - Discord Nitro를 구독해야 한다. ## 파일 형식과 권장 규격 Discord는 업로드 과정에서 이미지 크기 조정과 자르기를 지원하므로 과거처럼 규격을 정확히 맞출 필요는 줄었다. - 지원 파일 형식: **JPEG, PNG, GIF, WEBP, AVIF** - 권장 파일 크기: **256KB** - 초과해도 Discord가 압축한다. - 권장 이미지 크기: **128×128픽셀** - 더 크거나 작아도 업로드 가능하며, Discord가 조정한다. - 이모지 이름: - 최소 2자 이상 - 메시지에서 `:이모지이름:` 형태로 입력해 사용한다. - 예: `:joy:`, `:GiantHead:` ## 애니메이션 이모지 - 정적 이모지와 동일한 방식으로 업로드한다. - 업로드 후에는 일반 이모지와 별도로 **Animated Emoji** 영역에 표시된다. - 새로 업로드한 애니메이션 이모지를 사용하려면 Nitro가 필요하다. ## 제작 시 지켜야 할 제한 - 기술적으로는 다양한 이미지를 만들 수 있지만 Discord의 다음 정책을 따라야 한다. - Community Guidelines - Terms of Service - 저작권 및 지식재산권 정책 - 이모지는 연령 제한 콘텐츠로 지정할 수 없다. - 따라서 다음과 같은 이미지는 이모지로 허용되지 않는다. - 노골적인 성인 콘텐츠 - 그래픽한 폭력 묘사 - 연령 제한이 필요한 콘텐츠 - 직접 제작하지 않은 이미지라면 업로드 권리를 보유하고 있는지 확인해야 한다. ## 이모지를 크게 표시하는 방법 - 메시지에 일반 텍스트 없이 이모지만 입력하면 이모지가 크게 표시된다. - 한 메시지에 최대 **27개**까지 이모지를 넣을 수 있다. - 이 조건을 충족하면 모든 이모지가 큰 크기로 표시된다. - 28개 이상을 넣거나 일반 텍스트를 함께 입력하면 일반 크기로 표시된다. ## 서버별 이모지 한도 일반 서버의 기본 한도는 다음과 같다. - 일반 커스텀 이모지: **50개** - 애니메이션 커스텀 이모지: **50개** - 이 한도는 서버 전체에 적용되므로, 한 사람이 대부분을 업로드하면 다른 구성원이 추가할 공간이 줄어든다. 서버 부스트 레벨이 올라가면 한도가 증가한다. - **레벨 1**: 일반 100개, 애니메이션 100개 - **레벨 2**: 일반 150개, 애니메이션 150개 - **레벨 3**: 일반 250개, 애니메이션 250개 ## 실용적인 추천 업로드 전에는 128×128픽셀에 가깝게 이미지를 준비하고, 작은 화면에서도 표정이나 형태가 잘 보이는 단순한 디자인을 선택하는 것이 좋다. 또한 서버의 이모지 한도를 고려해 이름 규칙을 통일하고, 저작권 및 연령 제한 콘텐츠가 포함되지 않았는지 확인해야 한다.

원문 읽기(새 탭에서 열림)
gitlab원문

에이전트 이해 (새 탭에서 열림)

GitLab Duo 에이전트 플랫폼은 소프트웨어 개발 수명 주기(SDLC) 전반에 걸쳐 협업할 수 있는 세 가지 유형의 AI 에이전트—기본(Foundational), 맞춤형(Custom), 외부(External)—를 제공합니다. 사용자는 별도의 설정 없이 바로 사용 가능한 기본 에이전트를 활용하거나, 특정 팀의 워크플로우에 맞춘 맞춤형 에이전트를 구축하고, 외부의 전문화된 AI 모델을 연동하여 비동기적인 자동화 워크플로우를 구현할 수 있습니다. 이러한 다각적인 접근 방식은 개발 팀이 코드 작성부터 보안 분석, 데이터 가공에 이르는 복잡한 작업을 효율적으로 관리할 수 있도록 지원합니다. ### 즉시 활용 가능한 기본 에이전트 GitLab에서 직접 구축하고 유지 관리하는 에이전트로, 별도의 설정 없이 IDE나 웹 UI의 'Agentic Chat'을 통해 즉시 사용할 수 있습니다. * **GitLab Duo:** 일반적인 개발 협업을 위한 기본 에이전트로, 코드 생성 및 수정, 머지 리퀘스트(MR) 생성, 이슈 트리이징 등 전반적인 SDLC 맥락 내에서의 작업을 수행합니다. * **Planner Agent:** 제품 기획 단계에서 에픽(Epic)을 세분화하고 구조화된 이슈를 생성하여 관리자가 기획 생산성을 높일 수 있도록 돕습니다. * **Security Analyst Agent:** 취약점 스캔 결과를 분석하여 오탐을 식별하고, 실제 위험도에 따라 보안 이슈의 우선순위를 정렬합니다. * **Data Analyst Agent:** GitLab 쿼리 언어(GLQL)를 사용하여 플랫폼 전체의 데이터를 조회하고 시각화하며, 이슈 해결 시간 트렌드나 팀별 작업량 등의 인사이트를 제공합니다. ### 팀 표준에 최적화된 맞춤형 에이전트 프로젝트나 그룹 설정 내에서 시스템 프롬프트를 정의하여 팀 고유의 워크플로우와 기준에 최적화된 에이전트를 생성할 수 있습니다. * **시스템 프롬프트 설정:** 에이전트의 전문 분야와 행동 방식을 정의하는 핵심 요소입니다. 예를 들어 디버깅 에이전트의 경우, CI/CD 로그와 런타임 데이터를 상관 분석하도록 역할을 부여할 수 있습니다. * **가시성 제어:** 프로젝트 멤버만 사용할 수 있는 'Private' 모드와 AI 카탈로그에 노출되어 다른 프로젝트에서도 활성화할 수 있는 'Public' 모드 중 선택이 가능합니다. * **주요 활용 사례:** 특정 프로그래밍 언어나 사내 규정에 맞춘 문서화 지원, 신규 팀원을 위한 온보딩 가이드, 현지 언어 기반의 고객 지원 서비스 등이 있습니다. ### 외부 AI 연동을 통한 비동기 자동화 플랫폼 외부에서 구동되는 에이전트로, 이슈나 머지 리퀘스트에서 '@mentions'를 통해 트리거되어 배경에서 작업을 수행합니다. * **전문 AI 모델 활용:** Anthropic의 'Claude Code'(코드 생성 및 분석)나 OpenAI의 'Codex'(작무 위임 및 코드 보조)와 같은 특화된 외부 LLM 기능을 GitLab 내로 가져올 수 있습니다. * **이벤트 기반 자동화:** 사용자와 실시간 대화하는 방식이 아니라, 특정 이벤트가 발생했을 때 백그라운드에서 실행되므로 복잡한 코드 리뷰나 분석 작업에 적합합니다. * **통합 자격 증명 관리:** GitLab은 사용자가 직접 API 키를 관리하거나 순환시킬 필요가 없도록 GitLab 관리형 자격 증명 방식을 지원하여 보안성을 높였습니다. ### 효과적인 에이전트 운용을 위한 제언 에이전트를 도입할 때는 처음부터 모든 권한을 부여하기보다 읽기 전용 권한으로 시작하여 충분한 테스트를 거치는 것이 중요합니다. 특히 맞춤형 에이전트를 제작할 때는 시스템 프롬프트에 역할과 책임을 구체적으로 명시하고, 예상되는 출력 예시를 포함하여 답변의 일관성을 확보해야 합니다. 이를 통해 반복적인 수동 작업을 줄이고 창의적인 개발 업무에 더 집중할 수 있는 환경을 구축할 수 있습니다.

gitlab원문

GitLab Duo 에이 (새 탭에서 열림)

GitLab Duo Agent Platform은 소프트웨어 개발 수명 주기(SDLC) 전반에 걸쳐 AI 에이전트를 통합하는 혁신적인 AI 오케스트레이션 레이어입니다. 이 플랫폼은 단순한 코드 작성을 넘어 이슈, 병합 요청(MR), CI/CD 파이프라인 등 개발 전체 맥락을 이해하며, 여러 전문 에이전트가 비동기적으로 협업하는 동적인 시스템을 제공합니다. 개발자는 이를 통해 복잡하고 반복적인 워크플로우를 자동화하고 보다 창의적인 문제 해결에 집중할 수 있습니다. ### 플랫폼의 핵심 기능과 가치 * **전방위적 SDLC 컨텍스트 활용:** 코드뿐만 아니라 이슈, 에픽(Epics), 병합 요청, 위키, 보안 스캔 결과 등 프로젝트의 모든 데이터를 AI가 이해하고 활용합니다. * **멀티 에이전트 협업:** 여러 개의 특화된 에이전트가 병렬로 작동하여 복잡한 작업을 수행하는 다중 에이전트 흐름을 지원합니다. * **지능형 자동화:** 조직의 표준, 관행 및 규정 준수 요구 사항을 이해하고 이에 맞춘 자동화 워크플로우를 실행합니다. ### 네 가지 주요 상호작용 방식 * **GitLab Duo Agentic Chat:** 웹 UI나 IDE 내 채팅 패널을 통해 기본 제공 에이전트나 커스텀 에이전트와 실시간으로 대화하며 즉각적인 도움을 받습니다. * **기본 제공 및 커스텀 플로우(Flows):** 이슈나 MR의 댓글에서 흐름을 호출하거나 리뷰어를 할당하여 자동으로 트리거합니다. 이는 러너(Runner)를 통해 비동기적으로 실행됩니다. * **외부 에이전트 연동:** Claude Code나 OpenAI Codex와 같은 외부 AI 에이전트를 멘션(@)하여 호출할 수 있으며, 플랫폼 컴퓨팅 자원을 활용해 비동기로 작동합니다. * **AI 카탈로그 및 관리:** 조직 내에서 생성된 에이전트와 플로우를 공유하고 검색할 수 있는 중앙 라이브러리를 제공하며, 모든 활동 로그는 '세션(Sessions)' 탭에서 투명하게 관리됩니다. ### 에이전트(Agents)와 플로우(Flows)의 차이점 * **에이전트(Agents):** 특정 전문 지식을 갖춘 AI 비서로, 주로 채팅 인터페이스를 통해 대화형으로 상호작용하며 즉각적인 피드백을 제공합니다. * **플로우(Flows):** 여러 단계의 작업을 자율적으로 수행하는 다단계 워크플로우입니다. 복잡한 문제를 해결하기 위해 백그라운드에서 비동기적으로 실행되며, 파이프라인 전체에 대한 액세스 권한을 가집니다. * **선택 기준:** 즉각적인 문답이 필요할 때는 '채팅/에이전트'를, 백그라운드 자동화나 여러 파일에 걸친 복잡한 작업이 필요할 때는 '플로우'를 사용하는 것이 권장됩니다. ### 실행 투명성 및 모델 선택의 유연성 * **세션 로그를 통한 추론 확인:** 모든 에이전트와 플로우의 실행 내역은 세션에 기록됩니다. 여기에는 AI의 추론 과정, 도구 호출, 최종 결정 경로가 포함되어 있어 결과의 신뢰성을 검증할 수 있습니다. * **모델 선택권:** GitLab 18.4 버전부터 사용자는 작업의 특성에 맞춰 대화에 사용할 AI 모델을 직접 선택할 수 있는 기능을 제공합니다. GitLab Duo Agent Platform을 처음 접한다면 우선 **Agentic Chat**을 통해 프로젝트의 구조나 아키텍처를 파악하는 것부터 시작해 보시기 바랍니다. 이후 익숙해지면 반복적인 코드 리뷰나 CI/CD 파이프라인 수정과 같은 작업을 **비동기 플로우**로 전환하여 개발 생산성을 극대화할 수 있습니다.