반응형

Refactoring 2

7. 에이전트 확장성 확보: 멀티 프로바이더(Multi-Provider) 지원 구조 설계

저번 6편 글에서는 단일 파일이었던 에이전트 루프 코드를 모듈화하는 리팩터링을 진행했다. 리팩터링을 진행한 가장 중요한 이유 중 하나는 바로 멀티 프로바이더(Multi-Provider) 지원 구조를 갖추기 위해서이다.에이전트를 서비스나 환경에 맞게 운용하려면 Claude뿐만 아니라 OpenAI의 GPT 모델, 혹은 가성비가 훌륭한 DeepSeek 등 다양한 LLM을 코드 수정 없이 자유롭게 스왑할 수 있어야 한다. 프로바이더마다 도구 스펙 포맷, 응답 구조, 메시지 히스토리(특히 Assistant 턴과 Tool Result)를 기록하는 방식이 전부 제각각이다.이 다른 규격들을 하나의 뼈대로 일관되게 다루기 위해 설계한 실제 멀티 프로바이더 연동 구조를 살펴보자. 1. 프로바이더 추상 클래스 설계 (bas..

AI 2026.07.26

6. 에이전트 코드 리팩터링: 계층 분리와 이벤트 기반 루프

저번에 5편 글에서는 파이썬(Python)으로 병렬 도구 호출(Parallel Tool Use)을 어떻게 처리하는지 알아보았다. 하지만 loop.py 한 파일에 API 호출, 도구 정의, 루프 처리, 터미널 출력까지 다 때려박아 놔서 코드가 점점 복잡해지고 있었다..이제 진짜 언리얼 엔진 연동이나 더 많은 도구들을 붙이려면 깔끔하게 리팩터링해야 한다. 그래서 이번에는 코드를 LLM 프로바이더, 도구 레지스트리, 이벤트 기반 루프, UI 진입점으로 역할을 나누고 완전히 쪼개보았다. 1. 변경된 폴더 구조역할 분담에 맞춰 파일을 다음과 같이 정리했다. agent/├── llm/│ ├── __init__.py│ ├── base.py│ └── claude.py├── tools/│ ├── __ini..

AI 2026.07.25
반응형