MJ's Blog
25' AI Agents Live + Labs 본문
인사이트 정리
1. 효율적인 에이전트 개발
기존 LangChain 기반 시스템에서 도구 구성과 연결에 많은 시간을 들였다면, ADK는 개발자가 직접 Python 코드로 오케스트레이션 및 동작 정의가 가능해져 더 정밀한 제어와 테스트 가능해 에이전트 개발의 부담을 줄이고 핵심 로직에 집중할 수 있는 구조라고 판단됨
2. 작업 모듈화
root agent ↔ sub agent 구조를 통해 모듈화된 작업 분담이 가능하여 이를 잘 활용하면 사내 검색 시스템 내에서도 task별 분리된 에이전트 설계를 적용 가능할것으로 보임 (예: 문서 요약 ↔ 검색 ↔ 인사이트 추출 분리).
3. 세션 및 상태 관리
State, memorybank, artifact 개념을 활용하면 사용자별 대화 기록이나 작업 맥락을 효과적으로 관리할 수 있어, 동일 사용자의 반복 질의에 대해 더 정교하고 일관된 응답을 제공하는 사내 어시스턴트 구현이 가능할 것으로 판단됨.
4. 유연한 도구 활용
Vertex AI Search, RAG Engine, Code Execution 등 ADK의 built-in 도구들을 적절히 조합하면 대규모 사내 문서 검색부터 특정 태스크 기반 처리까지 다양한 시나리오를 효율적으로 커버할 수 있어, 기존 RAG 파이프라인의 확장성과 유연성을 높일 수 있을 것으로 보임.
5. 확장성과 평가 체계
LangChain 호환성 및 멀티 에이전트 설계, 평가 툴킷 등을 활용하면 기존 시스템과의 연계를 유지하면서도 응답 품질과 컨텍스트 반영률을 체계적으로 검증할 수 있어, 고도화된 사내 검색 서비스 운영에 적합할 것으로 판단됨.
Note
멀티모달리티
- LLM을 비즈니스화하는 프로세스
- 생산성과 효율성 측면에 포커스 맞춰서 발전 중
ADK
- 에이전트를 쉽게 만들수 있는 패키지
- 비즈니스 로직만 포커싱해도 에이전트 생성에 부담이 없도록
크기는 크면 클수록 좋다
커질수록 점점 더 똑똑해지는 구조
기존 소프트웨어는 작고 가볍게 만드는게 중요했다면, 에이전트는 그것과 다름
monolithic하게 크게 큰 문제를 풀수있어야함
state : 단기로 사용하는변수. 한번 돌고나면 사라지는..
artifact : long-term으로 가져가야하는 파일들. 동영상, 문서 등
memorybank : 다른 task할때 붙여줄수도 있도록, chat history 를 자동으로 internal하게 compaction해서 메모리에 쌓아주는 개념
session : chat이 끝나고 나중에 이어가고 싶다거나, 내 state 변수를 기억해서 다시 사용하고 싶을때
1)in memory
2)vertex ai session service : fully 받는것
callbacks :
multi agent :
결국 콜백과 multi agent를 잘 활용해서 개발공수가 적고, edge case가 적도록 잘 설계하는게 중요한 역량!
agent/tool evaluation
: 평가 툴킷. agent 개발이 잘됐는지 평가하는 도구
"사용자가 날씨에 대해서 물어봤을때만 검색을 해주세요"
와 같이 instruction을 잘 줘야함
Lab1
위와같이 에이전트가 어떤걸 참조했는지 groundingMetadata로 뜸
거짓정보를 넣으면 위와 같이 critic 과 reviser 에이전트가 작동해서 거짓을 탐지
Lab2
ADK built-in tools
1) google search
2) code execution : 알아서 오류 히스토리 조회한 후 디버깅해서 결과 반환
3) vertex AI search : MCP와 비슷한 기능
하나하나 api로 가져와서 manual 하게 커스텀할 수도 있음
4) vertex AI RAG engine : 위 ai search는 좀 더 큰 규모에서 적용할때, 이 rag engine은 좀 더 작은 규모
5) model context protocol
ADK 3rd party tools
1) LangChain - tavilly : 기존 langchain 쓰던게 있으면 좀 더 쉽게 마이그레이션할 수 있다
ADK Function tools
Apigee
: 레거시 시스템에서도 rest api 나 json 날려서 받을수 있음
Use a LangChain Tool
위와같이 위키피디아 api를 wrapping 하면 사용 가능
CrewAI Tool 실습
아래는 AI가 만든 시
LAB 3 Multi Agent System
- root_agent는 작업들을 할당받으면, 이를 sub_agent에 위임함
사용자단에 보여주는 결과는 task를 위임받은 sub_agent가 수행한 결과임
(상위 에이전트는 실제 사용자가 응답했는지 root_agent 는 알수없음)
'AI' 카테고리의 다른 글
ICML 2025 후기 (5) | 2025.07.19 |
---|---|
[논문리뷰] UNDERSTANDING DEEP LEARNING REQUIRES RETHINKINGGENERALIZATION (0) | 2025.05.22 |
[논문리뷰] Pix2NeRF (0) | 2022.07.13 |
[논문리뷰] Image GANs meet differentiable rendering for inverse graphics and interpretable 3D neural rendering (0) | 2022.06.06 |
Reproduction 을 위한 Seed 고정 (0) | 2022.05.26 |