[세미나 후기] 왜 AI Agent 에 프롬프트 엔지니어링이 필요한 것인가? By OnlineAI CTO 전현준님
Sujin_Kang
[세미나 후기] 왜 AI Agent 에 프롬프트 엔지니어링이 필요한 것인가? By OnlineAI CTO 전현준님
부제: 이미 AI Agent 도 만들줄 아는 내가 프롬프트 엔지니어링 수업을 비싼 시간과 돈을 내고 듣고 있는 이유
지난 패스트캠퍼스 엔지니어를 위한 프롬프트 엔지니어링 수업 3기 2주차에, 현준님께서 소중한 지식 나눔을 해주셨습니다. 주제는 AI Agent 와 Langraphp 입니다. 현준님의 세미나를 듣고 이해한 것을 제 색깔로 정리한 글입니다.
한 줄 정리: 왜 프롬프트 엔지니어링이 필요한가? – AI Agent와 LangGraph, 그리고 스마트한 개발을 위한 필수 요소
현준님의 세미나 내용 핵심 정리
“왜 프롬프트 엔지니어링이 필요한가?” – 단순히 LLM을 호출해 답변을 얻어내는 수준을 넘어, 목표 지향적인 AI Agent를 만들려면 정교한 설계와 지시가 필요하기 때문입니다. 그 중심에 있는 것이 프롬프트 엔지니어링이며, 이를 보조·확장해줄 수 있는 툴이 LangGraph입니다.
프롬프트 엔지니어링을 제대로 이해하면
AI Agent의 ‘사고 과정’을 구체화하고, 도구 활용 시나리오를 명시하며, 유연한 모듈화와 예외처리까지 고려할 수 있습니다. 앞으로 프롬프트 엔지니어링의 역할은 더욱 커질 것으로 전망됩니다.
모델의 성능 향상도 중요하지만, 어떻게 질문과 지시를 내리느냐가 진짜 “스마트한 AI 서비스”를 만드는 핵심이기 때문입니다.
현준님의 세미나를 듣고 알게 된 것
기초 개념이 없이 쓰던 LangGraph 에 대한 근본적인 이해와, 프롬프트 엔지니어링 관련 연관성을 명확하게 이해할 수 있었습니다.
최근 ChatGPT를 비롯해 다양한 언어 모델(LLM, Large Language Model)들이 공개되고, 이를 활용해 여러 가지 AI 애플리케이션을 만드는 사례가 급증하고 있습니다. 그런데 단순히 “모델(LLM)”만 구동한다고 해서 자동으로 똑똑한 AI 서비스가 되지는 않습니다.
현준님의 세미나는 “왜 프롬프트 엔지니어링이 필요한가?” 라는 물음에서 출발해, ‘AI Agent’라는 개념과 이를 최적화하는 과정에서 프롬프트 엔지니어링이 핵심적으로 작동하는 이유를 살펴봅니다. 특히 세미나에서 현준님께서 다룬 LangGraph 라는 프레임워크와 함께, AI Agent를 구성하는 핵심 요소(계획, 행동, 기억)를 어떻게 활용해야 하는지 간략히 소개합니다.
AI Agent란 무엇인가?
“Agent = 목표 달성을 위해 스스로 생각 + 계획 + 행동하는 AI 기반 프로그램” 여기서 말하는 Agent는, 사람이 직접 세세한 명령을 하지 않아도 주어진 목표를 향해 필요한 일을 스스로 결정하고 실행하는 프로그램을 의미합니다.
1.
스스로 주변 환경을 관찰한다. 예: 유저가 제공한 맥락, 추가로 주어지는 데이터 등을 “자연어”로 이해.
2.
행동(Action)으로 이어질 수 있는 도구(Tool)를 활용할 시점과 방법을 결정한다.
3.
사람처럼 생각(Reasoning)하고 결정한다. 이를 위해 체계적으로 CoT(Chain of Thought), ToT(Tree of Thought) 등의 기법을 적용.
4.
계획(Planning) + 기억(Memory)를 가지고 움직인다. 목표 달성에 필요한 단기 기억과 장기 기억 체계를 설계해, 이전 대화나 처리 결과를 반영. 즉, ‘AI Agent’는 단순히 질문에 답하는 모델과 달리, 주변 정보를 받아 해석하고, 여러 도구를 선택해 실행하며, 필요한 경우 상태나 문맥을 저장해 반복적으로 개선할 수 있는 구조를 지닙니다.
프롬프트 엔지니어링이 필요한 이유
“AI Agent가 있다면, 우리가 굳이 프롬프트 엔지니어링을 배울 필요가 있을까?” 라는 의문이 생길 수 있습니다. 하지만, AI Agent를 제대로 동작시키기 위해서는, 그 기반인 LLM이 무엇을, 어떤 맥락으로 받아들여야 하는지를 명확히 알려주는 프롬프트가 필요합니다.
→ 스스로 주변환경을 관찰하도록 만들기
유저가 단편적인 맥락만 전달했을 때도, 모델이 추가로 필요한 정보를 물어보거나 부족한 맥락을 추론하게끔 디자인. 즉, “어떤 정보를 추가로 요청해야 하는가?”를 사전에 프롬프트로 정교하게 안내해야 합니다.
→도구를 언제, 어떻게 활용할지를 결정
예를 들어 “검색 도구”, “DB 조회”, “계산기” 등 다양한 도구가 있다고 가정했을 때, 어떤 상황에서 어떤 도구가 최적이며 어떻게 호출하면 되는지를 가르쳐주는 프롬프트가 필요합니다.
→ 스스로 생각(Reasoning)할 수 있게 하는 기법
“Chain of Thought(CoT)”, “Tree of Thought(ToT)” 등 사람의 사고과정을 단계별로 모사하기 위해, 모델이 “생각을 전개”할 수 있는 힌트를 미리 심어둡니다. 무작정 답만 요구하는 것보다, 한 단계씩 생각하게 만드는 프롬프트 설계가 훨씬 더 정확도와 일관성을 높여줍니다.
→ 추상적인 요구사항이나 사람의 의도 파악
사람들은 구체적으로 지시하지 않고도 모델이 알아서 “의도”를 추론해주길 바랍니다. 이를 위해 “목표 설정 → 정보 확보 → 의도 재확인” 과정을 모델이 수행할 수 있게, 프롬프트에 관련 맥락이나 구체화 단계를 포함시켜야 합니다.
→ 계획(Planning)과 기억(Memory)의 설계
단기/장기 기억이 필요한 상황을 구분하고, 어느 정도의 정보를 어느 타이밍에 기록·재활용할지 결정해야 합니다. 이 또한 LLM이 임의로 착각하거나 필요한 부분을 간과하지 않도록, 세밀한 지시(프롬프트)가 필수입니다.
LangGraph가 제시하는 구조화 방식
LangGraph라는 프레임워크를 소개합니다. 이는 Graph(네트워크) 구조로 AI 프로세스를 모듈화하고, 다양한 단계(상태, State)와 그 사이 흐름(Edge)을 DAG(방향성 비순환 그래프) 형태로 표현합니다.
Graph 구조
시작점(START)과 끝점(END)이 분명한 DAG 구조를 통해, 복잡한 로직을 시각적으로 설계하고 추적 가능하게 만듭니다.
상태(State) 관리
•
특정 시점(T)에서의 “State”를 정의해, 그 시점에서 AI 에이전트가 어떤 정보를 갖고 있는지를 명시합니다. 예: State1 → State2 → State3 … 각 단계에서 모델이 무엇을 인지하고, 어떤 연산을 실행하는지 흐름을 확인하기 쉽습니다.
Human-in-the-loop
‘중간에 사람이 개입(Interrupt)할 수 있는 구조’를 기본으로 제공. 모델이 Hallucination(사실과 다른 답변)을 하거나, 윤리적으로 부적절한 답을 생성할 때, 사람이 개입해 수정·재확인할 수 있게 만듭니다.
실제 적용 시 고민해야 할 질문들
프롬프트 엔지니어링 전부를 에이전트가 자동화할 수 있을까? 일부 과정은 자동화가 가능하지만, 특히 예외 상황 대응이나 새로운 요구사항 반영 등은 사람이 개입해 판단해야 하는 부분이 많습니다. - AI Agent 장애 발생 시 대처 모델이 원하는 정보를 제대로 못 받거나 외부 도구 연동에 실패했을 때의 예외처리와 모니터링 로직을 어떻게 넣을지 미리 생각해야 합니다. - 업데이트나 모델 버전 변경 모델이 버전업 되면서 인식 능력, 메모리 한도 등 사양이 달라질 수 있으므로, 프롬프트나 LangGraph의 노드(상태)별 설정을 주기적으로 점검해야 합니다.