올해 모든 기업이 에이전트(Agent) 구축에 대해 이야기하고 있는 것처럼 보이지만, 실제로 이를 구현한 기업은 훨씬 적습니다. 에이전트가 비즈니스를 어떻게 변화시킬 수 있을지에 대해 상상의 나래를 펼치기는 쉽지만, 많은 팀이 어디서부터 시작해야 할지, 어떻게 진전을 이룰지, 그리고 기대치를 어디에 설정해야 할지 확신하지 못하고 있습니다.
이 가이드에서는 아이디어에서 영향력(Impact)으로 나아가는 프레임워크를 살펴볼 것이며, 이메일 에이전트(Email Agent)를 구축하는 실제 사례를 통해 이를 설명할 것입니다.
1단계: 예시를 통해 에이전트의 업무 정의하기
현실적이고 에이전트가 필요한 작업을 선택하세요.
똑똑한 인턴에게 가르칠 수 있는 일을 선택하십시오. 만약 당신의 가장 유능한 인턴이라도 충분한 시간과 자원이 주어졌을 때 해당 과업을 완수할 수 없다면, 그 과업은 비현실적이거나 너무 야심 차게 설정된 것일 수 있습니다. 전문가 모드(Expert mode)를 활성화하기 전에 기본기를 다질 수 있음을 먼저 증명하십시오.
먼저 해당 과업에 대한 5~10개의 구체적인 예시를 만드는 것부터 시작하세요. 이는 두 가지 목적을 가집니다:
- 첫째, 당신의 아이디어가 너무 사소하거나 모호하지 않고 범위(Scope)가 잘 설정되었는지 검증합니다.
- 둘째, 나중에 성능을 측정하기 위한 기준점(Benchmark)을 제공합니다.
예시: 이메일 에이전트(Email Agent) 구축
이 단계에서 우리는 에이전트가 처리해야 할 작업들을 정의할 것이며, 여기에는 다음과 같은 내용이 포함될 가능성이 높습니다:
- 주요 이해관계자(Stakeholders)로부터 온 긴급한 이메일의 우선순위 지정
- 캘린더 가용성을 기반으로 한 회의 일정 예약
- 스팸 또는 응답이 필요하지 않은 이메일 무시
- 회사 문서(Documentation)를 기반으로 한 제품 질문에 답변
피해야 할 위험 신호(Red flags):
- 구체적인 예시를 떠올릴 수 없다면, 범위가 너무 넓을 가능성이 높습니다.
- 전통적인 소프트웨어(Traditional software)가 더 잘 작동할 상황에서 에이전트를 사용하는 경우 (예: 로직이 단순하고 고정되어 있으며 이미 다른 곳에서 구현되어 있는 경우)
- 에이전트는 느리고 비용이 많이 들며 때로는 까다로울 수 있습니다. 전통적인 소프트웨어가 일을 완수할 수 있다면 그냥 그것을 사용하십시오!
- 존재하지 않는 마법을 기대하는 경우 (예: 존재하지 않거나 아직 구축할 수 없는 API 또는 데이터셋에 연결하는 것)
2단계: 운영 절차(Operating procedure) 설계
사람이 해당 작업이나 프로세스를 수행하는 방식에 대해 단계별 지침이 포함된 상세한 표준 운영 절차(SOP, Standard Operating Procedure)를 작성하십시오.
이 단계는 명확하고 합리적인 범위를 가진 문제를 선택했는지 확인하는 데 도움이 됩니다. 또한 에이전트가 처리해야 할 주요 단계, 결정 사항 및 도구들을 드러내어 무엇을 구축할지에 대한 기초를 마련해 줍니다.
예시: 이메일 에이전트(Email Agent) 구축
우리의 이메일 에이전트를 위한 단계별 절차는 다음과 같을 수 있습니다:
- 이메일 내용과 발신자 문맥(Context)을 분석하여 응답 우선순위 분류
- 캘린더 가용성 확인 및 화상 회의 일정 예약
- 이메일, 발신자 및 일정 문맥을 기반으로 응답 초안 작성
- 사람의 빠른 검토 및 승인 후 이메일 발송
이를 문서화하면 작업 범위가 적절하게 설정되었는지 확인할 수 있으며, 에이전트가 처리해야 할 도구와 로직을 파악할 수 있습니다.
3단계: 프롬프트(Prompt)를 활용한 MVP 구축
시작 지점을 선택하는 것이 중요합니다. 에이전트가 복잡하다면 한 번에 모든 것을 수행하려는 시도는 지나치게 야심찬 계획이 될 수 있습니다. SOP에 명시된 에이전트의 아키텍처(Architecture), 즉 흐름이 어떻게 진행될지, 어떤 결정이 필요한지, 그리고 LLM의 추론(Reasoning)이 필수적인 지점이 어디인지 설계하는 것부터 시작하십시오.
그다음, 가장 핵심적인 LLM 추론 작업(예: 분류, 의사 결정)에 집중하고 이를 잘 처리할 수 있는 프롬프트를 생성함으로써 MVP(Minimum Viable Product, 최소 기능 제품)를 구축하십시오. 대부분의 에이전트는 LLM이 해당 작업을 수행할 만큼 충분히 잘 추론하지 못하기 때문에 실패합니다. 수동으로 입력한 데이터(Hand-fed data)로 단일 프롬프트가 제대로 작동하는 것을 확인하는 것은, 전체 에이전트를 구축하기 전에 자신감을 얻는 데 도움이 됩니다. LangSmith와 같은 프롬프트 엔지니어링(Prompt engineering) 도구는 프롬프트 버전 관리부터 다양한 시나리오나 데이터셋에 대한 테스트, 그리고 반복(Iteration) 과정에서의 성능 추적에 이르기까지 이 프로세스를 효율화하는 데 도움을 줄 수 있습니다.
다음과 같이 단순하게 유지하십시오:
- 프롬프트에 필요한 모든 데이터나 컨텍스트를 수동 입력으로 시작하십시오 (지금은 자동화를 보류하십시오)
- 1단계에서 정의한 예시들을 바탕으로 테스트하여 일반적인 유스케이스 (Use cases) 전반에 걸친 성능을 검증하십시오
- LLM의 추론 (Reasoning)을 올바르게 구현하는 데 집중하십시오
예시: 이메일 에이전트 (Email Agent) 구축하기
이 단계에서는 시작 단계로서 영향력이 큰 하나의 추론 작업을 식별하고 해결합니다.
이메일 에이전트의 경우, 이메일을 긴급도와 의도(예: 회의 요청, 지원 질문)에 따라 분류하는 것에만 집중하는 것을 의미할 수 있습니다. 이는 에이전트의 나머지 부분이 의존하게 될 기초적인 단계이기 때문입니다.
다음과 같이 직접 입력한 데이터를 사용하여 오직 이 작업만을 수행하는 핵심 프롬프트 (Core prompt)를 작성하는 것부터 시작하십시오:
- 이메일 내용:
“LangChain의 제품 로드맵에 대해 다음 주에 만날 수 있을까요?” - 발신자: “Jeff Bezos”, 직함: “Amazon CEO” - 출력:
의도 (Intent) = “회의 요청 (Meeting Request)”, 긴급도 (Urgency) = “높음 (High)”
모델이 테스트 케이스 전반에서 이를 일관되게 정확히 수행하게 되면, 핵심 로직이 견고하다는 확신을 얻게 될 것이며—그 위에 구축할 강력한 토대를 갖게 될 것입니다.
4단계: 연결 및 오케스트레이션 (Connect & Orchestrate)
이제 작동하는 프롬프트가 준비되었으므로, 프롬프트를 실제 데이터 및 사용자 입력과 연결할 차례입니다.
이메일 내용, 캘린더 가용성, 제품 문서와 같이 프롬프트에 필요한 컨텍스트나 데이터가 무엇인지 식별하는 것부터 시작하여, 이를 프로그래밍 방식으로(예: API, 데이터베이스 또는 파일 시스템을 통해) 어떻게 액세스할지 계획하십시오.
그런 다음, 적절한 데이터를 프롬프트에 연결하는 오케스트레이션 (Orchestration) 로직을 작성하십시오. 단순한 경우에는 단순히 입력을 직접 전달하는 것을 의미할 수 있습니다. 더 복잡한 워크플로우 (Workflows)의 경우, LLM에 프롬프트를 전달하기 전에 어떤 데이터 소스를 쿼리할지, 언제 호출할지, 그리고 출력값을 어떻게 결합할지를 결정하는 에이전트적 로직 (Agentic logic)이 필요할 수 있습니다.
예시: 이메일 에이전트 (Email Agent) 구축하기
이메일 에이전트의 경우, 이 단계에는 Gmail API (수신 이메일 읽기), Google Calendar API (가용성 확인), 그리고 CRM 또는 연락처 데이터베이스 (발신자 컨텍스트 보강)와의 통합이 포함될 수 있습니다.
그런 다음 다음과 같은 오케스트레이션 (Orchestration) 로직을 구축합니다:
- 새로운 이메일이 에이전트 (Agent)를 트리거함
- 에이전트가 CRM에서 또는 웹 검색을 통해 발신자 정보를 가져옴
- 긴급도와 응답 필요 여부를 결정하기 위해 전체 컨텍스트 (Context)를 프롬프트 (Prompt)에 전달함
- 미팅이 적절하다고 판단되면, 캘린더 가용성을 확인하고 시간을 제안함
- 에이전트가 응답 초안을 작성함
- 사람의 검토를 거친 후, 이메일을 발송함
5단계: 테스트 및 반복 (Test & Iterate)
1단계에서 정의한 예시들을 사용하여 **수동 테스트 (Manually testing)**를 시작하십시오. 목표는 에이전트가 핵심 유스케이스 (Use cases)에 대해 합리적이고 정확한 출력을 생성하는지 확인하는 것입니다. 시스템에 여러 번의 LLM 호출이나 단계가 포함되어 있다면, LangSmith와 같은 도구를 사용하여 트레이싱 (Tracing)을 설정함으로써 흐름을 시각화하고 각 단계에서 결정이 어떻게 내려지는지 디버깅하는 것이 도움이 됩니다.
수동 테스트가 안정화되면, 일관성을 보장하고 엣지 케이스 (Edge cases)를 포착하기 위해 자동화된 테스트 (Automated testing)로 확장하십시오. 팀들은 에이전트의 강점과 약점을 더 잘 파악하기 위해 예시를 수십 개 정도로 늘리곤 합니다. 이는 더 많은 복잡성을 추가하기 전에 성능을 정량화하는 데에도 도움이 됩니다.
- 모든 예시(기존 + 신규)를 에이전트를 통해 프로그래밍 방식으로 실행
- 자동화된 성공 지표 (Success metrics)를 정의 — 이는 에이전트의 기대 동작에 대한 명확성을 강제합니다
- 지표가 놓칠 수 있는 문제를 포착하기 위해 사람의 검토를 선택적으로 사용
예시: 이메일 에이전트 구축하기
이메일 에이전트의 경우, 다음과 같은 몇 가지 핵심 영역에 걸쳐 성공 여부를 정의하고 테스트해야 합니다.
톤 (Tone) 및 안전성: 응답은 전문적이고 정중해야 하며, 환각 (Hallucination) 또는 부적절한 콘텐츠가 없어야 함
의도 및 우선순위 탐지 (Intent & Priority Detection): 이메일은 발신자와 내용에 따라 올바르게 분류되고 우선순위가 지정되어야 함
도구 사용 효율성 (Tool Usage Efficiency): 에이전트는 필요한 도구만 트리거해야 함 (예: 일정 예약이 필요하지 않은 경우 캘린더 확인을 피함)
초안 품질 (Draft Quality): 제안된 답장은 입력된 컨텍스트를 바탕으로 명확하고 관련성이 있으며 정확해야 함
6단계: 배포, 확장 및 개선 (Deploy, Scale, and Refine)
MVP(Minimum Viable Product, 최소 기능 제품)가 안정적으로 작동하기 시작하면, 새로운 기능 추가, 더 넓은 활용 사례(Use Case), 또는 멀티 에이전트 워크플로우(Multi-agent workflows)를 도입하여 범위를 확장하기 시작하십시오. 새로운 기능이나 통합(Integration)을 추가할 때마다, 기존 기능이 망가지지 않도록 5단계의 테스트 프로세스를 반복해야 합니다.
준비가 되면 사용자의 손에 전달될 수 있도록 프로덕션(Production) 환경에 배포하십시오. LangGraph Platform을 사용하면 클릭 한 번으로 에이전트를 빠르게 출시(Ship), 확장(Scale) 및 관리할 수 있습니다.
사람들이 실제로 에이전트를 어떻게 사용하는지 모니터링하십시오. LangSmith와 같은 도구를 사용하면 에이전트의 동작을 실시간으로 추적(Trace)할 수 있어, 비용 급증, 정확도 문제 또는 지연 시간(Latency) 문제를 더 쉽게 발견할 수 있습니다. 실제 사용 사례는 초기 가설과 다른 경우가 많으며, 이러한 통찰(Insight)은 격차를 드러내고, 예상치 못한 요구사항을 표면화하며, 다음 반복(Iteration) 단계에서의 우선순위 설정을 안내할 수 있습니다.
핵심은 출시를 개발의 끝이 아닌, 반복(Iteration)의 시작으로 취급하는 것입니다.
예시: 이메일 에이전트(Email Agent) 구축하기
이메일 에이전트를 배포한 후, 트래픽과 일반적인 사용 사례를 모니터링함으로써 아직 다루지 않은 활용 사례를 발견할 수 있습니다.
이러한 새로운 패턴은 범위를 확장할 기회를 시사합니다. 이를 바탕으로 새로운 통합 기능을 반복적으로 추가하고 프롬프트(Prompt)와 오케스트레이션(Orchestration) 로직을 업데이트할 수 있습니다. 이때 항상 추가 사항을 더 확장하기 전에 테스트와 사용자 피드백을 통해 검증해야 합니다.
결론
이 프로세스는 명확한 활용 사례에 기반하고, 실제 예시를 통해 테스트되었으며, 실제 피드백을 통해 형성된 에이전트를 구축할 수 있도록 설계되었습니다. 이는 단순히 에이전트를 실행시키는 것이 목적이 아니라, 유용하고 신뢰할 수 있으며 사람들이 실제로 일하는 방식에 부합하는 무언가를 만드는 것에 관한 것입니다.
이메일 분류(Triage)를 자동화하든 복잡한 워크플로우를 오케스트레이션하든, 이 6단계는 아이디어에서 영향력(Impact)으로 나아가는 실질적인 경로를 제공합니다. 하지만 작업은 배포에서 끝나지 않습니다. 최고의 에이전트는 반복(Iteration)을 통해 구축됩니다.
그러므로 작게 시작하고, 사용자에게 집중하며, 계속해서 개선해 나가십시오.