가드닝 어시스턴트: 오픈 웨이트 AI를 활용하여 집 밖으로 나가기
요약
AI 기반 가드닝 플래너 'The Gardening Assistant (TGA)'는 사용자의 환경과 경험 수준에 맞춰 맞춤형 식물 추천 및 4주 행동 계획을 제공합니다. 이 도구의 핵심은 AI가 생성한 결과물을 바탕으로 실제 야외 활동(Touch Grass)을 유도하여, 디지털 기기에서 벗어나 실질적인 가드닝 경험을 하도록 설계되었습니다.
핵심 포인트
- AI를 활용해 현실 세계 활동을 촉진하는 새로운 접근 방식 제시
- 맞춤형 식물 추천과 4주 행동 계획으로 가드닝 습관 형성 지원
- 로컬 AI 모델(Gemma) 및 결정론적 엔진을 결합하여 안정성 확보
내가 만든 것:
개발자로서 우리는 화면을 응시하는 엄청난 시간을 보냅니다. 우리는 문제를 해결하고, 작업을 자동화하며, 삶을 더 쉽게 만들기 위해 애플리케이션을 만듭니다. 하지만 때로는 책상에서 벗어나 실제로 외부 세계를 경험하는 것을 잊곤 합니다.
이것이 저에게 생각할 거리를 던져주었습니다. AI가 우리가 화면에 머무는 시간을 줄이는 데 도움을 줄 수 있다면 어떨까? 아니면 오히려 더 오래 붙잡아 둘 이유를 찾는 데 쓰일까?
'The Gardening Assistant (TGA)'를 소개합니다. 이 도구는 Hacktoberfest 2026의 'Touch Grass' 챌린지를 위해 제작된 AI 기반 가드닝 플래너입니다.
TGA는 사용자가 이용 가능한 햇빛, 정원 유형, 경험 수준, 그리고 공간을 바탕으로 무엇을 심을지 파악하도록 돕습니다. 단순히 방대한 식물 목록을 쏟아내고 초보자들이 모든 것을 알아내기를 기대하는 대신, 세 가지 목표 식물 추천, 관리 지침, 그리고 실행 가능한 4주간의 야외 체크리스트가 포함된 맞춤형 가드닝 계획을 생성합니다.
하지만 가장 중요한 기능은 AI 자체에 있는 것이 아닙니다. 그것은 AI가 작업을 마친 후에 일어나는 일입니다.
추천되는 모든 식물에는 줄기 가지치기부터 민트 잎 으깨기, 아침 꽃봉오리 관찰에 이르기까지 실질적인 야외 활동이 함께 제공됩니다. 주간 체크리스트는 사용자가 세션당 약 15~25분 동안 야외에서 시간을 보내도록 장려하며, 가드닝을 부담스러운 취미가 아닌 관리 가능한 무언가로 변화시킵니다.
TGA가 제공하는 기능은 다음과 같습니다:
- 맞춤형 식물 추천: 햇빛, 이용 가능한 공간, 가드닝 경험, 정원 유형에 적합한 식물을 찾을 수 있습니다.
- 실용적인 관리 지침: 물 주기 일정, 성장 주기 정보, 동반 식재(companion-planting) 팁 등을 얻을 수 있습니다.
- 'Touch Grass' 활동: 추천 내용을 실제 감각적 경험과 가드닝 작업으로 바꿉니다.
- 4주 행동 계획: 주간 과제를 따르고, 진행 상황을 추적하며, 일관된 가드닝 습관을 형성할 수 있습니다.
- 진행 상황 추적: 완료한 작업을 브라우저에 로컬로 저장합니다.
- 폴백 추천 엔진 (fallback recommendation engine): 로컬 AI 모델이 사용 불가능할 때도 계속해서 정원 계획을 생성합니다.
TGA의 철학은 간단합니다. 화면(스크린)이 가드닝 과정에서 가장 짧은 부분이 되어야 한다는 것입니다.
데모
소스 코드 살펴보기: GitHub의 Gardening Assistant
저장소에는 구현 내용, 아키텍처 문서, 스크린샷 및 설정 지침이 포함되어 있습니다.
이 프로젝트는 로컬에서 실행되도록 설계되었습니다. README를 따라 프론트엔드와 백엔드를 시작하고 가드닝 플래너를 탐색해 보세요.
코드
전체 저장소 확인하기:
github.com/DaKaufeeBoii/The-Gardening-Assistant
이 프로젝트는 React 프론트엔드, FastAPI 백엔드, 그리고 선별된 식물 데이터셋으로 구성되어 있습니다.
추천 흐름은 다음과 같습니다:
- 사용자가 자신의 가드닝 조건을 제공합니다.
- 프론트엔드가 정원 프로필을 백엔드로 전송합니다.
- 백엔드는 선별된 식물 정보를 사용하여 적합한 식물을 평가합니다.
- 로컬 추론(local inference)이 가능할 때 Gemma가 추천 내용을 개인화합니다.
- 애플리케이션은 구조화된 정원 계획을 반환하고 실행 가능한 야외 작업을 생성합니다.
- 사용자는 브라우저에서 직접 진행 상황을 추적합니다.
여기서 중요한 설계 결정은 모델이 모든 것을 처음부터 만들어내도록 기대하지 않는다는 것입니다. 식물 데이터셋은 사실적인 근거(factual grounding)를 제공하며, 모델을 사용할 수 없을 때에는 결정론적 추천 엔진(deterministic recommendation engine)이 신뢰할 수 있는 대안을 제공합니다.
구축 과정 (How I Built It)
가장 큰 과제는 애플리케이션 전체를 AI API에 의존하게 만들지 않으면서도, 의미 있게 AI를 사용하는 방법을 알아내는 것이었습니다.
TGA의 스택은 다음과 같습니다:
- 프론트엔드: React 19 및 Vite, 커스텀 CSS 디자인 시스템 및 Lucide 아이콘 사용.
- 백엔드: Python, FastAPI, API 처리 및 검증을 위한 Pydantic 사용.
- AI 모델: Google의 오픈 웨이트 Gemma 모델을 Ollama를 통해 로컬에서 실행.
- 지식 기반 (Knowledge base): 식물 정보, 일조량 요구 사항, 물 주기 빈도, 기후 메모 등을 포함하는 선별된 JSON 데이터셋.
- 추천 엔진: 일조량 적합성, 공간 제약, 가드닝 경험, 정원 유형을 평가하는 규칙 기반 점수 시스템.
지속성(Persistence): 생성된 계획과 체크리스트 진행 상황을 저장하기 위한 브라우저 localStorage를 사용합니다.
왜 Gemma인가?
이번 챌린지에서는 모든 사용자가 개인 정보를 원격 추론 서비스에 전송할 필요 없이 AI가 유용하도록 만들고 싶었습니다.
TGA는 로컬 Ollama 추론을 통해 Gemma를 사용하며, 사용 가능한 하드웨어 및 구성에 따라 gemma:2b와 gemma2:9b와 같은 모델을 지원합니다.
이 모델은 사용자 식물 관리 환경 정보와 함께 선별된 식물 사실 정보를 받습니다. 이는 모델이 매개변수에서 생성하는 모든 것에 의존하기보다는, 개인화된 추천을 생성할 수 있는 근거가 되는 시작점을 제공합니다.
만약 Ollama가 실행되고 있지 않다면? 결정론적(deterministic) 식물학 추천 엔진이 작동합니다.
이러한 하이브리드 접근 방식은 중요합니다. 왜냐하면 가드닝 어시스턴트는 AI 모델을 사용할 수 없을 때도 여전히 유용해야 하기 때문입니다. 연결된 모델의 오류가 누군가가 무엇을 심어야 할지 파악하는 것을 막아서는 안 됩니다.
실제 세계를 위해 설계하기
또 다른 중요한 결정은 애플리케이션이 참여(engagement)보다는 행동(action)에 초점을 맞추도록 하는 것이었습니다.
4주 체크리스트는 사용자가 컴퓨터에서 벗어나 따라 할 수 있는 명확한 작업 순서를 제공합니다. 또한 진행 상황 추적을 지원하여, 사용자들이 활동 내내 온라인 상태를 유지할 필요 없이 도움이 필요할 때 애플리케이션으로 돌아올 수 있게 합니다.
그 결과, AI가 경험을 계획하는 데 도움을 주지만, 실제 경험은 야외에서 일어나는 애플리케이션이 탄생했습니다.
오픈 혁신(Open Innovation)이 왜 중요한가?
오픈 혁신 덕분에 TGA는 AI 기반 애플리케이션이 어떤 모습이어야 하는지에 대한 다른 아이디어를 중심으로 구축할 수 있었습니다.
Gemma와 같은 오픈 웨이트 모델을 사용하면 개발자에게 로컬 추론으로 실험하고, 주변 애플리케이션 아키텍처를 검사하며, 프롬프트를 사용자 정의하고, 추론이 어떻게 그리고 어디서 일어날지 선택할 자유를 줍니다.
TGA의 경우, 이는 세 가지 실질적인 이점을 창출합니다.
- 개인 정보에 대한 더 많은 제어권
정원 프로필에는 누군가의 집 정보, 이용 가능한 야외 공간, 그리고 개인 습관에 대한 정보가 포함될 수 있습니다. 로컬에서 추론(inference)을 실행하면 해당 프로필을 원격 모델 제공업체로 전송하지 않고도 애플리케이션이 맞춤형 추천을 할 수 있게 합니다.
- 외부 AI 서비스 의존도 감소
로컬 추론은 핵심 추천 워크플로우를 위해 유료 호스팅 모델 API가 필요하다는 점을 피할 수 있습니다. 적절한 로컬 하드웨어와 작동하는 모델 설치는 필요하며, 이것이 규칙 기반 폴백(rule-based fallback)이 중요한 이유입니다.
- 실험의 자유도 증가
모델, 식물 데이터셋, 그리고 추천 엔진은 독립적으로 개발하고 개선할 수 있습니다. 개발자는 플랜트 데이터를 조정하고, 모델 구성을 변경하며, 점수 산정 규칙을 다듬고, 전체 애플리케이션을 독점 서비스 주변으로 재구축하지 않고도 개선 사항에 기여할 수 있습니다.
오픈 혁신은 단순히 무료인 것을 사용하는 것에 관한 것이 아닙니다. 그것은 사용하고 있는 기술을 이해하고, 적응하며, 기반하여 구축할 수 있는 능력을 갖는 것입니다.
TGA는 이러한 자유가 무엇을 가능하게 하는지에 대한 작은 예시입니다.
마이 에이전트 세션(My Agent Session)
TGA는 전체 워크플로우를 제어하기 위해 자율 에이전트에 의존하는 대신, 모델 지원 추천과 결정론적 폴백(deterministic fallback)을 결합합니다.
주요 흐름은 간단합니다:
정원 프로필 → 식물학적 기반 마련(Botanical grounding) → Gemma 추론 또는 규칙 기반 폴백 → 맞춤형 계획 → 야외 활동 체크리스트
이것은 모델의 역할을 집중시키고 추천 프로세스를 이해하기 쉽게 만듭니다.
수상 부문
Best Use of Gemma: 큐레이션된 식물학적 지식 및 결정론적 폴백과 결합된 로컬, 오픈 웨이트 AI 추론.
Best Use of ElevenLabs: 브라우저 음성 합성(speech synthesis)을 폴백으로 사용한, 핸즈프리 가드닝 가이드를 위한 계획된 음성 내레이션.
Best Use of SerpApi: 식재 추천 개선을 위한 계획된 실시간 서리일(frost-date) 조사.
Best Use of Sentry Agent Tracing: 추론 지연 시간, 토큰 사용량 및 폴백 이벤트를 위한 백엔드 관측 가능성(observability).
핵심 구현은 Gemma를 중심으로 합니다. 추가 통합 기능들은 프로젝트의 확장으로 의도된 것이며, 실제 구성 및 작동 상태에 따라 평가되어야 합니다.
Building TGA를 만들면서 AI가 항상 화면에서 더 많은 일을 하도록 도와줄 필요는 없다는 것을 깨달았습니다. 때로는 노트북을 닫은 후에 무엇을 할지 결정하는 데 도움을 주는 것이 가장 좋습니다.
자, 이제 풀(grass)을 만져볼 시간입니다.
레포지토리: The Gardening Assistant (TGA)
#Hacktoberfest #OpenSource #Gemma #AI #Gardening #TouchGrass
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기