AWS 기술 블로그

경농의 스마트팜 지원을 위한 농업 AI 챗봇

경농 소개

(주)경농은 1957년 설립 이후 한국농업의 혁신을 이끈 대표 농산업 전문 기업입니다. 70년간의 역사와 전통을 바탕으로 비료와 작물보호제를 비롯해 종자, 신선도유지제, 친환경자재 등 농산업 전반을 아우르며, 이러한 기술력을 바탕으로 2022년 스마트팜 전문 브랜드 ‘시그닛(SIGNIT)’을 출범했습니다. 시그닛 브랜드는 스마트팜의 ▲자동화 ▲정밀농업 ▲무인관리 3가지 핵심기술을 통합해 국내 맞춤형 스마트팜 기술을 보급해 지속가능한 첨단 농업생태계를 구축하고 있습니다.

프로젝트 배경

농업 환경이 급속도로 디지털화되면서, 경농은 70년간 축적된 방대한 농업 데이터와 제품 정보를 활용하여 농업인들에게 더 나은 가치를 제공하고자 했습니다. 특히 자사의 디지털 영농일지 서비스인 ‘파밍노트’는 사용자들로부터 실시간 농업 정보 제공에 대한 요구가 증가하면서, 보다 효율적인 정보 전달 방식의 필요성이 대두되었습니다.

경농은 방대한 제품과 데이터를 보유하고 있으나, 농업인에게 필요한 맞춤형 영농 정보를 효과적으로 제공하는데 어려움을 겪고 있었습니다. 특히 파밍노트 서비스 사용자들의 실시간 문의사항에 대한 신속한 응대와 제품 정보 제공이 시급한 과제였습니다. 이러한 고객 대응을 AI 기반으로 자동화하고, 신속하게 해결하기 위해 AWS 클라우드 인프라를 활용하여 생성형 AI와 검색증강생성(Retrieval-Augmented Generation, RAG) 기술 기반의 챗봇 서비스를 구축하기로 결정했습니다.

AWS를 선택한 이유는 스마트팜 솔루션의 확장성, 강력한 AI/ML 기능, 안정적인 데이터 관리, 그리고 실시간 모니터링 시스템 구현이 가능하다는 장점 때문이었습니다. 이를 통해 경농은 농업인들에게 더욱 직관적이고 효율적인 정보 제공 서비스를 구현하고자 했습니다. 솔루션 아키텍처 구성 및 구현 과정에서의 고민과 고려사항에 대해서 아래의 본문에서 다룰 예정입니다.

솔루션 개요

경농은 Amazon BedrockAmazon OpenSearch Service를 중심으로 생성형 AI 기반의 농업 전문 챗봇 서비스를 구축하였습니다. 사용자가 자연어로 입력한 질의는 Amazon ECS Fargate 기반 애플리케이션에서 처리되며, 해당 질의를 벡터로 임베딩한 뒤 Amazon OpenSearch Service에 저장된 벡터화된 문서와 비교하여 가장 적합한 정보를 검색합니다. 이후 검색된 내용을 바탕으로 Amazon Bedrock의 Claude Sonnet 3.5 모델이 최종 응답을 생성하도록 구성하였습니다.

Figure 1. 농업 챗봇 아키텍처 구성

1. 아키텍처 특징

경농 챗봇 서비스의 아키텍처는 유연한 트래픽 처리를 위해 서버리스 인프라 기반으로 구성되었고, RAG 방식 및 기존 파밍노트 연동을 통해 사용자 맞춤형 정보 제공의 정확도를 높일 수 있었습니다. 주요 구성별 특징은 다음과 같습니다.

[서버리스 인프라 구성]

  • Amazon ECS Fargate를 활용한 컨테이너 기반 서비스 구축
  • 높은 동시 요청 처리와 트래픽 변동성에 유연하게 대응
  • Amazon VPC 내부 구성으로 보안성과 서비스 확장 가능성 확보

[벡터 기반 RAG 시스템]

  • Amazon OpenSearch Service를 활용한 시맨틱 검색 구현
  • 농업 전문 용어에 대한 정확한 의미 기반 검색 지원
  • 문서의 벡터화 및 임베딩 처리를 통한 정교한 정보 검색

[파밍노트 연동 시스템]

  • VPC 피어링을 통한 안전한 서비스 간 연결
  • 사용자별 재배 이력 및 병해충 발생 기록 활용
  • 개인화된 맞춤형 응답 생성 지원

2. 농업 데이터 통합

경농의 생성형 AI 챗봇은 국내 농업 생태계의 다양한 데이터를 통합하여 구축된 전문 정보 플랫폼입니다. 신뢰할 수 있는 다양한 소스의 농업 데이터를 통합하고, 데이터 전처리를 통해 데이터 품질 및 신뢰할 수 있는 답변을 제공하기 위한 파이프라인을 구성하였습니다.

전체 데이터 파이프라인 흐름은 다음과 같습니다.

  1. 데이터 수집 경로
    1. SQL 쿼리를 통한 정형 데이터 추출
    2. CSV 형태의 유통 데이터 로드
    3. 웹 크롤링을 통한 반정형/비정형 문서 수집
  2. 전처리 프로세스
    1. Python 기반 병렬 처리 시스템 구축
    2. 제품 단위 기반 문서 청킹
    3. Amazon Titan Text Embedding V2 모델을 활용한 벡터 임베딩
  3. 농업 전문 용어 사전 구축
    1. 제품명, 성분명, 작용기작, 품종명 등 추출
    2. Amazon OpenSearch Service의 커스텀 토크나이저 사전 등록

Figure 2. 농업 데이터 지식 기반 파이프라인

[다양한 데이터 소스]

  • 내부 제품 DB: 작물보호제, 비료, 종자, 혼용 안내, 병해충 및 잡초 방제정보
  • 자사 미디어(‘늘푸른신문’): 천적 곤충, 신선도 유지제, 스마트팜, 친환경 농자재 관련 콘텐츠
  • 외부 전문기관 데이터
  • 농촌진흥청 ‘농사로’
  • 농약안전정보시스템
  • 한국친환경농자재협회
  • 농산물품질관리원
  • 기타: 제품 판매처 정보, 유튜브 채널 콘텐츠

3. 데이터 전처리 및 용어 사전 구축

이처럼 방대한 데이터는 모두 생성형 AI 챗봇이 정확하고 신뢰도 높은 응답을 제공하기 위한 핵심 자산이며, 이를 효과적으로 활용하기 위해 경농은 자체적인 데이터 전처리 및 의미 기반 검색 파이프라인을 구축하였습니다. 데이터 수집은 크게 세 가지 경로를 통해 이뤄집니다. 첫째, 내부 제품 데이터베이스에서 SQL 쿼리를 통해 정형 데이터를 추출하고, 둘째, CSV 형태로 정리된 농약 판매처 등 유통 데이터를 로드하며, 셋째, 다양한 웹사이트로부터 크롤링을 수행하여 반정형 및 비정형 문서들을 수집합니다. 이 데이터들은 이후 Python 기반의 병렬 처리 파이프라인에서 통합되어 전처리됩니다.

데이터 전처리 예시 :

{
        "병해충명": "녹병",
        "작물명": "들깨",
        "작물구분": "기타",
        "병해충구분": "병해",
        "피해증상": [
            "- 잎에 처음에는 융기된 아주 작은 등황색 병반으로 나타나고, 진전되면 병반 주위가 회갈색으로 변한다.",
            "- 점차 시간이 지나면 융기된 병반부가 파열되어 등황색가루(하포자)가 형성된다.",
            "- 후에 융기된 부분이 흑갈색(동포자층)으로 변하며, 심한 포장은 병든 잎이 황백색으로 변해 말라 죽는다."
        ],
        "방제방법": [
            "- 수확 후 병든 잔재물을 깨끗이 제거하고, 병든 식물체는 일찍 제거한다.",
            "- 비료분이 부족하지 않도록 균형시비하고, 해마다 발병이 심한 포장은 파속 이외의 작물로 돌려짓기한다."
        ],
        "등록약제": [
            {
                "제품명": "시스텐 수화제",
                "제조사": "경농"
            }
        ],
        "이미지정보": {
            "이미지1": {
                "url": "http://www.knco.co.kr/_manager/files/photo_202402070919023676_0.png",
                "description": "녹병 관련 이미지"
            }
        },
        "참조링크": "http://www.knco.co.kr/farming/farming_04",
        "수집일시": "2024-09-24 02:28:58"
    },
…

전처리 과정에서 데이터는 제품 단위로 청킹되며, 이는 검색의 정확도를 높이기 위한 문서 분할 작업입니다. 지나치게 크거나 작지 않은 적절한 단위로 분할된 문서는 이후 Amazon Bedrock의 Amazon Titan Text Embedding V2 모델을 통해 고차원 벡터로 임베딩됩니다. Amazon Titan Text Embedding V2 모델은 다국어 지원 및 높은 표현력을 기반으로, 특히 농업과 같은 도메인 특화 데이터에서도 강력한 성능을 발휘합니다. 생성된 벡터는 Amazon OpenSearch Service에 저장되며, 질의 시에는 사용자의 질문을 동일한 방식으로 임베딩하여 유사한 문서를 빠르게 검색할 수 있습니다.

이와 함께, 각 제품에 포함된 제품명, 성분명, 작용기작, 품종명 등 전문 용어는 별도로 추출되어 ‘농업 용어 사전’으로 등록됩니다. 이 용어 사전은 Amazon OpenSearch Service의 커스텀 토크나이저 사전으로 활용되며, 검색 시 고유명사 분리 오류를 방지하고 검색 정확도를 더욱 높이는 데 기여합니다.

용어사전 예시 :

키워드,분류
녹병,병해충
역병,병해충
점무늬병,병해충
…
명쾌탄,제품
바람탄,제품
벨스모,제품
세베로,제품
…
세스바니아,작물
하늘마,작물

결과적으로, 경농의 생성형 AI 챗봇은 도메인 특화 지식에 대한 깊이 있는 이해와 고도화된 검색 인프라를 바탕으로, 제품 추천, 병해충 상담, 혼용 가능성 확인 등 실제 농업 종사자들이 현장에서 필요로 하는 질문에 신속하고 정확하게 응답할 수 있는 환경을 구현한 것입니다. 데이터 수집부터 구조화, 임베딩, 검색 최적화에 이르기까지 모든 단계를 체계적으로 설계함으로써, 경농은 챗봇을 단순한 보조 도구가 아닌 실질적인 디지털 농업 파트너로 자리매김시킬 수 있게 되었습니다.

4. 전문 용어 처리

농업 분야는 그 특성상 제품명, 성분명, 병해충명, 작물명 등 일반 자연어 처리 모델이 학습되지 않은 도메인 특화 용어들이 광범위하게 사용됩니다. 특히 고유명사의 띄어쓰기, 형태소 분리, 복합 용어 구성과 같은 언어적 복잡성이 높아, 단순한 키워드 매칭 기반의 검색만으로는 사용자의 질문 의도를 정확하게 파악하고 응답을 제공하는 데 한계가 있습니다. 경농은 이러한 문제를 해결하고자, 생성형 AI와 검색 시스템이 협력할 수 있는 고도화된 키워드 처리 및 쿼리 증강 파이프라인을 구축하였습니다.

가장 먼저, 사용자의 자연어 질의에서 핵심 키워드를 추출하는 단계가 진행됩니다. 이 과정에서는 LLM을 활용해 의미 있는 명사를 선별하고, ’아그렙토’, ‘배추’, ‘무름병’과 같은 농업 관련 용어를 중심으로 추출합니다. 이후에는 형태소 분석 기반의 처리를 통해 명사 형태를 확정하고, 여러 단어로 이루어진 키워드를 N-gram 방식으로 결합합니다. 예를 들어 ‘배추’와 ‘무름병’이라는 단어가 함께 등장할 경우, 이를 하나의 의미 단위인 ‘배추무름병’으로 인식하도록 조합합니다. 이는 농업 분야에서 흔히 발생하는 복합 고유명사 인식을 위한 핵심 처리 방식으로, 단어 간 띄어쓰기 변화로 인한 의미 왜곡을 최소화하는 역할을 합니다.

추출된 키워드는 Amazon OpenSearch Service에 등록된 Dictionary를 참조하여 고유명사 분리 오류를 방지하고, 동시에 도메인별 카테고리를 자동 분류합니다. 예를 들어 ’아그렙토’라는 키워드는 사전 정보를 바탕으로 ‘농약’으로 분류되고 제조사로 ‘경농’이라는 태그를 함께 갖게 됩니다. 이러한 정보는 LLM에게 명확한 의미를 부여하는 데 기여하며, 이후 쿼리 증강을 통해 사용자 질문을 더욱 구체적이고 풍부한 형태로 재구성할 수 있습니다.

사용자가 “아그렙토를 배추에 사용해도 되나요?”라고 질문하면, 시스템은 이를 “<농약명:아그렙토>를 <작물명:배추>의 <병해충명:무름병>에 사용할 수 있어?”의 형태로 재구성하여 보다 정확한 맥락 기반 질의가 가능하도록 지원합니다. 더불어, 각 키워드와 주제군의 관련성을 수치화하여 분석함으로써, ‘농약’: 0.8, ‘병해충’: 0.7, ‘작물’: 0.6, ‘혼용정보’: 0.1 등과 같이 카테고리별 가중치를 산출하고, 최적의 검색 인덱스를 자동으로 선택하는 기능도 구현하였습니다.

프롬프트 예시 :

농업 전문가로서, 주어진 질문이나 문장을 분석하고, 다음 카테고리에 대한 관련성을 0에서 1 사이의 숫자로 평가하세요:

    제품: 농업 관련 제품, 사용법, 효과 등과 관련된 내용
    병해충: 작물의 병해충 문제와 관리에 관한 내용
    잡초: 잡초 관리, 제거 방법 등에 관한 내용
    종자: 농작물을 재배하기 위한 씨앗 또는 종묘에 관련된 내용
    혼용정보: 두 가지 이상의 농업 자재를 함께 사용하는 것에 관한 내용
    작물: 작물의 재배 방법, 수확 시기, 관리 방법 등과 관련된 내용
    농업상식: 농작물 재배방법 혹은 농업 환경 관리(ex. 온도, 습도, 냉해)에 관한 내용
    회사: 농업 관련 회사에 대한 내용
    기타: 농업과 무관한 일반적인 질문
    아래는 분류된 키워드와 해당 분류입니다:
    {classification}
    주의사항:
    - 출력은 '카테고리:점수' 형식으로만 작성하세요. 설명이나 추가 텍스트는 포함하지 마세요.
    - 키워드 분류 결과를 주요 판단 기준으로 삼되, 문맥을 고려하여 최종 판단을 내리세요.
    - 혼용정보는 두 가지 이상의 물질이나 제품을 함께 사용하는 것과 관련된 질문을 포함합니다.
    - 제품 관련 질문에서 혼용 가능성을 언급하면, 제품보다 혼용정보에 높은 점수를 줍니다.
    - 한 단어로만 이루어진 입력의 경우, 농업 관련 용어일 가능성을 고려하되 확실하지 않다면 기타 카테고리에 높은 점수를 부여하세요.
    - 점수가 0인 카테고리는 출력하지 마세요.
    분석할 텍스트: {query}

이러한 키워드 처리 및 쿼리 증강 기법은 농업 도메인의 고유한 언어 구조에 최적화된 방식으로, 단순 검색 수준을 넘어 AI가 사용자 질문의 의미와 의도를 정확히 이해하고 반응할 수 있도록 만듭니다. 결과적으로 경농의 챗봇은 농업 전문 용어 처리 정확도와 사용자 의도 이해도를 동시에 끌어올림으로써, 더욱 신뢰도 높은 검색 결과를 제공할 수 있게 되었습니다.

5. 챗봇 흐름

경농 챗봇은 신속하고 정확한 응답을 제공하기 위한 워크플로우를 디자인하였습니다. 우선, 사용자의 질문을 추천 질문 여부와 질문 유형(복합/후속/판매처)을 분류합니다. 이후에 판매처 관련 질문은 OpenSearch에서 직접 정보를 조회하여 응답하고, 일반 질문은 의미 기반과 키워드 기반의 Hybrid Search를 실행합니다. 검색된 결과는 캐시 확인 후, 저장된 응답이 없는 경우 Claude Sonnet 3.5 모델을 통해 최종 응답을 생성합니다.

  1. 질문 입력 및 분류
    1. 추천 질문 여부 확인
    2. 질문 유형 자동 분류 (복합 질문/후속 질문/판매처 질문)
  2. 검색 및 처리
    1. 판매처 질문: OpenSearch에서 직접 판매처 정보 조회
    2. 일반 질문:
      1. 초기 응답 생성
      2. 핵심 키워드 추출
      3. Hybrid Search 실행 (의미 기반 + 키워드 기반)
  3. 응답 생성
    1. 캐시 확인 (동일 질문 존재 여부)
    2. 캐시 히트 시: 저장된 응답 즉시 반환
    3. 캐시 미스 시:
      1. OpenSearch 검색 결과를 컨텍스트로 활용
      2. Claude Sonnet 3.5 모델로 최종 응답 생성

파밍노트 화면 및 기대 효과

농업용 챗봇을 이용해 농업인들의 영농활동을 지원할 수 있습니다. 작물별 병해충 관리방법, 방제 제품의 사용법 및 적용 대상, 혼용 정보 등 농작업에 필요한 정보를 직관적인 인터페이스로 제공해 사용자의 편의성을 높였으며, 고령화된 농업인 특성에 맞춰 이미지, 상세 링크 등을 통해 정보 제공의 편리성을 향상시킬 수 있습니다.

향후 계획

농업용 챗봇을 활용하는 농업인들의 질문 형태를 구분하여 사용 패턴을 파악하고, 이를 바탕으로 개선점 발굴 및 고도화를 진행할 계획입니다. 또한 고객들의 눈높이에 맞춰 보다 편리하고 농작업에 도움이 되는 다양한 정보를 제공해 고품질 농산물 생산에 기여하고자 합니다.

전지선

전지선 팀장은 AI 개발 경험을 바탕으로, 경농이 지향하는 지속 가능한 고부가가치 농업 실현을 위해 고객 중심의 스마트팜 플랫폼을 기획하고 관리하고 있습니다.

김종기

김종기 매니저는 메가존클라우드 솔루션 아키텍트(SA)로 근무하며, 클라우드 기반 DevOps 환경의 구축과 자동화 업무를 담당하고 있습니다. CI/CD, IaC, 컨테이너 아키텍처 설계는 물론 구축부터 사례 교육까지 DevOps 전반에 걸친 경험을 보유하고 있습니다. 최근에는 AI기술을 업무에 접목하여 더욱 효율적인 클라우드 구축 및 운영에 대한 자동화를 위해 노력하고 있습니다.

위다빈

위다빈 매니저는 메가존클라우드에서 AI 엔지니어로 근무하며, LLM을 활용한 애플리케이션 및 서비스 개발을 중심으로 AI 기술을 실무에 접목하고 있습니다. 데이터 파이프라인 설계, 벡터 데이터베이스 연동, 프롬프트 기반 애플리케이션 아키텍처 설계 등 전체 시스템을 아우르는 개발과 운영을 담당하고 있으며, 안정성과 확장성을 고려한 구현을 통해 고객 요구에 부합하는 실용적인 AI 서비스를 구축하고 있습니다.

Taekyung Han

Taekyung Han

한태경 솔루션즈 아키텍트는 AWS 클라우드 고객을 대상으로 고객의 비즈니스 성과 달성을 위해 고객과 함께 최적의 아키텍처를 구성하는 역할을 수행하고 있습니다. 백엔드 엔지니어와 DevOps 경험을 기반으로 안전한 클라우드 환경을 구성하는 방법에 대한 기술적인 도움을 드리고 있습니다. As a Solutions Architect, Taekyung Han works with customers to create the optimized architecture to achieve customer's business outcomes. With backend engineer and DevOps experience, I provide technical help on how to configure a secure cloud environment.