Veo 3 & Veo 3 Fast 정식 출시
Veo 3를 이용하여 5월 이후 7,000만 개 이상의 동영상을 생성하며 큰 인기를 끌었고, 기업 고객들 또한 600만 개 이상의 동영상을 제작 (Veo 3 영상 보러가기)
- Veo 3 (정식 버전): Google의 가장 진보된 동영상 생성 모델
- Veo 3 Fast (정식 버전): 속도와 빠른 반복 작업에 최적화된 모델로, 제품 데모나 단편 영화 등을 신속하게 텍스트로 제작
- Image to Video 기능 (8월 public preview 예정): 정적 이미지에 텍스트 프롬프트를 추가하여 생동감 있는 동영상을 만들 수 있는 기능이 Veo 3와 Veo 3 Fast에 추가될 예정
핵심 기능
- 네이티브 오디오 생성: 비디오와 오디오를 한 번에 생성하여 정확한 립싱크와 분위기에 맞는 음향 효과를 구현
- 전문가 수준의 품질: 마케팅 캠페인, 제품 데모 등에 적합한 고화질(1080p) 동영상을 제작
- 콘텐츠 현지화 간소화: 동영상을 한 번 제작한 후 수십 개의 언어로 대사를 현지화 하여 전 세계 고객과 소통할 수 있습니다.
- 안전성: 생성된 모든 프레임에 SynthID 디지털 워터마크를 삽입하여 허위 정보에 대응하며, 생성형 AI 서비스에 대한 면책 조항이 적용
Anthropic Claude 모델을 위한 Global Endpoint 출시
Vertex AI에서 Anthropic의 Claude 모델을 위한 글로벌 엔드포인트가 정식으로 출시
지원 모델 및 가격
다음 Claude 모델의 종량제(pay-as-you-go) 트래픽을 지원
- Claude Opus 4
- Claude Sonnet 4
- Claude Sonnet 3.7
- Claude Sonnet 3.5 v2
⚠️ 가격은 global 및 regonal endpoint가 동일함
Global endpoint vs Regional endpoint
- 글로벌 엔드포인트:
- 요청을 특정 지역에 묶어두지 않고, 용량이 있는 여러 지역으로 자동으로 분산
- 특정 지역의 트래픽 과부하로 인한 오류를 줄이고, 가능한 최고의 가용성을 보장
- 데이터 상주 요건이 없는 애플리케이션에 적합함
- 리전 엔드포인트:
us-central1
과 같이 지정된 특정 지역 내에서 데이터와 처리를 유지
- 데이터 상주 요건이 엄격한 애플리케이션에 적합함
ADK 에이전트를 A2A framework로 전환 가이드
Google Agent Development Kit (ADK)를 사용하여 AI 에이전트를 구축하고, 이 에이전트가 Agent-to-Agent (A2A) 프레임워크를 통해 다른 에이전트와 상호 작용하도록 만드는 과정의 예시
A2A 기반으로 작동하는 MultiURLBrowser agent 구성
1단계 : Core Agent 및 MCP Tool 정의 (agent.py
)
MultiURLBrowserAgent
라는 웹 스크래핑 에이전트의 핵심 기능을 정의
2단계 : 공개 ID 설정 (__main__.py
)
에이전트가 다른 에이전트에 의해 발견되고 상호 작용할 수 있도록 A2A 프레임워크 내에서 공개 ID를 설정
3단계 : A2A 작업 관리자 구현 (task_manager.py
)
A2A 프레임워크와 Core Agent의 로직 사이의 인터페이스 설정
4단계 : Agent의 invoke 메서드 생성
AgentTaskManager
에 의해 호출되는 에이전트의 핵심 ADK 로직 진입점을 정의
오케스트레이터 에이전트 생성
A2A 호환 에이전트를 활용하여 하위 작업을 위임하는 오케스트레이터 에이전트를 구축하는 방법
1단계 : 사용 가능한 에이전트 검색
2단계 : 다른 에이전트를 도구로 호출
3단계 : 오케스트레이터의 LLM 구성
ADK를 사용하여 다중 에이전트 시스템을 구축
Google Agent Development Kit (ADK)를 사용하여 AI 에이전트가 협업하는 다중 에이전트 시스템을 구축하는 방법을 설명
문제점: 단일한 “슈퍼 에이전트”는 지침 과부하, 부정확한 출력, 확장 불가능한 시스템으로 인해 비효율적
해결책: 각 전문 분야에 특화된 AI 에이전트 시스템은 더 높은 충실도, 더 나은 제어 및 진정한 확장성을 제공
💡
- 각기 다른 단일 작업을 수행하는
FlightAgent
(항공편),HotelAgent
(숙박),SightseeingAgent
(관광)를 생성
- 코디네이터 에이전트(
TripPlanner
)가 전문 에이전트들을 하위 에이전트가 아닌 tool로 사용하기 위해root agent
의 tools 목록에 추가
ParallelAgent
를 사용하여 독립적인 작업을 동시에 실행하고, 결과를 모아서 요약을 생성하는TripSummaryAgent
,SequentialAgent
를 사용하여 전체 워크플로우를 오케스트레이션
- 시스템이 자체 작업을 검토하고 품질을 보장하기 위한 피드백 루프를 추가
TripSummaryReviewer
:TripSummaryAgent
가 생성한 요약을 평가(pass 또는 fail 출력)
ValidateTripSummaryAgent
: 오류 메시지를 제공하는 사용자 정의 에이전트
Vertex AI Agent Engine Memory Bank
에이전트와 사용자 간의 대화 내용을 기반으로 장기 기억을 생성하고 관리하는 기능으로 이전 대화 내용을 기억하고, 사용자의 선호도나 컨텍스트를 파악하여 더욱 개인화되고 맥락에 맞는 답변을 제공
AI Agent가 Agent Engine의 Session 대화 기록을 사용하여 Memory Bank에서 사용자에 대한 지속적인 기억을 생성하고 검색하는 방법
에이전트간 상호작용을 첫 번째 상호작용으로 간주하여 반복적인 질문을 던지고 사용자 선호도를 기억하지 못하는 맥락 인식의 부족을 해결하기 위하여 Vertex AI Agent Engine에 Memory Bank라는 기능을 제공
- 상호 작용 개인화: 일반적인 스크립트를 넘어서 사용자 선호도, 주요 이벤트 및 과거 선택 사항을 기억하여 모든 응답을 맞춤화
- 연속성 유지: 여러 세션에 걸쳐 며칠 또는 몇 주가 지났더라도 대화가 중단된 지점에서 원활하게 다시 시작
- 더 나은 컨텍스트 제공: 에이전트에 사용자에 대한 필요한 배경 지식을 제공하여 더 관련성 있고 통찰력 있으며 유용한 응답을 제공
- 사용자 경험 개선: 정보 반복의 좌절감을 없애고 더 자연스럽고 효율적이며 매력적인 대화를 생성
Blog : https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-memory-bank-in-public-preview
Docs : https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/memory-bank/overview
Gemini CLI: Custom slash commands
‘사용자 지정 슬래시 명령어’ 기능은 재사용 가능한 프롬프트를 정의하여 상호작용을 간소화하고 효율성을 향상 시키는데 도움을 줍니다.
- 자주 사용하거나 즐겨 찾는 프롬프트를 Gemini CLI 내의 개인적인 단축키로 저장하고 재사용
- 단일 프로젝트에 특화된 명령어나 모든 프로젝트에서 전역적으로 사용 가능한 명령어를 만들어 워크플로우를 간소화하고 일관성을 보장
.toml 설정 파일 사용
commands
디렉토리의 file name이 명령어가 됨- 예시)
~/.gemini/commands/test.toml
파일은/test
가 명령어
- 예시)
- 필수 필드
prompt
(String): 명령어가 실행될 때 Gemini 모델로 전송될 프롬프트
- 옵션 필드
description
(String): 명령어가 무엇을 하는지에 대한 간략한 한 줄 설명(텍스트는/help
메뉴에서 명령어 옆에 표시됨)
{{args}}
를 사용한 축약형 삽입- 프롬프트에
{{args}}
가 포함되어 있으면, 명령어 이름 뒤에 입력한 모든 텍스트로 대체됨
# In: ~/.gemini/commands/git/fix.toml # Invoked via: /git:fix "Button is misaligned on mobile" description = "Generates a fix for a given GitHub issue."prompt = "Please analyze the staged git changes and provide a code fix for the issue described here: {{args}}."
final prompt:
Please analyze the staged git changes and provide a code fix for the issue described here: "Button is misaligned on mobile".
- 프롬프트에
$!{...}
를 사용한 shell command 실행- 프롬프트 내에서 직접 셸 명령어를 실행하고 그 출력을 주입하여 동적인 명령어를 만들 수 있음
파일 위치에 따른 명령어 커버리지
- User command (Global) :
~/.gemini/commands/
available in any project
- Project command (Local) :
/.gemini/commands/
specific to the current project
네임스페이스(Namespacing)
명령어의 이름은 commands
디렉토리에 대한 상대적인 파일 경로에 의해 결정 되며, 하위 디렉토리는 네임스페이스가 있는 명령어를 만드는 데 사용
/.gemini/commands/test.toml
파일은/test
/.gemini/commands/git/commit.toml
파일은 네임스페이스가 적용된/git:commit
Github : https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/commands.md