본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 05. 00:36

【제8회】Microsoft Agent Framework으로 배우는 AI 에이전트 설계 원칙: 모든 Agent에게 모든 도구를 주는 것을 그만두기

요약

AI 에이전트 설계 시 보안과 안정성을 위해 최소 권한 원칙(PoLP)을 적용하는 방법을 다룹니다. 모든 에이전트에게 모든 도구를 부여하는 대신, 각 에이전트의 역할에 꼭 필요한 도구만 할당하여 리스크를 최소화하는 설계 방식을 제안합니다.

핵심 포인트

  • 최소 권한 원칙(PoLP)을 AI 에이전트 설계에 적용하여 보안 리스크 감소
  • 에이전트의 공정 책무에 따라 읽기/쓰기/송신 권한을 분리하여 할당
  • 불필요한 도구 제거를 통해 인젝션 공격 등의 부작용 방지
  • Agent Framework의 tools 파라미터를 활용한 정밀한 도구 제어

서론

AI 에이전트에게 "도구 (Tool)"를 부여하면, LLM이 자율적으로 해당 도구를 호출할 수 있게 됩니다.

도구가 편리하다고 해서 모든 Agent에게 모든 도구를 전달하는 것은 위험합니다.

제8회의 테마는 최소 권한 원칙 (PoLP: Principle of Least Privilege) 입니다.

잘못된 코드: 모든 Agent에게 모든 도구를 전달하기

고객 지원 시스템을 예로 들어 생각해보겠습니다. 사용 가능한 도구로는 웹 검색, 메일 전송, 티켓 생성, 계정 조회 등이 있습니다.

import asyncio
from agent_framework.openai import OpenAIChatClient
from agent_framework.orchestrations import SequentialBuilder
...

"작동은" 하지만, 여기에는 심각한 리스크가 있습니다.

무엇이 문제인가: 최소 권한 원칙 위반

최소 권한 원칙 (PoLP: Principle of Least Privilege) 은 "처리에 필요한 최소한의 권한만 부여해야 한다"는 원칙입니다. 보안 설계의 기본이며, AI 에이전트에도 그대로 적용할 수 있습니다.

Agent Framework에서의 해결책: Agent마다 필요 최소한의 도구를 할당하기

각 Agent에는 해당 공정에 필요한 도구만을 전달합니다. Agent Framework에서는 client.as_agent()tools 파라미터를 통해 Agent마다 도구 세트를 제어할 수 있습니다.

개선 후의 코드

도구 함수의 정의는 개선 전과 동일합니다. 바뀌는 것은 main()의 도구 할당 부분뿐입니다.

async def main():
client = OpenAIChatClient()
# 각 Agent에는 필요한 도구만 전달한다
...

무엇이 개선되었는가

관점❌️ 개선 전⭕️ 개선 후
각 Agent의 권한모든 도구를 보유공정에 필요한 도구만 보유
...

최소 권한 할당의 사고방식

도구를 할당할 때는 다음 순서로 생각합니다.

  • 이 공정은 무엇을 하는가?: "조사"라면 읽기 계열만. "통지"라면 송신 계열만. 공정의 책무로부터 도구를 도출한다.
  • 쓰기·송신·삭제를 동반하는가?: 외부 상태를 변경하는 도구(메일 전송, DB 쓰기, 티켓 생성 등)는 특히 신중하게. 정말로 그 Agent가 가져야 할 것인지 자문한다.
  • 필요한 도구를 늘리는 것이 아니라, 불필요한 도구를 제거한다: 도구는 "주는 것"이 아니라 "일부러 주지 않는 것"이라는 발상으로 설계한다.

요약

  • 모든 Agent에게 모든 도구를 전달하는 것은 최소 권한 원칙에 위반되며, 의도하지 않은 부작용과 인젝션 공격 (Injection Attack)의 피해 확대를 초래한다.
  • Agent Framework에서는 tools 파라미터로 Agent마다 도구 세트를 제어하여, 각 공정이 "정말로 필요한 도구만" 가지도록 설계할 수 있다.
  • "도구는 늘리는 것"이 아니라 "불필요한 것을 전달하지 않는다"는 관점으로 설계한다.

다음 회차에서는 "멀티 턴 대화에서 문맥이 사라지고, 동시에 무한히 팽창하는" 문제와 AgentSession · CompactionProvider를 해설합니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0