3 분 소요

오늘은 유투브 알고리즘이 추천한 AI Engineer 채널에서 앤트로픽의 배리 장(Barry Zhang)이 발표한「효과적인 AI 에이전트를 어떻게 만드는가?」를 응용AI 관점에서 정리해 보겠다. 작년 2월에 뉴욕 타임스 센터에서 열린 AI Engineer Summit 2025의 ‘Agent Engineering Session Day’에서 발표내용이다. 당시 서밋 전체 주제도 ‘Agents at Work’였으며, 단순한 에이전트 데모보다는 실제 프로덕션에서 에이전트를 어떻게 안정적으로 운영할 것인가에 초점을 맞춘 행사였다. 배리장은 AI 에이전트를 실제 제품에 적용하면서 얻은 경험 발표했다.

Anthropic

배리 장은 당시 앤트로픽 Applied AI 팀의 Member of Technical Staff로 기업과 스타트업이 에이전트 시스템을 실제 서비스에 적용하는 일을 담당했다. 그전에는 메타에서 생성형 AI 수익화 팀의 테크 리드로 일했으며, 노스웨스턴대학교에서 컴퓨터과학과 산업공학을 공부했다고 한다. 발표 마지막에는 2023년 메타에서 AI 제품을 만들던 시절 자신의 직함을 ‘AI Engineer’라고 부르기 시작했던 경험도 소개하고 연구 자체보다 AI를 실제로 유용하게 만드는 엔지니어링에 관심을 가졌다고 한다.


1. 배경: 단순 기능에서 워크플로우, 그리고 에이전트로

  • 초기 단계: 요약, 분류, 추출 등 단일 모델 호출로 끝나는 단순 기능. 복잡한 프레임워크보다 단순하고 조합 가능한 패턴이 실제로 더 성공적인 경우가 많았다.
  • 워크플로우(Workflows):
    • 사람이 미리 정해놓은 코드 경로에 따라 LLM과 도구가 실행되는 방식
    • 미리 정의된 제어 흐름 안에서 여러 번의 모델 호출을 조율하는 방식
    • 비용과 지연 시간을 늘리는 대신 성능과 결정론적 제어력을 높여 준다.
  • 에이전트(Agents):
    • 모델의 추론 능력과 도구 사용 능력이 높아지면서 에이전트가 자신의 행동 경로를 스스로 결정하는 단계로 넘어감
    • LLM이 상황에 따라 스스로 다음 단계와 도구 사용 방법을 결정하는 방식
    • 환경 피드백을 바탕으로 스스로 경로를 결정하고 자율적으로 동작하는 시스템
    • 에이전트의 자율성이 높아질수록 유용해지지만, 비용·지연 시간·에러의 위험성도 함께 커진다.

2. 핵심 원칙 1: 모든 것에 에이전트를 만들지 마라!

  • 에이전트는 복잡하고 가치가 높은 작업을 확장하기 위한 수단이지 모든 기능을 대체하는 마법이 아님
  • 에이전트 도입 전 체크리스트

    • 작업의 복잡성: 모호한 문제 영역. 전체 의사결정 트리를 쉽게 그릴 수 있다면, 에이전트 대신 명시적인 워크플로우를 구성하는 것이 훨씬 저렴하고 통제하기 쉽다.
    • 작업의 가치: 에이전트의 탐색 과정은 토큰 비용을 많이 소모하므로, 그만한 경제적 가치가 있어야 함. 예산이 건당 10센트 수준인 대량 고객 지원 같은 업무는 워크플로우가 적합함.
    • 핵심 역량의 위험 완화(Derisking): 에이전트 경로에 치명적인 병목이 없어야 함. 병목이 있다면 태스크 범위를 좁히고 단순화해야 함.
    • 오류 비용 및 오류 발견성: 오류의 위험이 너무 높고 발견하기 어렵다면 자율성을 부여하기 어려움.
  • 코딩이 이상적인 에이전트 사례인 이유: 작업이 모호하고 복잡하며, 산출물의 가치가 높고, 단위 테스트와 CI를 통해 오류를 쉽게 검증할 수 있기 때문

3. 핵심 원칙 2: 최대한 단순하게 유지하라!

  • 에이전트의 본질은 루프(반복문) 안에서 도구를 사용하는 모델 ```python env = Environment() tools = Tools(env) system_prompt = “Goals, constraints, and how to act”

while True: action = llm.run(system_prompt + env.state) env.state = tools.run(action) ```

  • 에이전트를 구성하는 3가지 기본 요소:

    • 환경(Environment): 에이전트가 동작하는 시스템
    • 도구(Tools): 액션을 취하고 피드백을 받는 인터페이스
    • 시스템 프롬프트(System Prompt): 목표, 제약, 이상적인 행동 정의
  • 초기부터 복잡한 프레임워크나 오케스트레이션을 얹으면 이터레이션 속도가 급감함. 이 3가지 기본 요소만으로 먼저 동작을 완성한 후, 캐싱이나 병렬화 같은 최적화를 진행해야 함


4. 핵심 원칙 3: 에이전트의 관점에서 생각하라!

  • 개발자 관점에서 보면 당연해 보이는 문제도 에이전트 관점에서는 불가능에 가까울 수 있다.
    • 컨텍스트 창의 한계: 에이전트는 복잡해 보이지만, 결국 주어진 10k~20k 토큰 안의 정보만 보고 추론을 수행한다.
    • 컴퓨터 사용(Computer Use) 비유: 에이전트는 정적인 스크린샷 하나를 보고 클릭한 뒤, 모델 추론과 도구 실행이 끝날 때까지 3~5초간 눈을 감고 있는 것과 같다. 눈을 떴을 때 의도대로 작동했는지, 아니면 컴퓨터가 꺼졌는지 알 수 없는 상황에 놓인다.
    • 개선 방법: 화면 해상도, 추천 액션, 명확한 제약 사항 등을 컨텍스트로 제공해야 한다. 또한 모델에게 직접 시스템 프롬프트나 툴 설명을 보여주며 모호한 점이 있는지 묻거나, 에이전트의 실행 기록(Trajectory)을 넣어 판단 이유를 피드백받는 방식을 추천함
    • 클로드가 이해할 수 있도록 클로드에게 요청 1) Is any instruction ambiguous? (system prompt) 2) Do you know how to use this? (tool description) 3) Why did you make that choice? (trajectories)

5. 향후 전망 및 과제

  • 예산 인식(Budget-aware) 에이전트: 비용, 지연 시간, 토큰 사용량을 스스로 인지하고 제한 내에서 동작하도록 강제하는 메커니즘이 필요함
  • 자기 진화 도구 (Self-evolving Tools): 에이전트가 메타 툴을 사용해 직접 툴의 설명과 사용성을 설계하고 개선해 나가는 방식
  • 멀티 에이전트 협업: 컨텍스트 창 보호와 관심사 분리를 위해 서브 에이전트 협업이 활성화될 것이며, 비동기 통신과 역할 정의 방식이 주요 과제가 될 것임

참고 자료

댓글남기기