
제6편: 선언형 Agent
요약
Microsoft Agent Framework를 활용한 선언형 Agent 구현 방법을 소개합니다. YAML 설정을 통해 에이전트의 역할, 규칙, 출력 형식을 정의함으로써 코드 수정 없이도 에이전트의 동작을 유연하게 관리할 수 있습니다.
핵심 포인트
- YAML 설정을 통한 에이전트의 역할 및 동작 규칙 선언
- 프롬프트 엔지니어링과 애플리케이션 코드를 분리하여 관리 가능
- 코드 변경 없이 설정 파일 수정만으로 에이전트 인격 및 규칙 변경 가능
- 다국어 지원 및 구조화된 응답 생성을 위한 실용적인 구현 방식
최근 AI Agent를 다루면서 Microsoft Agent Framework의 「선언형 Agent (Declarative Agent)」를 시도해 보았는데, 상당히 실용적이라고 느꼈습니다. 특히 팀 협업에 적합합니다.
이하는 완전한 코드입니다. 그대로 참고할 수 있습니다.
using Azure.AI.OpenAI;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
...
csproj 파일은 다음과 같습니다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
...
먼저 효과를 보는 것이 직관적입니다. 저는 간단한 다국어 고객 지원 어시스턴트(Customer Support Assistant)를 만들었습니다. 입력하는 것은 단 한 문장뿐이며, 예를 들어 "중국어로, 왜 제가 주문한 상품이 아직 도착하지 않았는지 답변해 주세요."입니다.
돌아오는 것은 단순한 텍스트가 아니라 언어, 문제의 종류(주문), 감정, 그리고 전문적인 고객 지원 답변과 같은 구조화된 결과입니다.
다른 문장으로 바꾸어 "일본어로 답변해 주세요. 제 반품은 언제 처리되나요?"라고 하면,
일본어로 스트리밍 출력(Streaming Output)되며, 생성하면서 표시됩니다. 대화 화면을 만드는 데 매우 적합합니다.
중요한 점은, 이 Agent의 능력은 대량의 업무 코드를 작성하여 실현하는 것이 아니라, YAML의 한 단락 정의로 만들어져 있다는 것입니다. 역할, 동작 규칙, 모델 파라미터(Model Parameter), 나아가 출력 형식까지 모두 「선언(Declaration)」되어 있습니다.
보시다시피 코드 자체는 상당히 얇으며, 핵심 로직은 그 YAML 안에 있습니다.
이것이 선언형 Agent의 가장 흥미로운 부분이기도 합니다.
Prompt를 코드에 고정하여 작성할 필요가 없어지며, Agent의 「인격, 규칙, 출력」을 모두 설정화할 수 있습니다. 말투를 바꾸고 싶거나, 규칙을 바꾸고 싶거나, 필드를 추가하고 싶은 경우에도 YAML을 직접 수정하면 될 뿐, 코드를 변경하여 릴리스할 필요가 없습니다.
쉽게 말하자면, 「Prompt를 작성하는」 작업을 엔지니어링 코드로부터 분리하여, 팀에서 공동 관리할 수 있는 설정 파일로 만들었다는 뜻입니다.
AI 애플리케이션을 만들고 있다면, 이 방법은 정말 시도해 볼 가치가 있습니다.
(Translated by GPT)
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기