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

figma3분 읽기큐레이션 요약

레이어 패널의 성능 개선 | Figma 블로그

Figma는 대규모 파일에서 레이어 패널의 느린 상호작용을 해결하기 위해 아키텍처를 전면 재설계했다. 행 목록 계산과 노드 상세 정보 계산을 분리하고, 파생 속성(derived properties)을 활용해 변경된 부분만 다시 계산한 결과, 가장 복잡한 파일에서 일부 상호작용이 30~50% 빨라졌다. 핵심은 보이지 않는 레이어까지 계산하지 않고, 필요한 데이터만 지연 계산·캐싱하는 것이다. ## 레이어 패널 성능 저하의 원인 - 레이어 패널은 Figma 파일의 노드 트리를 중첩된 목록으로 표현한다. - 초기 아키텍처는 파일의 각 노드에 대해 이름, 아이콘, 표시 여부, 잠금 상태 등 UI에 필요한 데이터를 하나의 큰 JavaScript 객체로 구성했다. - 레이어가 변경될 때마다 확장된 모든 노드에 대해 데이터를 처음부터 다시 계산했다. - 파일이 수만 개의 레이어를 포함하게 되면서 두 가지 문제가 발생했다. - **계산량 과다:** 화면에 실제로 보이는 행은 보통 20~30개뿐인데, 확장된 모든 노드의 데이터를 계산했다. - **재계산 빈도 과다:** 레이어 하나를 확장하거나 변경해도 전체 데이터를 다시 생성했다. ## 1단계: 두 번에 나누어 계산하기 - 데이터 수집 과정을 두 단계로 분리했다. - 첫 번째 단계에서는 패널에 표시될 **행 ID의 순서**만 계산한다. - 이 과정도 단순하지 않으며 다음과 같은 제품 규칙을 반영해야 한다. - 오토 레이아웃 프레임의 자식은 역순으로 표시될 수 있다. - 위젯이나 FigJam 스티키처럼 자식 노드를 패널에 표시하지 않는 노드가 있다. - 프로토타이핑 프레임의 고정 헤더와 스크롤 헤더는 자식을 두 영역으로 나눈다. - 최상위 프레임과 컴포넌트는 고정된 위치에 표시된다. - 두 번째 단계에서는 첫 단계에서 얻은 행 ID 중 현재 화면에 보이는 노드만 대상으로 상세 데이터를 계산한다. - 기존에도 화면 밖 항목을 렌더링하지 않는 윈도잉(windowing)을 사용했지만, 데이터 계산 자체는 모든 확장 노드에 대해 수행되고 있었다. - 새 구조에서는 이름, 아이콘, 잠금·표시 상태, 선택 상태 등을 실제로 필요한 수십 개 행에 대해서만 계산한다. - 그 결과 수십만 개 노드의 데이터를 계산하던 작업을 화면 주변의 작은 범위로 줄였다. ## 2단계: 파생 데이터 캐싱 - 변경되지 않은 레이어를 다시 그리거나 재계산하지 않고, 바뀐 부분만 갱신하도록 개선했다. - 이를 위해 Figma가 플랫폼 차원에서 개발한 **파생 속성(derived properties)** 기능을 사용했다. - Figma 노드는 직접 저장·조회할 수 있는 필드(fields)를 가진다. - 하지만 일부 속성은 직접 저장하지 않고 다른 필드와 속성으로부터 계산된다. - 예를 들어 노드는 부모 기준의 상대 위치만 저장하고, 절대 위치는 다음과 같이 계산할 수 있다. ```text Self.AbsolutePosition = Parent.AbsolutePosition + Self.RelativePosition ``` - 파생 속성 시스템은 이런 계산 관계를 명시적으로 선언하고, 의존하는 값이 바뀌면 최신 상태를 유지하도록 한다. - 시스템의 장점은 다음과 같다. - 각 파생 속성이 어떤 필드와 다른 파생 속성에 의존하는지 추적한다. - 의존 관계가 최적화된 그래프 형태로 컴파일된다. - 속도와 메모리 사용량 사이의 선택을 고려한 여러 캐싱 정책을 제공한다. - 기본적으로 지연 계산(lazy evaluation) 방식이어서 실제로 읽을 때만 계산한다. - 레이어 패널은 부모-자식 트리 구조를 갖기 때문에 파생 속성과 자연스럽게 결합된다. - 이전에는 트리 어디에서든 변경이 발생하면 노드 데이터를 전체적으로 다시 계산했지만, 새 구조에서는 의존 관계를 바탕으로 영향을 받은 데이터만 갱신할 수 있다. ## 성능 개선의 의미 - 대규모 Figma 파일에서 레이어 패널의 스크롤, 확장·축소, 선택 등의 상호작용이 더 빨라졌다. - 레이어 패널의 계산 비용이 줄어들면서 드래그나 텍스트 입력 같은 에디터의 다른 작업에도 영향을 주던 지연이 완화됐다. - 윈도잉만 적용하는 것보다, **계산 대상 자체를 가시 영역으로 제한하는 것**이 중요하다는 점을 보여준다. - UI 성능을 높이려면 다음 두 문제를 별도로 해결해야 한다. - 불필요한 항목까지 계산하는 문제 - 같은 항목을 반복해서 계산하는 문제 ## 실용적인 결론 대규모 트리형 UI에서는 렌더링만 가상화하는 것으로 충분하지 않다. 먼저 화면에 필요한 항목의 ID나 구조만 계산한 뒤, 실제 표시되는 항목의 상세 데이터만 지연 계산하고, 의존성이 변한 부분만 캐시를 무효화하는 방식이 효과적이다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

언어 서버로 GitHub Copilot CLI에 진정한 코드 인텔리전스를 더하세요

GitHub Copilot CLI는 LSP(Language Server Protocol)를 연동하면 단순한 텍스트 검색이나 바이트코드 추출을 넘어, 코드의 타입·정의·참조를 의미론적으로 이해할 수 있다. 글에서는 이를 자동화하는 **LSP Setup 스킬**의 동작 방식과 설정 형식, 지원 언어 및 설치 절차를 소개하며, 결과적으로 더 정확하고 빠른 코드 분석이 가능해진다고 설명한다. ## 텍스트 검색 기반 코드 이해의 한계 - LSP가 없으면 Copilot CLI는 의존성 정보를 찾기 위해 다음과 같은 우회 작업을 수행한다. - Java JAR 파일 검색 및 임시 디렉터리 추출 - `.class` 파일에 대한 `grep` - Python의 `site-packages`나 TypeScript의 `node_modules` 파일 직접 탐색 - 이런 방식은 단순한 패턴 검색에 의존하므로 다음 정보를 정확히 처리하기 어렵다. - 제네릭 타입 - 메서드 오버로드 - 전이 의존성의 타입 - 컴파일된 바이트코드 내부의 의미 구조 - 반면 LSP의 `textDocument/definition` 요청은 심볼의 정확한 소스 위치, 해석된 타입, 메서드 시그니처를 반환한다. ## LSP Setup 스킬의 7단계 동작 ### 1. 언어 선택 - `ask_user`를 사용해 사용자가 LSP를 설정할 프로그래밍 언어를 선택한다. - 선택한 언어가 이후 설치 명령과 설정 생성을 결정한다. ### 2. 운영체제 확인 - macOS와 Linux에서는 `uname -s`를 사용한다. - Windows에서는 `$env:OS` 또는 `%OS%`를 확인한다. - 운영체제에 따라 LSP 서버 설치 방법을 다르게 적용한다. - macOS Java: `brew install jdtls` - Linux Java: Eclipse 등에서 다운로드 ### 3. LSP 서버 조회 - `references/lsp-servers.md`에 14개 언어의 정보가 미리 정리되어 있다. - 각 언어별로 다음 내용을 제공한다. - 운영체제별 설치 명령 - 실행 파일 이름 - 바로 사용할 수 있는 설정 예시 ### 4. 설정 범위 선택 - 사용자 전역 설정: - `~/.copilot/lsp-config.json` - 모든 저장소에 적용 - 저장소별 설정: - 저장소 루트의 `lsp.json` - 또는 `.github/lsp.json` - 특정 프로젝트에만 적용 - 두 설정이 모두 존재하면 저장소별 설정이 우선한다. ### 5. LSP 서버 설치 - 언어에 맞는 설치 명령을 자동으로 실행한다. - 예시는 다음과 같다. ```bash npm install -g typescript typescript-language-server brew install jdtls rustup component add rust-analyzer ``` ### 6. 설정 파일 생성 및 병합 - 설정은 `lspServers` 객체 아래에 서버별 항목을 둔다. ```json { "lspServers": { "java": { "command": "jdtls", "args": [], "fileExtensions": { ".java": "java" } } } } ``` - 주요 규칙은 다음과 같다. - `command`는 `$PATH`에 있거나 절대 경로여야 한다. - 일반적으로 표준 입출력 통신을 위해 `--stdio`를 `args`에 지정한다. - `fileExtensions`는 점으로 시작하는 확장자와 VS Code 언어 식별자를 연결한다. - 기존 설정은 삭제하지 않고 새로운 항목을 병합한다. - `jdtls`처럼 표준 입출력을 내부적으로 처리하는 서버는 별도 인자가 필요하지 않을 수 있다. ### 7. 설치 및 설정 검증 - `which <binary>` 또는 Windows의 `where.exe`로 실행 파일이 접근 가능한지 확인한다. - 설정 파일이 올바른 JSON인지 검증한다. ## 지원 언어와 확장 방식 - 스킬은 현재 14개 언어에 대한 사전 정의 서버 정보를 제공한다. - 미리 매핑되지 않은 언어를 만나면 적절한 LSP 서버를 검색하고 수동 설정 과정을 안내한다. - 따라서 지원 목록에 없는 언어도 서버만 확보하면 직접 추가할 수 있다. ## 설정 후 가능한 코드 인텔리전스 LSP 연동 후 Copilot CLI는 다음 작업을 수행할 수 있다. - 의존성 전체에서 타입을 정확히 해석 - 저장소에 소스 코드가 없는 외부 라이브러리의 정의로 이동 - 프로젝트 전반에서 심볼의 모든 참조 검색 - 함수·클래스·타입의 hover 문서 확인 - 메서드 시그니처와 타입 관계를 기반으로 코드 수정 및 분석 그 결과 불필요한 JAR 압축 해제나 `node_modules` 검색이 줄고, 잘못 해석한 API에 기반한 코드 생성도 감소한다. ## 설치 및 사용 절차 1. Awesome Copilot의 LSP Setup 스킬 페이지에서 ZIP 파일을 다운로드한다. 2. 다음 명령으로 `~/.copilot/skills/`에 압축을 푼다. ```bash unzip lsp-setup.zip -d ~/.copilot/skills/ ``` 3. 실행 중인 Copilot CLI를 `/exit`로 종료한 뒤 다시 실행한다. 4. “set up LSP for Java” 또는 “enable code intelligence for Python”처럼 요청한다. 5. 설정이 끝나면 Copilot CLI를 다시 시작한다. 6. `/lsp`로 서버 상태를 확인하고, 의존성 심볼의 정의 이동을 테스트한다. 프로젝트 규모가 크거나 외부 라이브러리 사용이 많은 경우에는 LSP Setup 스킬을 적용하는 것이 좋다. 특히 Java, TypeScript, Python처럼 타입과 의존성 관계가 복잡한 언어에서는 텍스트 검색보다 정확한 코드 분석과 안정적인 결과를 기대할 수 있다.

원문 읽기(새 탭에서 열림)
aws4분 읽기큐레이션 요약

이제 사용 가능: 새로운 AWS Graviton5 프로세서로 구동되는 Amazon EC2 M9g 및 M9gd 인스턴스 | Amazon Web Services

AWS가 자체 설계한 Graviton5 프로세서 기반 EC2 M9g와 M9gd 인스턴스를 정식 출시했다. Graviton4 대비 최대 25% 높은 컴퓨팅 성능, 더 큰 캐시와 높은 메모리·네트워크·스토리지 대역폭을 제공하며, M9gd는 최대 11.4TB의 로컬 NVMe SSD를 추가한다. 특히 에이전트형 AI, 데이터베이스, 웹 애플리케이션처럼 CPU와 I/O를 동시에 많이 사용하는 워크로드의 성능과 에너지 효율 향상을 목표로 한다. ## Graviton5의 성능 및 설계 개선 - Graviton5는 AWS의 다섯 번째 자체 설계 Arm 프로세서다. - 최대 192개의 코어를 제공하며, 이전 세대보다 L3 캐시가 5배 커졌다. - 코어 간 지연 시간은 최대 33% 감소해 병렬 처리와 다수의 동시 작업에 유리하다. - DDR5-8800 메모리와 PCIe Gen6를 지원해 AWS 인스턴스 중 가장 빠른 메모리 성능을 제공한다. - Graviton4 대비 성능 향상 폭은 다음과 같다. - 전체 컴퓨팅 성능: 최대 25% - 웹 애플리케이션: 최대 35% - 머신러닝 추론: 최대 35% - 데이터베이스: 최대 30% - 성능 향상과 함께 에너지 효율도 개선해 비용 및 지속 가능성 목표 달성에 도움을 준다. ## 에이전트형 AI와 CPU 수요 대응 - AI가 단순 질의응답을 넘어 코드 실행, 도구 호출, 결과 평가, 다단계 작업 조율을 수행하면서 CPU 처리량의 중요성이 커지고 있다. - Graviton5는 다음 특성으로 에이전트형 AI에 적합하다. - 높은 코어 수로 다수의 실행 환경을 동시에 처리 - 대형 L3 캐시로 CPU 대기 시간 감소 - 높은 메모리 대역폭으로 데이터 처리량 향상 - 가속기가 CPU 작업을 기다리는 시간을 단축 - Meta는 실시간 추론, 코드 생성, 다단계 작업 조율을 위해 수천만 개 규모의 Graviton 코어를 배포할 계획이라고 밝혔다. - Honeycomb은 6개월간의 실제 운영 A/B 테스트에서 Graviton4 대비 코어당 처리량이 36% 향상됐다고 보고했다. ## M9g와 M9gd의 차이 ### M9g: 범용 컴퓨팅 중심 - vCPU 1개당 4GiB 메모리를 제공한다. - 다음과 같은 범용 워크로드에 적합하다. - 애플리케이션 서버와 마이크로서비스 - 중간 규모 데이터 저장소 - 게임 서버와 캐시 클러스터 - 컨테이너 애플리케이션 - 대규모 Java 애플리케이션 - 코드 저장소와 웹 애플리케이션 - 에이전트형 AI ### M9gd: 로컬 NVMe 스토리지 추가 - 최대 11.4TB의 로컬 NVMe SSD를 제공한다. - Graviton4 기반 M8gd보다 IOPS 및 스토리지 성능이 30% 향상됐다. - 낮은 지연 시간의 임시 또는 로컬 스토리지가 필요한 작업에 적합하다. - 캐시와 스크래치 파일 - 데이터 로깅 - 미디어 처리 - 배치 및 로그 처리 - 키-값 데이터 저장소 - 게임 서버와 마이크로서비스 - 컴퓨팅, 메모리, 네트워크, EBS 대역폭 사양은 동일한 크기의 M9g와 같다. ## 네트워크와 스토리지 대역폭 개선 - M9g와 M9gd는 이전 세대 대비 평균적으로 다음 대역폭을 제공한다. - 네트워크 대역폭: 최대 15% 증가 - EBS 대역폭: 최대 20% 증가 - 가장 큰 인스턴스 크기: 네트워크 대역폭 최대 2배 - Instance Bandwidth Configuration(IBC)을 지원한다. - EBS와 VPC 네트워크 사이의 대역폭 할당을 최대 25% 조정할 수 있다. - 데이터베이스 읽기·쓰기, 쿼리 처리, 로깅처럼 특정 I/O 비중이 큰 워크로드에 유용하다. - 컴퓨팅 성능 증가에 맞춰 데이터 이동과 저장장치 처리량도 함께 확장한 것이 특징이다. ## Nitro Isolation Engine을 통한 보안 강화 - M9g와 M9gd는 6세대 AWS Nitro System을 기반으로 한다. - 새롭게 도입된 Nitro Isolation Engine은 가상 머신 간 격리를 담당한다. - 메모리, CPU 레지스터 상태, I/O 장치 접근을 최소한의 API를 통해 제어한다. - 정형 검증(formal verification)을 사용해 특정 테스트 사례가 아니라 수학적으로 격리 동작을 검증한다. - AWS는 이를 통해 Nitro를 공식적으로 검증된 클라우드 하이퍼바이저로 발전시키고, 가상 머신 간 보안 격리에 대한 신뢰성을 높였다고 설명한다. ## 실제 고객 성과 - ClickHouse: 코드 변경 없이 M8g 대비 성능 36% 향상 - Honeycomb: Graviton4 대비 코어당 처리량 36% 향상 - HubSpot: MySQL 쿼리 수행 시간이 최대 60% 감소 - 이러한 사례는 데이터베이스, 분석, 관측성 등 다양한 운영 환경에서의 효과를 보여준다. ## 출시 지역과 구매 방식 - 현재 제공 지역: - 미국 동부 버지니아 - 미국 동부 오하이오 - 미국 서부 오리건 - 유럽 프랑크푸르트 - 구매 방식: - Savings Plans - On-Demand - Spot Instances - Dedicated Instances - Dedicated Hosts 기존 Arm 호환 애플리케이션이라면 M9g부터 성능을 검증하고, 로컬 SSD가 필요하면 M9gd를 선택하는 것이 적절하다. x86 기반 Java 애플리케이션은 AWS Transform을 활용해 호환성 분석, 재컴파일, 의존성 수정, 검증 과정을 자동화할 수 있으며, 도입 전에는 Graviton Savings Dashboard로 비용 절감 효과를 비교하는 것이 좋다.

원문 읽기(새 탭에서 열림)
cloudflare4분 읽기큐레이션 요약

Cloudflare로 퍼블릭 트래픽을 프라이빗 애플리케이션으로 라우팅하기

Cloudflare는 이제 퍼블릭 IP를 노출하지 않고도 인터넷 트래픽을 사설 애플리케이션으로 전달하는 **Application Services for Private Origins**를 제공한다. 이를 통해 사설 네트워크의 내부 API, AI 에이전트 백엔드, MCP 서버, 운영 도구에도 WAF, 봇 관리, 레이트 리미팅, 캐싱, Workers 같은 Cloudflare 기능을 적용할 수 있다. 핵심은 기존 Cloudflare Tunnel, WAN, Mesh 등의 사설 연결 경로를 애플리케이션 프록시 계층과 통합해, 마지막 구간만 사설 네트워크로 전송하는 것이다. ### 퍼블릭 애플리케이션과 프라이빗 애플리케이션의 경계 - 기존에는 퍼블릭 애플리케이션이 CDN·WAF 뒤에, 프라이빗 애플리케이션이 VPN·방화벽·별도 네트워크 스택 뒤에 위치했다. - 내부 API, AI 백엔드, MCP 서버처럼 인터넷에 직접 공개할 필요는 없지만 보안·성능 제어가 필요한 서비스가 늘고 있다. - 기존 방식은 퍼블릭 IP, 방화벽 예외, 커넥터 소프트웨어, 복잡한 네트워크 구성을 요구했다. - 그 결과 프라이빗 애플리케이션은 WAF, 봇 관리, 속도 제한, 캐시, 트래픽 가속, URL 변환, Workers 등의 기능을 활용하기 어려웠다. ### Application Services for Private Origins - 적격 Enterprise 고객을 대상으로 클로즈드 베타로 제공된다. - 사설 오리진을 인터넷에 노출하지 않고도 Cloudflare를 통해 퍼블릭 트래픽을 전달한다. - 다음 기능을 프라이빗 오리진 앞에서 사용할 수 있다. - WAF - 봇 관리 - 레이트 리미팅 - 캐싱 - URL·요청 변환 - Workers - 오리진에 퍼블릭 IP, 인바운드 방화벽 규칙, `cloudflared` 실행을 반드시 요구하지 않는다. ### 하나로 통합되는 사설 네트워크 연결 - 기존 Cloudflare Tunnel, Cloudflare One Client, Cloudflare WAN, Cloudflare Mesh 등의 연결 모델을 활용한다. - Cloudflare의 사설 네트워크 라우팅 계층이 다음 경로를 통합적으로 관리한다. - Cloudflare Tunnel - IPsec·GRE 터널 - CNI 연결 - Cloudflare Mesh - 기타 사설 연결 방식 - 고객은 제품별로 별도 네트워크 스택을 운영하는 대신 API나 대시보드에서 라우팅을 정의할 수 있다. - Workers VPC 바인딩과 Spectrum의 프라이빗 오리진 라우팅도 같은 사설 연결 계층을 사용하게 된다. ### 네 가지 트래픽 조합 Cloudflare는 사용자 위치와 애플리케이션 위치에 따라 트래픽을 네 가지 조합으로 구분한다. - 인터넷 사용자 → 인터넷 애플리케이션: 기존 Cloudflare 프록시 모델 - 프라이빗 네트워크 사용자 → 인터넷 서비스: Cloudflare One 모델 - 인터넷 사용자 → 프라이빗 애플리케이션: 이번에 제공하는 기능 - 프라이빗 네트워크 사용자 → 프라이빗 애플리케이션: 향후 구축 대상 ### DNS 레코드로 활성화하는 프라이빗 라우팅 - 프록시된 A 또는 AAAA 레코드에서 `Use private network routing` 옵션을 활성화한다. - Cloudflare의 WAF, 캐싱, 봇 관리, 레이트 리미팅, Transform Rules는 기존처럼 Cloudflare 네트워크에서 실행된다. - 차이는 오리진으로 향하는 최종 연결만 퍼블릭 인터넷이 아닌 사설 네트워크를 이용한다는 점이다. - 다음 주소 범위는 사설 주소이므로 옵션이 자동 활성화된다. - RFC 1918: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16` - RFC 6598 CGNAT: `100.64.0.0/10` - RFC 4193 IPv6 ULA: `FC00::/7` - 퍼블릭 IP라도 사설 터널을 통해서만 접근할 수 있다면 옵션을 수동으로 활성화할 수 있다. ### API 설정 방식 프라이빗 라우팅은 일반 DNS 레코드에 `use_private_routing` 속성을 추가하는 방식이다. ```json { "type": "A", "name": "app.example.com", "content": "10.0.0.50", "ttl": 300, "proxied": true, "use_private_routing": true } ``` - Cloudflare 프록시는 Origin API에서 오리진 주소와 라우팅 메타데이터를 조회한다. - `use_private_routing: true`가 있으면 프라이빗 IP로 인터넷 연결을 시도하지 않는다. - 대신 IPsec, GRE, Tunnel, CNI, Mesh 등 고객의 기존 연결을 통해 사설 네트워크 라우팅 계층으로 요청을 전달한다. ### HTTP 이외의 서비스 지원 - 이 모델은 웹 애플리케이션뿐 아니라 다양한 프로토콜과 서비스에도 적용된다. - Spectrum을 이용하면 TCP·UDP 기반 서비스도 프라이빗 오리진 뒤에 둘 수 있다. - 데이터베이스 - UDP 로그 수집 엔드포인트 - 기타 비HTTP 서비스 - Workers가 프라이빗 API나 데이터베이스를 직접 호출하는 구성에도 사용할 수 있다. - 공통적으로 Cloudflare가 사용자 트래픽과 사설 네트워크 사이에 위치해 보안, 성능, 라우팅을 통합 제공한다. ### 실용적인 결론 퍼블릭 트래픽을 받아야 하지만 오리진을 인터넷에 공개하고 싶지 않은 조직이라면, 기존 Cloudflare WAN·Tunnel·Mesh 연결을 유지한 채 DNS 레코드의 `use_private_routing`을 활성화하는 방식이 가장 단순하다. 이를 통해 별도의 퍼블릭 로드 밸런서, 역방향 프록시, 다중 TLS 종료 계층을 줄이고 사설 애플리케이션에도 Cloudflare의 보안·성능 기능을 일관되게 적용할 수 있다.

원문 읽기(새 탭에서 열림)
naver1분 읽기큐레이션 요약

Android 앱의 의도치 않은 변경 방지하기

제공된 내용은 NAVER D2의 메뉴와 저작권 정보만 포함하고 있어, 기술적 주장이나 본문 내용은 확인되지 않습니다. 따라서 요약할 수 있는 핵심 결론은 NAVER D2가 개발자 콘텐츠와 오픈소스·스타트업 관련 서비스를 제공하는 플랫폼이라는 점입니다. ### NAVER D2의 주요 메뉴 - **D2 News**: NAVER 개발자 및 기술 관련 소식 - **About D2**: D2 서비스 소개 - **NAVER Developers**: NAVER 개발자 리소스 - **DEVIEW**: 개발자 컨퍼런스 관련 콘텐츠 - **OpenSource**: 오픈소스 프로젝트 및 자료 - **D2 STARTUP FACTORY**: 스타트업 지원 프로그램 ### 본문 내용의 한계 - 실제 기술 블로그 글이나 주제별 설명은 제공되지 않았습니다. - “Hello world” 외에는 기술적 세부사항, 사례, 결론이 없습니다. - 저작권은 NAVER Corp.에 있음을 명시하고 있습니다. 원문 본문이 추가로 제공되면 섹션별 기술 내용을 구체적으로 요약할 수 있습니다.

원문 읽기(새 탭에서 열림)
line4분 읽기큐레이션 요약

레거시 프로젝트에서 AI 드리븐 프로젝트로 전환, AX 로드맵

AX는 AI 도구를 개별적으로 사용하는 데서 그치지 않고, 개발 사이클 전체를 AI 중심으로 재설계하는 전환 과정이다. 성공적인 전환을 위해서는 보안·컴플라이언스 기반을 먼저 마련하고, 팀 차원의 활용 표준화와 명세 기반 개발 자동화를 단계적으로 추진해야 한다. 특히 SDD와 사람의 승인 게이트를 결합하면 AI의 생산성을 활용하면서도 품질과 통제력을 유지할 수 있다. ## AI 드리븐 프로젝트와 SDD - AI 드리븐 프로젝트는 AI를 스펙 작성, 코드 생성, 테스트, 리뷰, 머지 등 개발 전 과정에 통합하는 방식이다. - 사람은 세부 구현보다 요구사항과 방향 설정, 품질 판단에 집중한다. - 핵심 방법론은 명세 주도 개발(SDD)이다. - 요구사항, 구현 범위, 예외 상황, 검증 기준을 먼저 정의한다. - AI는 명세를 바탕으로 계획을 세우고 코드를 생성·검증한다. - AI는 패턴 완성에는 강하지만 추상적인 의도 파악에는 한계가 있으므로, 명확한 스펙이 결과 품질을 좌우한다. ## 1단계: AI-Ready — 보안과 컴플라이언스 기반 AI 도입 전 민감 정보와 핵심 자산이 외부 모델에 노출되지 않도록 안전한 사용 환경을 구축한다. - API 키, DB 비밀번호, 내부 IP 등의 하드코딩을 제거한다. - Secrets Manager 같은 전용 서비스를 사용하고 런타임에 시크릿을 주입한다. - 이름, 이메일, 전화번호 등 PII는 AI에 전달하기 전에 마스킹하거나 토큰화한다. - 핵심 알고리즘과 경쟁력 있는 아키텍처는 별도 저장소에서 관리하거나 AI 접근 권한을 제한한다. - 초기에는 모든 시스템을 한 번에 이관하기보다 다음을 우선 적용한다. - 핵심 컴플라이언스 요건 선별 - 파일 시스템·네트워크 격리를 통한 샌드박싱 - 격리 상태에서 실제 정보가 노출되지 않는지 검증 - 기대 효과: - 코드와 프로젝트 맥락을 AI에 안전하게 제공 - 디버깅, 문서화, 반복 코드 작성 속도 향상 - 팀원들이 AI를 안전하게 활용하는 경험 축적 ## 2단계: AI-Assist — 팀 단위 활용 표준화 개인별로 제각각인 AI 사용 방식을 프로젝트 공통 워크플로로 통합한다. 이 단계에서 AI는 코드를 직접 작성하기보다 사람이 작성한 코드를 검토하고 보조한다. - 프로젝트 루트에 AI용 가이드라인을 작성한다. - 프로젝트 개요 - 코딩 컨벤션 - 아키텍처 원칙 - 도메인 용어집 - 코드 리뷰, 브레인스토밍, 작업 계획 수립 등에 사용할 표준 프롬프트와 스킬을 구축한다. - `superpowers`와 같은 플러그인을 활용해 다음 작업을 표준화할 수 있다. - `brainstorming` - `writing-plans` - `subagent-driven-development` - CI/CD와 AI를 연동해 PR 생성 시 자동 코드 리뷰를 수행한다. - 스타일 위반 탐지 - 잠재적 버그 확인 - 보안 취약점 점검 - 사람 리뷰어는 반복적인 지적보다 복잡한 비즈니스 로직과 정책 판단에 집중한다. - 측정 가능한 KPI: - 사람이 직접 남기는 반복 리뷰 코멘트 수 - 테스트 커버리지 변화 - 배포 안정성 및 테스트 통과율 - 기대 효과: - 팀 전체의 AI 활용 수준 상향 평준화 - 리뷰어의 인지 부하 감소 - 코드 품질과 컨벤션의 일관성 확보 ## 3단계: AI-Development — 명세 기반 개발 자동화 사람이 작성한 스펙이 AI를 통해 구현 계획, 테스트 계획, 코드, PR로 이어지는 자동화 파이프라인을 구축한다. - 전체 흐름은 다음과 같다. 1. 사람이 요구사항과 범위, 엣지 케이스, 검증 기준을 스펙으로 정의 2. AI가 구현 계획과 테스트 계획 작성 3. AI 서브 에이전트가 계획에 따라 작업을 순차적으로 수행 4. 코드 리뷰 후 PR 생성 및 머지 - 세 개의 Human Gate를 둔다. - **Human Gate 1:** 스펙 검토 및 승인 - **Human Gate 2:** 구현 계획과 테스트 계획 검토 및 승인 - **Human Gate 3:** 최종 코드 검토 및 승인 - AI가 프로젝트에 맞는 코드를 만들 수 있도록 도메인 지식을 구조화한다. - 아키텍처 원칙 - 비즈니스 로직의 예외와 특이사항 - 시스템 구성도 - 기존 스펙 및 기술 문서 - 지식은 전용 디렉터리, AI 커스텀 스킬, RAG 시스템 등을 통해 AI가 필요할 때 조회하도록 구성한다. - `/specs` 같은 디렉터리에 새 스펙 파일이 추가되면 CI가 이를 감지해 다음 단계를 실행하도록 이벤트 트리거를 설정한다. - CI 내부에 Approval Step을 배치해 사람의 승인 없이는 AI가 다음 단계로 진행하지 못하게 한다. - 초기에는 핵심 비즈니스 로직보다 테스트 코드나 보일러플레이트처럼 위험도가 낮은 영역부터 자동화를 적용하고, 신뢰가 쌓이면 AI의 담당 범위를 확대한다. ## 단계적 도입이 필요한 이유 - AI 활용 효과는 팀의 문서화 수준, 테스트 품질, 도메인 복잡도에 크게 좌우된다. - 처음부터 모든 구현을 AI에 맡기면 프로젝트 맥락을 이해하지 못한 코드가 생성될 수 있다. - 낮은 위험도의 테스트와 반복 코드부터 시작하면 품질을 검증하면서 팀의 신뢰를 확보할 수 있다. - 각 단계는 독립적으로도 효과가 있으므로 모든 단계를 한 번에 완료할 필요는 없다. 보안 기반을 먼저 확보한 뒤 프로젝트 규칙과 지식을 문서화하고, 자동 리뷰와 테스트 생성부터 시작하는 접근이 현실적이다. 이후 명확한 스펙과 사람의 승인 게이트를 중심으로 코드 생성 범위를 점진적으로 넓히는 것이 안전한 AX 전략이다.

원문 읽기(새 탭에서 열림)
gitlab5분 읽기큐레이션 요약

GitLab Orbit 소개

GitLab Orbit은 코드뿐 아니라 머지 리퀘스트, 파이프라인, 배포, 취약점, 소유권까지 연결한 실시간 그래프를 제공해 AI 에이전트가 시스템 전체 맥락을 한 번에 이해하도록 하는 서비스다. 이를 통해 에이전트는 파일을 반복 탐색하는 대신 관계형 질의를 수행하며, 최대 11배 빠르고 토큰 사용량은 4.5배 적어질 수 있다. GitLab은 Orbit이 코드 리뷰와 장애 대응, 보안, 마이그레이션처럼 여러 시스템을 함께 봐야 하는 작업의 정확성과 처리 속도를 높인다고 설명한다. ## 기존 AI 코딩 에이전트의 한계 - AI 에이전트는 코드 작성에는 강하지만 다음 정보를 찾는 데는 취약하다. - 관련 코드와 의존성 - 해당 코드를 실행하는 테스트와 파이프라인 - 실제 배포 환경 - 변경을 요청한 작업 항목 - 관련 팀과 담당자 - 대규모 모노레포에서는 에이전트가 파일을 탐색하는 데 토큰과 시간을 많이 사용한다. - 저장소가 여러 개로 나뉘면 컨텍스트가 부족해져 의존성을 놓치거나, 코드가 겉보기에는 맞지만 실제로는 되돌려지는 결과를 만들 수 있다. - 단순한 검색이나 RAG 방식만으로는 코드와 개발 lifecycle 데이터 사이의 관계를 충분히 복원하기 어렵다. ## 실제 머지 리퀘스트에서의 검증 - 영국 가격 비교 플랫폼 Compare the Market은 79개의 실제 머지 리퀘스트를 대상으로 AI 코드 리뷰의 컨텍스트 검색 방식을 비교했다. - Orbit을 사용한 리뷰어의 정확한 인라인 댓글 비율은 약 70%였다. - RAG 방식은 약 58%에 그쳤다. - 변경 사항 요약에서 핵심 변경을 포착한 비율도 Orbit이 68%, RAG가 66%였다. - RAG는 컨텍스트를 사용하지 않은 방식보다도 낮은 성능을 보였다. - 테스트 결과 Orbit은 단순히 현재 diff를 읽는 것이 아니라 코드베이스의 구조와 변경의 주변 영향을 이해하는 데 효과적이었다. ## 코딩 에이전트의 탐색 비용 감소 - Claude Code 같은 외부 에이전트를 MCP(Model Context Protocol)로 Orbit에 연결할 수 있다. - 에이전트는 다음 질문을 파일을 반복해서 읽으며 추론하지 않고 그래프에 직접 질의한다. - 특정 코드가 어디에 있는가? - 어떤 코드가 이를 의존하는가? - 어떤 테스트와 파이프라인이 이를 검증하는가? - 같은 모델과 같은 작업을 비교했을 때 다음과 같은 개선이 제시됐다. - 최대 11배 빠른 작업 수행 - 최대 4.5배 적은 토큰 사용 - 최대 45배 적은 환각 생성 - 결과적으로 에이전트가 실제 구현 작업을 시작하기 전에 소모하는 탐색 시간이 줄어든다. ## 파이프라인 장애의 전체 영향 추적 - 기존 에이전트는 실패한 파이프라인의 개별 job만 보고 원인을 고립된 문제로 판단하기 쉽다. - Orbit은 실패한 job에서 관련 파이프라인, 머지 리퀘스트, 프로젝트까지 연결해 추적한다. - 예시 질의는 실패한 CI job과 연결된 최근 머지 리퀘스트를 프로젝트별로 조회한다. ```cypher MATCH (job:CiJob {status: "failed", name: $job_name}) -[:RAN_IN]->(pipeline)-[:FOR]->(mr:MergeRequest) RETURN mr.title, mr.author, pipeline.started_at, mr.project_id ORDER BY pipeline.started_at DESC LIMIT 20 ``` - 이 방식으로 여러 프로젝트에서 동일한 장애를 만날 진행 중인 MR을 한 번에 찾을 수 있다. - 여러 팀이 같은 원인을 따로 해결하는 대신, 한 번의 대응으로 문제를 확산시키는 변경까지 파악할 수 있다. ## 취약점의 영향 범위와 담당자 파악 - 취약한 코드 자체를 찾는 것보다, 해당 코드가 시스템 어디까지 퍼졌는지를 확인하는 일이 더 어렵다. - Orbit은 다음 정보를 연결해 보여준다. - 취약한 컴포넌트를 포함한 서비스 - 해당 서비스를 빌드하는 파이프라인 - 실행되는 환경 - 각 구성 요소의 소유 팀 - 보안팀은 CVE가 공개된 직후 영향을 받는 구성 요소와 담당자를 포함한 remediation 계획을 만들 수 있다. - 수작업으로 여러 도구를 조사하는 데 걸리던 시간을 줄여 대응 속도를 높이는 것이 목표다. ## 조직 전반의 질의와 마이그레이션 계획 - Orbit은 고정된 대시보드에 없는 복합적인 질문에도 활용된다. - 예를 들어 팀별 cycle time을 파이프라인 실패율, 배포 빈도와 결합해 조회할 수 있다. - 공용 컴포넌트 마이그레이션에서는 다음 의존성을 한 번에 확인할 수 있다. - 종속 서비스 - 관련 job - 배포 환경 - 담당 소유자 - 숨은 downstream 의존성을 놓쳐 일정이 지연되는 위험을 줄이고, 마이그레이션 범위와 책임자를 구체화할 수 있다. ## Orbit의 기술 구조 - 소프트웨어 개발 lifecycle 데이터를 CDC(Change Data Capture) 방식으로 수집해 ClickHouse에 저장한다. - Rails 내부 API를 통해 12개 언어의 코드를 분석한다. - Ruby, Java, Kotlin, Python, TypeScript, JavaScript - Rust, Go, C#, C, C++, PHP - Cypher와 유사한 DSL, MCP, REST, GitLab CLI를 통해 그래프를 조회한다. - GitLab 자체 환경에서는 4만 개 이상의 프로젝트, 5억 개 노드, 20억 개 엣지를 45분 이내에 인덱싱한다고 설명한다. - 이벤트 기반 엔진이 변경 사항을 즉시 반영해 그래프를 최신 상태로 유지한다. - 인덱싱은 별도 서비스에서 수행되므로 쿼리 트래픽이 GitLab 인스턴스에 직접 부담을 주지 않는다. - GitLab 권한을 그대로 반영하므로 에이전트는 사용자가 UI에서 볼 수 있는 데이터만 조회한다. - 쿼리는 데이터베이스에 실행되기 전에 검증, 실행 계획 수립, 최적화, 보안 검사를 거친다. ## 다양한 사용 방식과 Data Explorer - GitLab Duo Agent Platform의 에이전트는 Orbit을 기본적으로 질의할 수 있다. - Claude Code, Codex, OpenCode 같은 외부 에이전트는 MCP와 GitLab CLI를 통해 연결한다. - 사내 도구나 맞춤형 에이전트는 REST API를 사용할 수 있다. - Data Explorer에서는 에이전트 없이 엔지니어가 같은 그래프를 직접 조회한다. - 장애 조사, 의존성 전파 추적, 반복적인 CI 실패 원인 분석처럼 정해진 프롬프트에 맞지 않는 작업에도 활용할 수 있다. Orbit은 코드 검색 도구라기보다 코드와 개발 lifecycle 전체를 연결하는 지식 그래프에 가깝다. 여러 저장소와 시스템에 걸친 의존성, 장애 영향, 보안 노출, 소유권을 자주 추적해야 하는 대규모 조직이라면 특히 효과가 크며, 도입 시에는 실제 MR 리뷰나 장애 대응 업무를 대상으로 기존 검색·RAG 방식과 정확도 및 비용을 비교해 검증하는 것이 좋다.

원문 읽기(새 탭에서 열림)
gitlab3분 읽기큐레이션 요약

GitLab Flex: 한 번 약정하고 좌석과 AI 지출을 재편하세요

GitLab Flex는 좌석 수, AI 사용량, 도입 기능을 미리 고정하는 기존 연간 계약의 한계를 해결하기 위한 유연한 약정 모델이다. 하나의 연간 금액 약정에서 매월 좌석과 GitLab Credits의 비중을 조정할 수 있어, 조직 변화와 AI 사용량 증가에 맞춰 지출을 재배분할 수 있다. GitLab은 이를 통해 추가 조달 절차 없이 새로운 기능을 도입하고, 예측하기 어려운 에이전틱 개발 환경에 대응할 수 있다고 설명한다. ## 에이전틱 개발 시대의 고정 계약 문제 - 조직 변화에 따라 필요한 GitLab 좌석 수가 늘거나 줄 수 있다. - 신규 개발 인력이 플랫폼에 합류할 수 있음 - 프로젝트 종료, 조직 개편, 외주 인력 변화로 좌석 수가 감소할 수 있음 - AI 에이전트 사용량은 사용 사례, 팀의 활용도, 기술 발전에 따라 예측하기 어렵다. - 계약 체결 시점에는 어떤 새로운 에이전트 기능이나 인프라 기능이 필요할지 알기 어렵다. - 기존 연간 계약은 좌석, AI 사용량, 기능을 모두 미리 정하도록 요구한다. - 과다하게 예상하면 사용하지 않는 좌석과 용량에 비용을 지불함 - 부족하게 예상하면 신규 도입 때마다 조달·계약 변경 절차가 필요함 ## 하나의 연간 약정을 월별로 재배분 - GitLab Flex는 공개 요율표를 기준으로 한 하나의 연간 금액 약정이다. - 약정 금액은 다음 항목에 사용할 수 있다. - GitLab Premium·Ultimate 플랫폼 좌석 - GitLab Credits 기반 기능 - 자격 요건을 충족하는 사용량 기반 기능 - GitLab.com 멀티테넌트 SaaS, Self-Managed, 에어갭 환경, GitLab Dedicated를 하나의 계약으로 묶을 수 있다. - 매월 좌석 예약량과 사용량 기반 Credits 배분을 조정할 수 있다. - 프로젝트가 끝나 유휴 좌석이 생기면 다음 달 예약을 줄이고, 다른 팀의 좌석이나 AI 사용량으로 예산을 이동할 수 있다. - 약정 이후 출시된 대상 기능도 기존 요율표와 약정 안에서 추가 조달 없이 활성화할 수 있다. ## 좌석과 AI 사용량을 같은 예산으로 관리 - 일반적인 모델은 좌석 라이선스와 사용량 크레딧을 별도 예산으로 관리해 서로 전환하기 어렵다. - Flex에서는 좌석과 사용량이 동일한 연간 약정에서 차감되므로 두 항목 간 예산 이동이 가능하다. - GitLab Credits는 다음과 같은 기능에 사용할 수 있다. - GitLab Duo Agent Platform - 호스팅 러너 - 아티팩트 관리 - 사용량이 전체 약정을 초과하면 초과분은 온디맨드 요금으로 청구된다. - GitLab Credits는 크레딧당 1달러 - 좌석은 협의된 사용자당 요금 적용 ## 하나의 계약에 다양한 구성 결합 - Premium과 Ultimate 좌석을 공개 요율과 약정 규모에 따른 볼륨 할인으로 구매할 수 있다. - 추가 승인을 거치면 기본 Flex 할인보다 더 높은 좌석 할인을 적용할 수도 있다. - GitLab.com, Self-Managed, Dedicated, 에어갭 배포 방식을 한 계약에 포함할 수 있다. - 계약 기간 중 배포 환경이나 좌석·사용량 구성을 바꾸더라도 별도 계약 구조를 다시 만들 필요가 없다. ## 가격 절감과 지출 통제 - 연간 약정 규모가 클수록 요율표 전반에서 더 낮은 단가가 적용된다. - 예약 용량은 계획되지 않은 초과 사용보다 저렴하다. - 구독 단위와 사용자 단위 한도로 예산 초과를 제한할 수 있다. - 프로젝트·그룹 수준의 관리자 제어 기능도 제공된다. - 예약되지 않은 좌석에도 예약 좌석과 동일한 사전 협의 단가가 적용된다. - 클라우드 연결 고객은 자동 청구되며, 에어갭 고객은 연 2회 청구된다. ## 기존 Premium·Ultimate 계약과의 관계 - GitLab Premium과 Ultimate는 기존처럼 직접 좌석 가격으로 계속 이용할 수 있다. - 기존 고객은 갱신 시점까지 현재 계약을 유지할 수 있다. - Flex로 전환해도 Premium과 Ultimate의 계층별 기능 자체가 바뀌지는 않는다. - 갱신을 앞둔 고객은 현재 사용량과 AI 이용량을 기준으로 기존 계약과 Flex를 비교한 모델을 account team에 요청할 수 있다. ## 실용적인 결론 좌석 수와 AI 사용량이 빠르게 변하거나 여러 배포 방식을 함께 운영하는 조직이라면 GitLab Flex가 예산 재배분과 신규 기능 도입을 단순화할 수 있다. 반대로 사용량과 좌석이 안정적이고 계약 구조가 단순한 조직은 기존 직접 좌석 계약과 Flex의 할인·초과 과금 조건을 비교한 뒤 전환 여부를 판단하는 것이 적절하다.

원문 읽기(새 탭에서 열림)
gitlab4분 읽기큐레이션 요약

GitLab: 에이전틱 엔지니어링 시대를 위해 설계되다

GitLab은 AI 코딩의 속도를 늦추기보다, 에이전트가 대규모로 활동해도 통제와 보안을 유지할 수 있는 통합 인프라가 필요하다고 주장합니다. 이를 위해 에이전트 규모의 소스 코드 관리, 전체 SDLC를 이해하는 컨텍스트 그래프, 보안·거버넌스, 작업 오케스트레이션, 유연한 구매 모델을 제공하겠다고 발표했습니다. 결론적으로 GitLab은 인간과 에이전트가 동일한 플랫폼에서 계획·개발·배포·감사를 수행하는 “에이전틱 엔지니어링” 플랫폼을 지향합니다. ## AI 코딩의 확산과 관리되지 않은 혼란 - 조사 대상 1,500명 이상의 개발자와 기술 리더 중: - 조직의 91%가 AI 코딩 도구를 2개 이상 사용 - 54%는 3개 이상 사용 - 일부 고객의 코드베이스는 1년 만에 최대 5배 성장 - 그러나 기존 소프트웨어 생명주기는 인간의 작업 속도를 전제로 설계되어 에이전트 규모의 병렬 작업을 감당하기 어렵습니다. - 주요 문제: - 에이전트가 코드만 알고 전체 SDLC 맥락은 이해하지 못함 - 대규모 모노레포나 여러 저장소에서 컨텍스트가 부족해 작업이 중단됨 - 코드·의존성·배포 변경 속도가 거버넌스보다 빨라짐 - 좌석 수와 크레딧을 미리 구매해야 하는 고정형 계약이 AI 사용량 변동에 맞지 않음 - 응답자의 73%는 코드 유지보수를 걱정했으며, 전체 SDLC에서 생산성 향상을 체감한 비율은 21%에 불과했습니다. ## GitLab의 에이전틱 인프라 구조 GitLab은 소스 코드 관리, CI/CD, 거버넌스, 배포를 하나의 플랫폼에서 제공하며, 현재 5,000만 명 이상의 사용자와 10만 개 조직이 사용한다고 설명합니다. - **모터 시스템**: 소스 코드 관리, 파이프라인, 배포 등 실제 실행 담당 - **신경 시스템**: 에이전트와 개발자가 올바른 판단을 내리도록 전체 맥락 제공 - **면역 시스템**: 모든 작업에 보안과 거버넌스 적용 - **오케스트레이션 시스템**: 전체 생명주기의 작업을 계획하고 조율 - 이 네 요소는 사람이 작업하든 에이전트가 작업하든 동일하게 작동하도록 설계됩니다. ## 차세대 SCM과 에이전트 규모의 동시성 기존 Git은 수백 명의 개발자가 병렬로 작업하는 환경에는 적합하지만, 각 개발자가 수백 개의 에이전트를 실행하는 상황에서는 한계가 발생합니다. - **클론 비용**: 에이전트가 파일 하나를 읽기 위해 저장소 전체를 복제하며, 재시도마다 비용이 반복됨 - **동시성 붕괴**: 수천 개의 세션이 인간 중심으로 설계된 백엔드에 몰려 병목과 불안정성이 발생 - **격리 부족**: 에이전트가 계정과 브랜치 공간을 공유해 작업이 섞이고, 폐기나 추적이 어려움 - GitLab은 Git 프로토콜과의 호환성 및 감사 가능성은 유지하면서, 에이전트 전용 백엔드와 인터페이스를 갖춘 차세대 SCM을 비공개 베타로 공개했습니다. - 초기 내부 테스트 결과: - 토큰 사용량 최대 2배 감소 - 실제 실행 시간 최대 50배 단축 - 네트워크 트래픽 최대 1,000배 감소 ## GitLab Orbit: 전체 SDLC를 연결하는 컨텍스트 그래프 에이전트는 코드를 작성하는 능력에 비해 코드 주변의 시스템과 생명주기를 파악하는 능력이 부족합니다. 이로 인해 잘못된 작업을 반복하거나, 겉보기에는 올바르지만 나중에 되돌려야 하는 결과를 만들 수 있습니다. - **GitLab Orbit**은 코드, 작업 항목, 파이프라인, 배포, 운영 신호를 하나의 실시간 그래프로 연결합니다. - 에이전트는 분산된 정보가 아니라 GitLab의 원천 데이터를 기반으로 추론할 수 있습니다. - 개발자는 Data Explorer를 통해 동일한 그래프를 조회하고 변경 사항이나 장애 원인을 추적할 수 있습니다. - 초기 내부 테스트에서 Orbit을 사용한 에이전트는: - 응답 속도 최대 11배 향상 - 비용 효율 최대 4.5배 향상 - 환각 최대 45배 감소 - Compare the Market의 A/B 테스트에서는 그래프 기반 에이전트가 코드 리뷰 댓글의 정확한 위치를: - 70%의 확률로 지정 - RAG 방식은 58% - 이 테스트는 실제 머지 리퀘스트 79건을 대상으로 진행됐으며, 그래프 기반 컨텍스트가 일반적인 검색 기반 방식보다 높은 정확도를 보였습니다. - Orbit은 현재 공개 베타 단계입니다. ## 에이전트 보안과 거버넌스 GitLab은 에이전트가 코드와 운영 환경에 직접 영향을 미치는 상황을 고려해, 에이전트 자체를 관리하는 기능도 발표했습니다. - 에이전트의 신원과 권한을 관리 - 정책을 적용해 허용 가능한 행동 범위 제한 - 모든 에이전트 작업을 감사 로그로 추적 - 위험한 작업에 승인 절차 적용 - 에이전트용 보안 및 거버넌스 기능은 비공개 베타로 제공될 예정입니다. ## GitLab Duo Agent Platform의 오케스트레이션 - GitLab Duo Agent Platform은 에이전트가 개발자의 작업 흐름을 중단하지 않고 다음 작업을 수행하도록 조율합니다. - 이슈 처리 - 코드 리뷰 - CI/CD 파이프라인 문제 수정 - 플랫폼은 소스 코드, 컨텍스트, 보안 정책을 연결해 단순 코드 생성이 아닌 전체 개발 생명주기 자동화를 목표로 합니다. - 해당 플랫폼은 2026년 1월부터 정식 제공되고 있습니다. ## GitLab Flex와 새로운 구매 방식 - AI 도입 속도와 사용량은 조직마다 크게 달라 기존의 고정된 좌석·크레딧 계약으로 예측하기 어렵습니다. - GitLab Flex는 실제 AI 도입 방식과 사용 패턴에 맞춰 구매할 수 있는 유연한 라이선스 모델입니다. - 현재 주문을 받고 있습니다. ## 실용적인 결론 AI 코딩 도구를 도입하는 것만으로는 에이전틱 엔지니어링의 생산성을 확보하기 어렵습니다. 대규모 동시성을 처리하는 SCM, 전체 SDLC 컨텍스트, 세밀한 권한·감사·승인 체계, 작업 오케스트레이션을 함께 구축해야 하며, GitLab은 이를 하나의 통합 플랫폼으로 제공하려는 전략을 제시하고 있습니다.

원문 읽기(새 탭에서 열림)
google4분 읽기큐레이션 요약

머신 언러닝 감사를 위한 새로운 프레임워크

기계 언러닝이 실제로 특정 학습 데이터를 잊었는지 검증하려면, 모델의 내부 구조 대신 출력 샘플을 비교해야 한다. 기존 두 표본 검정은 대규모 모델의 미세한 정보 흔적을 놓치거나, 재학습 과정의 차이를 문제로 오인해 오탐을 낼 수 있다. Google Research는 이를 해결하기 위해 여러 f-발산과 커널 정규화를 결합한 상대적 거리 검정을 제안했으며, 표본 수가 늘어날수록 거짓 음성 위험이 0에 수렴하도록 설계했다. ## 기계 언러닝 검증의 필요성 - 기계 언러닝은 모델을 처음부터 재학습하지 않고 특정 학습 데이터를 제거하는 기술이다. - GDPR의 ‘잊힐 권리’, AI 안전성, 모델 품질 관리 때문에 언러닝이 제대로 수행됐다는 수학적 검증이 중요해지고 있다. - 감사자는 모델 내부나 원본 학습 데이터에 접근하지 못하는 경우가 많으므로, 모델에 질의하고 생성된 출력 샘플을 분석해야 한다. - 일반적인 방법은 다음 두 모델의 출력을 비교하는 두 표본 검정이다. - 해당 데이터를 처음부터 학습하지 않은 모델 - 해당 데이터를 잊었다고 주장하는 언러닝 모델 - 두 출력 분포가 통계적으로 다르면 언러닝이 실패했다고 판단한다. ## 기존 두 표본 검정의 한계 - 대규모 모델에서는 무작위 변동과 실제 데이터 의존성을 구분하기 위해 매우 많은 출력 샘플이 필요하다. - 샘플 수가 부족하면 실제 개인정보 유출이나 데이터 흔적을 발견하지 못하는 거짓 음성이 발생한다. - MMD(Maximum Mean Discrepancy)는 평균이나 전반적인 분포 변화 같은 전역적 차이를 잘 찾지만, 다음과 같은 국소적 변화에는 약할 수 있다. - 특정 프롬프트에서만 나타나는 개인 데이터 관련 이상 출력 - 드문 이상치 - 비매끄럽거나 복잡한 분포 차이 - 연구자가 검정 통계량, 커널 대역폭, 정규화 매개변수 등을 직접 선택해야 하므로 설정이 어렵고 오류가 발생하기 쉽다. - 재학습 모델 자체도 학습 배치 크기나 학습 순서가 다르면 원래 모델과 다른 출력 분포를 만들 수 있다. - 이 경우 언러닝 모델이 안전하게 동작하더라도 단순 비교 검정은 차이를 데이터 잔존 흔적으로 잘못 판단할 수 있다. - 표준적인 국소 언러닝 알고리즘은 학습 과정을 모두 되짚지 않기 때문에 데이터의 영향을 완벽히 제거하기 어렵다. - 따라서 ‘처음부터 재학습한 모델과 완전히 동일한 분포’를 요구하면 정상적인 언러닝도 실패로 판정될 수 있다. ## 상대적 거리 기반 검정 프레임워크 - 제안된 방법은 언러닝 모델이 어느 쪽에 더 가까운지를 비교한다. - 안전하게 재학습한 모델 - 원래의 손상된 모델 - 즉, 언러닝 모델이 재학습 모델에 더 가까운지를 평가해 단순한 분포 차이보다 언러닝의 방향성을 검증한다. - 이 방식은 단일 기준 모델과의 동일성만 요구하지 않으므로 재학습 과정에서 생기는 자연스러운 변동에 더 강하다. - 프레임워크의 핵심은 **Regularized f-Divergence Kernel Tests**다. - f-발산을 활용해 다양한 유형의 분포 차이를 표현한다. - 커널 정규화로 고차원 데이터에서 발산을 효율적으로 추정한다. - 통계적 검정 과정에서 거짓 양성을 통제하도록 설계됐다. - 표본 수가 증가하면 거짓 음성 위험이 0에 안정적으로 수렴한다. ## 다양한 f-발산의 활용 - **카이제곱 발산과 KL 발산** - 매끄러운 분포 변화나 국소적인 이상을 탐지하는 데 적합하다. - 특정 데이터가 모델 출력에 드문 이상치를 유발하는 상황을 포착할 수 있다. - **Hockey-stick 발산** - 프라이버시와 언러닝의 정의에 직접적으로 활용할 수 있다. - 통계적 비식별성의 허용 수준을 매개변수로 설정한다. - 안전 예산 이하의 사소한 차이는 무시하고, 의미 있는 개인정보 노출만 경고하도록 만들 수 있다. - 기존 방식과 달리 검정에 적합한 발산과 하이퍼파라미터를 자동으로 선택한다. - 이 적응형 선택은 연구자가 검정 방식을 일일이 고르는 부담을 줄이며, 표본 분할 없이 수행된다. ## 실험과 적용 분야 - 제안 방법은 다양한 문제에서 평가됐다. - 합성 데이터인 perturbed uniform 두 표본 벤치마크 - 물리학 데이터의 Expo1D 이상치 탐지 - 고에너지 물리학 데이터는 표준 모형에서 벗어난 매우 희귀한 입자처럼 미세한 차이를 찾아야 하므로, 개인정보 유출 탐지 성능을 시험하기에 적합한 사례로 사용됐다. - **차등 프라이버시 감사** - 한 레코드만 다른 두 데이터셋에 비공개 메커니즘을 적용한다. - 진정한 차등 프라이버시라면 두 출력 표본이 통계적으로 구별되지 않아야 한다. - 차이가 검출되면 단일 레코드의 영향이 과도하게 남아 있는 것으로 판단할 수 있다. - **기계 언러닝 평가** - 안전한 재학습 모델과 언러닝 모델만 단순 비교하는 대신, 세 표본 상대 검정을 사용한다. - Selective Synaptic Dampening, 가지치기(pruning), 무작위 라벨링 등 여러 언러닝 알고리즘에 적용했다. - 제공된 글은 실험 결과 설명이 “unlearned model d...”에서 중단되어 있어, 각 알고리즘의 구체적인 성능 수치나 최종 결론은 확인할 수 없다. ## 실용적인 결론 기계 언러닝을 감사할 때는 “언러닝 모델이 재학습 모델과 완전히 같은가”보다 “원본 모델보다 안전한 재학습 모델에 통계적으로 더 가까운가”를 평가하는 것이 현실적이다. 특히 개인정보 보호 감사나 희귀한 국소 이상 탐지처럼 작은 분포 변화가 중요한 경우, f-발산과 커널 정규화를 결합한 적응형 상대 검정이 기존 MMD 중심 접근보다 적합할 수 있다.

원문 읽기(새 탭에서 열림)
discord3분 읽기큐레이션 요약

게임 시작: 디스코드, 차세대 네덜란드 게임 창업자들을 지원하다

Discord는 Techleap, 네덜란드게임협회와 함께 네덜란드 게임 스타트업을 지원하는 **Gaming Founders Circle**을 출범한다. 2026년 말까지 참가 기업에 창업자 간 학습, 투자자 연결, Discord 게임 생태계와의 네트워크를 제공해 글로벌 성장을 돕는 것이 목표다. 이는 개별 기업뿐 아니라 네덜란드 게임 산업 전체의 경쟁력을 강화하려는 협력 프로그램이다. ## Gaming Founders Circle의 출범 배경 - Discord는 게이머와 개발자가 직접 소통하는 플랫폼으로, 이용자의 90% 이상이 게임을 즐긴다. - 1만 개가 넘는 게임 커뮤니티에서 8,000만 명 이상의 사용자가 활동하고 있다. - 개발자는 Discord를 통해 플레이어의 실시간 반응을 확인하고, 게임의 문제점과 향후 수요를 파악할 수 있다. - 네덜란드는 Discord의 유럽 본사가 있는 국가이며, Techleap은 네덜란드 스케일업을 지원하는 성장 기관이다. - Techleap의 특사 Constantijn van Oranje는 적절한 동료, 자본, 시장을 연결해야 게임 기업과 산업 전체가 성장할 수 있다고 강조했다. ## 첫 번째 참가 기업 5곳 - **VaultN** - 디지털 게임 유통 인프라 기업이다. - Bethesda, 2K, Take-Two 등 주요 퍼블리셔가 이용하고 있다. - **Poki** - 웹 게임 플랫폼으로, 월간 이용자 수가 9,000만 명에 이른다. - 외부 투자 없이 수익성을 유지하며 성장했다. - **MAXYMUM** - AI 기반 게임 디자인 도구를 개발한다. - 올해 GDC에서 제품 가능성을 검증받았다. - **YOM** - 블록체인과 스트리밍을 결합한 탈중앙화 클라우드 게임 인프라를 구축한다. - **Immens** - AI를 핵심 요소로 설계한 유럽산 게임 엔진을 개발한다. - 유럽 게임 업계의 경험 많은 인물이 이끌고 있다. - 참가 기업은 Discord, Techleap, 네덜란드게임협회가 공동으로 선정했다. ## 참가 기업에 제공되는 지원 - **창업자 간 동료 학습** - 소규모 그룹에서 채용, 자금 조달, 유통, 커뮤니티 운영, 해외 진출 문제를 공유한다. - 비슷한 성장 단계의 기업들이 실제 경험과 해결책을 논의한다. - **투자자 연결** - Techleap의 네덜란드 및 해외 투자자 네트워크를 활용한다. - 특히 게임 스튜디오의 후기 단계 투자가 어려운 상황에서 자금 조달 기회를 제공한다. - **게임 산업 네트워크** - Discord를 통해 개발자, 플레이어, 퍼블리셔 등 게임 생태계와 연결된다. - 플레이어 커뮤니티와의 접점을 활용해 제품 피드백과 시장 인사이트를 얻을 수 있다. ## 주요 일정과 기대 효과 - 프로그램은 2026년 말까지 운영된다. - 10월에는 샌프란시스코 방문이 예정되어 있다. - Discord 경영진과의 세션 - Techleap과 Constantijn 왕실 특사가 주최하는 투자자 만찬 - 11월 네덜란드 게임 어워즈를 끝으로 프로그램이 마무리된다. - Discord는 게임 산업의 성장이 플레이어와 개발자 간 연결, 그리고 창업자 간 지식 공유에서 비롯된다고 보고 있다. 이 프로그램은 단순한 투자 지원보다 동료 네트워크, 투자자 접근성, 플레이어와의 실시간 소통을 결합한 실무형 성장 지원 모델에 가깝다. 네덜란드 게임 기업은 이를 활용해 제품 피드백을 빠르게 확보하고, 글로벌 투자와 시장 진출을 동시에 추진할 수 있다.

원문 읽기(새 탭에서 열림)
gitlab3분 읽기큐레이션 요약

Google Cloud에서의 GitLab: 완전 관리형, 규정 준수, AI 지원 준비 완료

GitLab은 Google Cloud Marketplace와 인증 MSP를 통해 완전 관리형 DevSecOps 플랫폼으로 제공되며, 코드·파이프라인·보안 데이터를 규정에 맞는 위치에 보관할 수 있다고 주장한다. 동시에 Gemini와 Gemma 모델을 GitLab Duo Agent Platform에 통합해 AI 기능과 거버넌스를 한 플랫폼에서 제공하고, 기존 Google Cloud 약정으로 비용을 결제할 수 있게 한다. 결론적으로 기업은 운영 부담과 도구 분산을 줄이면서 규제 준수, AI 활용, 비용 통제를 함께 달성할 수 있다. ## Google Cloud에서 제공되는 완전 관리형 GitLab - GitLab 인증 관리형 서비스 제공업체(MSP)인 Beyond, Digital Future 등이 Google Cloud 인프라에서 GitLab 운영을 대신한다. - 기업은 코드, CI/CD 파이프라인, 보안 데이터를 국가별 데이터 레지던시와 주권 요구사항에 맞춰 보관할 수 있다. - 인프라 운영과 유지보수는 MSP가 담당하므로 기업의 직접적인 관리 부담이 줄어든다. - GitLab의 감사 로그와 정책 기능을 통해 다음 활동을 추적할 수 있다. - AI 에이전트의 작업 - 머지 리퀘스트 - 보안 탐지 결과 - 에이전트가 자동화한 작업도 기존 개발·보안 거버넌스 범위 안에서 감사할 수 있다. ## 작업에 맞는 AI 모델 선택 - Gemini 3.5 Flash를 포함한 최신 Gemini 모델이 GitLab Duo Agent Platform에서 제공된다. - GitLab이 Google Gemini 얼리 액세스 프로그램에 참여하므로, 새로운 Gemini 모델이 출시되면 별도의 조달 절차 없이 Duo에 빠르게 추가될 수 있다. - 소프트웨어 작업별로 적합한 모델을 선택할 수 있도록 모델 라인업을 구성한다. - 규제 산업이나 자체 호스팅 환경을 위해 Gemma 4도 GitLab Duo Self-Hosted에서 사용할 수 있다. - Gemma 4는 오픈 웨이트 모델로, 자체 AI Gateway와 함께 다음 환경에서 운영할 수 있다. - 온프레미스 - 프라이빗 클라우드 - 자체 호스팅 모델을 사용하면 AI 요청과 응답을 조직 내부 환경에 유지할 수 있다. ## 기존 Google Cloud 약정으로 비용 결제 - Google Cloud Marketplace에서 GitLab과 Duo Agent Platform을 구매하면 기존 Google Cloud 약정 금액을 활용할 수 있다. - 별도의 예산 승인이나 새로운 조달 주기를 거치지 않고 이미 약정한 클라우드 지출을 AI와 플랫폼 비용에 사용할 수 있다. - 플랫폼, 모델 추론, 인프라 비용이 Google Cloud 청구서에 통합된다. - GitLab의 비용 관리 기능도 함께 제공된다. - 사용량 대시보드 - 모델별 사용 정책 - 예측 가능한 소비를 위한 GitLab Credits - 이를 통해 재무·경영진은 분기별 AI 비용과 실제 활용 성과를 한곳에서 확인할 수 있다. ## DevSecOps와 AI를 하나의 플랫폼으로 통합 - 단순한 코딩 도우미와 달리 GitLab Duo Agent Platform은 다음과 같은 소프트웨어 개발 맥락을 함께 이해한다. - 머지 리퀘스트 - CI/CD 파이프라인 - 배포 대상 - 이 맥락 정보가 여러 단계로 이어지는 에이전트 작업이 중단되지 않도록 돕는다. - 긴 컨텍스트 처리와 도구 호출 능력이 향상된 Gemini 모델을 GitLab의 개발·보안·배포 흐름에 연결할 수 있다. - 별도의 코딩 도우미, 보안 도구, AI 엔드포인트를 조합하는 대신 다음 요소를 한 플랫폼에서 관리한다. - 배포 방식 - AI 모델 선택 - 보안 및 규정 준수 - 사용량과 비용 - 특히 대규모 모노레포 검토와 다단계 개발 자동화에 유리하다는 점을 강조한다. ## 도입 방법 - Duo Agent Platform을 사용하지 않는 팀은 무료 체험으로 시작할 수 있다. - GitLab 무료 등급 사용자는 별도 가입 절차를 통해 Duo Agent Platform을 신청할 수 있다. - GitLab Premium 또는 Ultimate 구독자는 Duo Agent Platform을 활성화하고 구독에 포함된 GitLab Credits를 사용할 수 있다. - 규제 요건, 데이터 위치, 운영 인력, 기존 Google Cloud 약정 규모를 기준으로 완전 관리형 MSP 방식과 자체 호스팅 방식을 선택하는 것이 적절하다. 실무적으로는 먼저 데이터 레지던시와 감사 요건을 정의한 뒤, 필요한 AI 모델이 Gemini인지 자체 환경의 Gemma인지 결정하는 것이 좋다. 이후 Google Cloud 약정 활용 가능성과 GitLab Credits·사용량 정책을 함께 검토하면 비용과 거버넌스를 균형 있게 설계할 수 있다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

이 템플릿을 가져가세요: Figma Weave로 사용자 페르소나에 생동감을 불어넣기 | Figma 블로그

정적 이미지와 반복되는 프로필 사진만으로는 이상적 고객 프로필(ICP)을 실제 고객처럼 생생하게 전달하기 어렵다. Dropbox의 Sara Clayton은 Figma Weave를 활용해 사용자의 얼굴 사진과 간단한 프롬프트를 현실적인 작업 환경 이미지로 바꾸고, 참고 이미지를 추가해 의상과 스타일을 조정했다. 이를 통해 ICP의 스토리텔링을 강화하고, 고객에 대한 공감과 전략적 활용도를 높일 수 있었다. ### 정적인 ICP의 한계 - ICP는 제품을 만들 대상 고객을 구체적으로 묘사하는 문서다. - Dropbox Replay 팀은 영상 편집자, 오디오 엔지니어, 제작 관리자 등을 주요 사용자로 정의했다. - 기존에는 다이어그램, 사용자 스토리, 슬라이드 덱, 동일한 인물 사진을 반복 사용했다. - 이런 방식은 사용자가 실제로 어떤 환경에서 일하고 어떤 도구를 사용하는지 충분히 보여주지 못했다. - Sara Clayton은 사용자의 직업적 맥락과 현실감을 시각적으로 표현할 필요성을 느꼈다. ### 스토리 중심의 사용자 페르소나 - ICP 관점에서 상황을 시간 순서대로 보여주는 슬라이드 덱이 기존 방식보다 효과적이었다. - 예를 들어 미디어 제작자가 타임라인이나 믹싱 보드 앞에서 일하는 모습을 보여주면 사용자의 업무 맥락을 더 쉽게 이해할 수 있다. - 반복되는 증명사진 대신 실제 작업 공간, 복장, 주변 도구를 포함한 장면이 필요했다. - 이러한 시각적 디테일은 페르소나를 단순한 데이터 묶음이 아니라 현실적인 인물로 느끼게 한다. ### Figma Weave를 활용한 이미지 생성과 수정 - 사용자의 얼굴 사진과 한 줄 프롬프트만으로 재택근무 공간에서 작업하는 미디어 제작자 이미지를 생성했다. - 생성된 인물은 Premiere Pro 화면 앞에 앉아 있는 등 직업적 환경이 반영됐다. - 동료의 피드백을 받은 뒤 참고 이미지를 업로드해 의상과 전체적인 스타일을 수정했다. - 일반적인 챗봇형 이미지 생성 도구보다 변수별 결과를 확인하고 반복 수정하기 쉬웠다. - 여러 생성 결과를 시각적으로 비교하면서 원하는 인물, 복장, 환경을 구체화할 수 있었다. ### 페르소나 템플릿과 활용 방식 - 글에서 소개한 템플릿은 현실적인 장면을 포함한 ICP 이미지를 약 2분 안에 만드는 데 초점을 둔다. - 바로 사용할 수 있는 Figma Weave 템플릿에는 다음과 같은 유형이 포함된다. - 자동차 내부의 캐릭터 이미지 생성 - 전문적인 캐릭터 레퍼런스 시트 제작 - 변수 기능을 활용한 다양한 의상과 캐릭터 생성 - 템플릿을 활용하면 반복적인 페르소나 프로필을 여러 상황과 스타일로 확장할 수 있다. ### Figma Weave의 의미 - Figma가 인수한 Weavy를 기반으로 한 Figma Weave는 생성형 AI와 전문 편집 기능을 오픈 캔버스에 결합한다. - 이미지뿐 아니라 동영상, 애니메이션, 모션 디자인, VFX 생성 및 편집까지 지원하는 방향을 지향한다. - 단순히 이미지를 생성하는 것보다 결과를 보고 다양한 요소를 조정하는 반복 작업에 강점이 있다. - Dropbox 사례에서는 더 인간적이고 높은 해상도의 스토리텔링을 가능하게 해 ICP가 제품 전략에 실제로 영향을 주도록 했다. 팀의 ICP나 사용자 페르소나가 텍스트와 반복적인 스톡 이미지에 머물러 있다면, 실제 업무 환경과 행동을 보여주는 장면으로 확장하는 것이 효과적이다. Figma Weave 같은 도구를 사용할 때는 얼굴, 직업 환경, 복장, 참고 이미지 등의 변수를 단계적으로 조정하면 더 일관되고 설득력 있는 페르소나를 만들 수 있다.

원문 읽기(새 탭에서 열림)
discord3분 읽기큐레이션 요약

서버에서 앱이 데이터에 접근하는 방식에 대한 업데이트된 요구사항

Discord는 서버 멤버 정보, 사용자 현재 상태, 메시지 내용에 접근하는 앱에 대해 더 엄격한 심사 기준을 도입한다. 이제 총 사용자 수가 10,000명 이상인 앱은 심사를 받아야 하며, 접근 권한을 유지하려면 매년 재심사를 신청해야 한다. 기존 데이터 종류 자체가 확대되는 것은 아니며, 목적에 맞지 않거나 심사를 통과하지 못한 앱은 관련 기능이 제한될 수 있다. ## 변경되는 접근 권한 기준 - 대상 데이터는 다음과 같다. - 서버 멤버 목록 - 사용자의 온라인·오프라인 등 현재 상태 - 메시지 내용 - 기존에는 **100개 이상의 서버에 추가된 앱**이 심사 대상이었다. - 앞으로는 서버 수가 아니라 **앱이 도달하는 총 사용자 수**를 기준으로 한다. - 총 사용자 수가 **10,000명 이상**인 앱은 해당 데이터에 계속 접근하려면 심사를 거쳐야 한다. - 10,000명 미만의 앱은 이번 기준 변경으로 즉시 영향을 받지 않는다. ## 매년 재심사 도입 - 앱 개발자는 데이터 접근 권한을 계속 유지하려면 **매년 재신청**해야 한다. - 앱의 기능과 목적이 시간이 지나며 변할 수 있기 때문에, 현재 데이터 접근이 실제 사용 목적에 필요한지 확인한다. - 심사에서는 앱이 해당 데이터를 실제로 사용하는지, 명시한 기능에 데이터가 필요한지 등을 중점적으로 검토한다. - 개발자는 언제든 재신청할 수 있다. ## 변경의 배경과 데이터 보호 - 기존 기준은 2020년 당시 Discord와 앱 생태계 규모를 바탕으로 설계됐다. - 서버 수만 기준으로 삼으면, 하나의 대형 서버에만 추가된 앱도 많은 사용자 데이터에 접근할 수 있었다. - 새로운 사용자 수 기준은 앱이 실제로 도달할 수 있는 이용자 규모를 반영한다. - 매년 심사를 통해 더 이상 필요하지 않거나 정책에 맞지 않는 데이터 접근 권한을 줄일 수 있다. - 이번 변경은 앱이 접근할 수 있는 데이터 종류를 늘리는 것이 아니라, 접근 신청과 유지 조건을 강화하는 조치다. ## 사용자와 앱 기능에 미치는 영향 - 대부분의 사용자는 즉각적인 변화를 느끼지 못한다. - 개발자가 심사를 신청하지 않거나 권한을 유지하지 못하면 메시지 읽기 등 특정 데이터에 의존하는 기능이 중단될 수 있다. - 앱 자체가 삭제되는 것은 아니며, 해당 데이터가 필요 없는 기능은 계속 작동한다. - 예를 들어 메시지 내용을 읽어 특정 단어에 반응하던 봇은 슬래시 명령어(`/command`) 방식으로 재설계될 수 있다. - Discord는 기존 앱이 변경에 대응할 수 있도록 개발자에게 알리고, 필요한 조치나 재심사를 준비할 **90일의 유예 기간**을 제공한다. ## 앱 사용자의 확인 방법 - 서버 구성원은 서버 멤버 목록에서 앱 프로필을 확인할 수 있다. - 앱의 역할과 기능을 살펴본 뒤 서버에 추가할지 판단하는 데 활용할 수 있다. - 앱이 어떤 데이터를 필요로 하는지와 실제 기능이 그 접근을 정당화하는지를 확인하는 것이 중요하다. 실용적으로는 앱 개발자는 데이터 접근 필요성을 문서화하고 매년 재심사 일정을 관리해야 하며, 가능하다면 메시지 내용 접근 대신 슬래시 명령어·명시적 사용자 동작처럼 권한이 적은 구조로 전환하는 것이 바람직하다.

원문 읽기(새 탭에서 열림)
aws3분 읽기큐레이션 요약

AWS에서 제공되는 Anthropic Claude Fable 5: 기본 제공 안전장치를 갖춘 Mythos급 기능 이제 이용 가능 | Amazon Web Services

Claude Fable 5는 Amazon Bedrock과 Claude Platform on AWS에서 제공되는 Mythos급 성능의 모델로, 장시간 실행되는 코딩·지식 작업과 문서·이미지 이해에 강점을 보인다. 동시에 사이버보안·생물학·화학·보건 등 오용 위험이 높은 요청은 Opus 4.8로 전환하는 안전장치를 적용했다. AWS 사용자는 기존 Bedrock 환경에서 Messages, Invoke, Converse API를 통해 모델을 사용할 수 있지만, 이용 전 데이터 공유와 30일 보관에 동의해야 한다. ## Mythos급 성능과 장시간 작업 - 소프트웨어 엔지니어링, 지식 노동, 비전 관련 벤치마크에서 높은 성능을 제공한다. - 이전 모델보다 복잡하고 긴 작업을 중단 없이 오래 수행할 수 있다. - 코딩 및 연구 작업을 비동기적으로 실행해 사용자의 지속적인 개입을 줄인다. - 모델이 작업 중 얻은 학습 내용을 바탕으로 기술을 갱신하고, 자체 테스트 하네스와 평가 방식을 만들 수 있다. ## 고급 비전 기능 - 파일과 PDF 안에 포함된 다이어그램, 차트, 표를 해석한다. - 금융, 법률, 분석, 건축, 게임처럼 시각 자료가 많은 업무에 활용할 수 있다. - 코딩 과정에서 설계 이미지를 분석하고, 구현 결과가 원래 목표와 얼마나 일치하는지 스스로 검토할 수 있다. ## 오용 방지를 위한 안전장치 - Fable 5는 광범위한 사용을 목표로 강력한 안전 제한을 포함한다. - 사이버보안, 생물학, 화학, 보건과 관련된 유해 요청은 Opus 4.8로 대신 처리된다. - 안전장치가 없는 동일 계열 모델인 Claude Mythos 5는 검증된 일부 고객에게만 제공된다. - 높은 수준의 안전장치를 통해 Fable 5의 고성능 기능을 더 많은 고객에게 공개할 수 있다는 것이 Anthropic의 설명이다. ## Amazon Bedrock에서의 접근 방식 - Amazon Bedrock 또는 Claude Platform on AWS에서 사용할 수 있다. - Bedrock에서는 다음 경로를 통해 호출할 수 있다. - Anthropic SDK의 Messages API - `bedrock-mantle` 및 `bedrock-runtime` 엔드포인트 - AWS CLI와 AWS SDK의 Invoke API, Converse API - Bedrock 콘솔의 Playground - 예시 모델 식별자는 Anthropic SDK에서 `anthropic.claude-fable-5`, Converse API에서 `global.anthropic.claude-fable-5`로 제시된다. ## 데이터 공유 및 보관 조건 - 모델 호출 전에 Data Retention API를 사용해 `provider_data_share`를 설정해야 한다. - 출시 시점에는 이 설정을 위한 콘솔 UI가 제공되지 않는다. - `bedrock-mantle`에서는 `/v1/data_retention`, `bedrock-runtime`에서는 `/data-retention` 엔드포인트를 사용한다. - Anthropic은 입력과 출력 데이터를 30일 동안 보관하고 사람에 의한 검토를 요구한다. - 데이터 공유를 활성화하면 추론 데이터가 AWS 외부로 전달될 수 있으므로, 조직의 보안·규정 준수 정책을 먼저 확인해야 한다. ## Python 호출 예시 - Anthropic SDK 사용 시 `anthropic` 패키지를 설치하고 Bedrock Mantle 엔드포인트를 `base_url`로 지정한다. - `client.messages.create()`에 모델명, 최대 토큰 수, 사용자 메시지를 전달해 호출한다. - Boto3의 Converse API를 사용하면 Bedrock의 통합 멀티모델 인터페이스로 Fable 5를 호출할 수 있다. - 예시 작업으로는 여러 지역에서 초당 10만 요청을 처리하는 AWS 분산 아키텍처 설계가 제시됐다. ## 이용 권한과 가격 - 모델 접근 권한은 AWS 계정별로 단계적으로 확대된다. - 아직 접근할 수 없는 계정은 Bedrock 사용량에 따라 추후 활성화되며, 빠른 사용이 필요하면 AWS Support에 문의할 수 있다. - 유해 요청이 Opus 4.8로 라우팅되면 Opus 가격이 적용된다. - 대화 중간에 차단되는 경우 초기 토큰에는 Fable 요금, 이후 토큰에는 Opus 요금이 적용될 수 있다. - Mythos급 모델은 오용 패턴 탐지를 위해 전체 트래픽에 제한적인 데이터 보관이 요구된다. 실제로 도입할 때는 모델 성능뿐 아니라 30일 데이터 보관, 사람의 데이터 검토, AWS 외부 데이터 공유 가능성을 반드시 검토해야 한다. 민감한 업무라면 먼저 Bedrock 권한과 보안 정책을 확인한 뒤 제한된 테스트 환경에서 Messages API나 Converse API로 평가하는 것이 좋다.

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