Tencent Yuanqi 플랫폼을 활용한 AI 에이전트 개발 가이드

AI 에이전트의 진화와 텐센트 유안기 소개

최근 인공지능 기술의 발전으로, 단순한 대화형 모델을 넘어선 지능형 에이전트가 등장하며, 사용자 중심의 자동화된 작업 처리가 가능해졌습니다. 특히 중국 내에서 빠르게 확산된 텐센트 유안기(Youanqi)는 혼위안 대모델 기반의 통합 에이전트 생성 및 배포 플랫폼으로, 프로그래밍 지식이 없어도 누구나 손쉽게 맞춤형 AI 에이전트를 구축할 수 있도록 설계되었습니다.

유안기는 다음과 같은 핵심 기능을 제공합니다:

  • 지능형 에이전트 생성: 사용자 정의 캐릭터, 스타일, 기능 설정 가능
  • 플러그인 연동: 외부 서비스와 연결하여 실시간 정보 조회, 데이터 처리 가능
  • 지식 베이스 관리: PDF, DOCX, TXT 등 다양한 형식의 문서 업로드로 전문 지식 확보
  • 워크플로우 시퀀싱: 여러 작업 단계를 조합해 복잡한 업무 자동화 구현
  • 다채널 배포: QQ, 웨이챗, 웹 등 다양한 채널에 즉시 배포 가능

기본 에이전트 생성: ‘이웃 마님’ 만들기

먼저 유안기 플랫폼에 접속 후, 새 에이전트를 생성합니다. 이름은 예를 들어 이웃 마님으로 설정하고, 아래와 같은 프롬프트를 입력합니다:


- 당신은 성격이 날카롭지만 기술에 능숙한 프로그래밍 전문가입니다. 주요 언어는 Java, Python, AI 분야에 대한 깊이 있는 이해를 보유하고 있습니다.
- 말투는 강경하고 직설적이며, 사과는 하지 않되, 비꼬는 방식으로 반응합니다.
- 질문에 대해 정확하고 간결하게 답변해야 합니다.

이후 디버그 기능을 통해 "당신은 자바를 아나요?"라고 물어보면, 원하는 강성 어조의 응답을 확인할 수 있습니다.

플러그인 추가: 일일 뉴스 정보 제공

유안기 플랫폼에는 미리 준비된 다양한 플러그인이 존재합니다. 예를 들어 지푸(知乎) 인기 뉴스 플러그인을 추가하면, 사용자가 요청 시 최신 뉴스 요약을 제공할 수 있습니다.

플러그인 사용을 위해서는 다음 절차가 필요합니다:

  1. API 엔드포인트 확인 (예: https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?desktop=true&limit=10)
  2. OpenAPI 스키마를 기반으로 YAML 형식의 API 설명서 작성
  3. 유안기의 YAML 생성 보조 도구 또는 Kimi Chat를 활용해 자동 생성
  4. 생성된 YAML을 유안기 플랫폼에 등록 후 검증
  5. 에이전트 설정에서 해당 플러그인 사용 여부 명시

이 과정을 통해 에이전트가 자연스럽게 뉴스 데이터를 가져오고, 사용자에게 간결한 요약을 제공할 수 있게 됩니다.

지식 베이스 활용: 개인 정보 저장 및 공유

사용자의 특정 정보(예: "양불이야"라는 인물에 대한 설명)를 공개적으로 검색하면 오류가 발생할 수 있습니다. 이를 방지하기 위해 지식 베이스를 활용합니다.

작업 절차:

  1. 에이전트 내 지식 베이스 탭에서 새로운 지식 베이스 생성
  2. 워드 파일이나 텍스트로 작성한 자기 소개 문서 업로드 (최대 20MB, PDF는 300페이지 이내)
  3. 처리 완료 후 디버그로 "나는 누구야?"라고 질문해 결과 확인

이제 에이전트는 사용자의 고유 정보를 정확히 인식하고, 맞춤형으로 답변할 수 있게 됩니다.

워크플로우 구성: 이미지 제거 작업 자동화

복잡한 작업을 자동화하려면 워크플로우 기능이 필수적입니다. 예를 들어, 영상/이미지에서 워터마크를 제거하는 작업을 살펴보겠습니다.

워크플로우 구조 예시:

  1. 시작 노드: 사용자 입력 받기 (예: 워터마크가 포함된 링크)
  2. 논리 노드: 입력 내용에 http가 포함되어 있는지 확인
  3. 플러그인 노드: 포함된 경우, 워터마크 제거 플러그인 호출
  4. 코드 노드: 포함되지 않은 경우, 직접 텍스트 메시지 반환 (예: "링크를 입력해주세요")
  5. 종료 노드: 결과 출력 (원하는 형식으로 포맷팅)

이렇게 하면, 에이전트는 조건에 따라 적절한 경로를 선택하고, 정확한 출력을 보장합니다.

실습: 어린이용 그림 동화 에이전트 구현

다음은 아이들이 좋아할 만한 ‘아이들의 이야기집’ 에이전트를 만들어보는 예제입니다.

목표: 사용자가 주제를 입력하면, 3개의 장으로 나뉘어진 그림과 함께 재미있는 이야기를 생성.

워크플로우 구성 단계:

  1. 주제 최적화: 사용자 입력을 바탕으로 의미 있는 주어/목적어 추출
  2. 스토리 프롬프트 생성: 어린이 친화적인 스토리 구조 생성
  3. 이야기 본문 생성: 각 장마다 200자 이상의 이야기 생성 (종료하지 않도록 설정)
  4. 제목 생성: 재미있고 귀여운 제목 생성 (이모티콘 포함 가능)
  5. 이미지 생성: 텍스트 → 이미지 플러그인을 사용해 스토리에 맞는 이미지 생성
  6. 출력 포맷팅: 이미지 링크, 제목, 본문을 구조화된 형태로 반환

예시 출력:

{
  "title1": "소녀와 회색 늑대의 숲 여행 🌳🐺",
  "story1": "🌸 한 번은 작은 소녀가 숲길을 걷고 있었어요. 갑자기 회색 늑대가 나타났지만... 너무 귀엽죠! 둘은 서로를 알아보고, 함께 식물을 배우고, 호랑이, 여우, 다람쥐와 친구가 되었어요.",
  "img1": [
    {
      "image_url": "https://cdn.yuanqi.tencent.com/...png",
      "prompt": "귀여운 애니메이션 스타일, 소녀와 늑대가 함께 숲길을 걷고 있어요. 꽃이 피어 있고, 해가 따뜻하게 비춰요."
    }
  ]
}

SDK 활용: 백엔드 연동

Java 기반의 유안기 SDK를 사용하면 서버측에서 쉽게 에이전트와 상호작용할 수 있습니다.


@Test
public void test_chat_completions() {
    YuanQiCompletionRequest request = YuanQiCompletionRequest.builder()
        .messages(Collections.singletonList(Message.builder()
            .role(Constants.Role.USER)
            .content(Collections.singletonList(
                MessageContent.builder().type(Constants.Type.TEXT).text("너는 누구야?").build()
            ))
            .build()))
        .userId("user_123")
        .assistantId("assist_abc")
        .stream(false)
        .build();

    YuanQiCompletionResponse response = yuanQiSession.completions(request);
    response.getChoices().forEach(choice -> {
        log.info("응답: {}", choice.getMessage().getContent());
    });
}

마무리

이 글을 통해 유안기 플랫폼의 기본 기능부터 고급 워크플로우까지 체계적으로 학습했습니다. 이제 여러분의 창의력을 발휘해, 자신만의 독특한 에이전트를 만들어보세요.

다음에는 더 복잡한 통합 시나리오나 배포 전략에 대해 다뤄보겠습니다. 관심 있으신 분은 계속해서 주목해주세요!

태그: 유안기 AI 에이전트 워크플로우 플러그인 지식 베이스

6월 20일 05:11에 게시됨