SOLID 원칙: AI Agent 개발자에게 필요한 것들

디자인 패턴이 “어떻게”라면, SOLID는 “왜 그렇게 해야 하는가”다. 5개 전부 필수. 서로 연결되어 있어서 하나만 빼기 어렵다.


5가지 원칙

원칙정식 명칭한 줄 설명AI Agent에서 언제?
[[SRP (단일 책임 원칙)|SRP]]Single Responsibility하나의 클래스는 하나의 책임만Agent, Tool, Prompt, Memory 각각 역할 분리. 하나의 클래스가 LLM 호출 + DB 저장 + 로깅을 다 하면 안 됨
[[OCP (개방 폐쇄 원칙)|OCP]]Open-Closed확장에는 열려있고, 수정에는 닫혀있어야 함새 LLM 추가할 때 기존 코드 안 건드리고 클래스 하나만 추가
LSPLiskov Substitution하위 클래스는 상위 클래스를 대체할 수 있어야 함OpenAIAgent를 ClaudeAgent로 바꿔도 시스템이 똑같이 동작해야 함
[[역할별 인터페이스 분리(SOLID ISP)|ISP]]Interface Segregation인터페이스를 작게 쪼개라Agent에게 불필요한 메서드 강제하지 않기. “검색만 하는 Agent”에 generate() 메서드 강제 X
DIPDependency Inversion구체 클래스가 아니라 추상에 의존해라agent.llm = OpenAI()가 아니라 agent.llm: LLMInterface로 선언

원칙 간 연결 관계

  • Strategy 패턴 = OCP + DIP + LSP를 동시에 지키는 구현 방법
  • Factory 패턴 = DIP를 지키면서 객체를 생성하는 방법
  • Decorator 패턴 = OCP + SRP를 지키면서 기능을 추가하는 방법
  • Adapter 패턴 = LSP + DIP를 지키면서 인터페이스를 통일하는 방법

→ 디자인 패턴이 “왜 이렇게 생겼는지”는 전부 SOLID로 설명된다.


원칙별 심화 노트

전체 정리

  • SOLID원칙: 5원칙 전체 개요와 AI Agent 체크리스트