위대한 컵은 올바른 질문에서 시작된다 — 나는 Hermes Agent로 답을 위한 커뮤니티를 구축했다
출처: Dev.to
모든 훌륭한 커피는 올바른 질문에서 시작됩니다. 이번 Hermes Agent Challenge – Build With Hermes Agent 제출물은 커뮤니티 기반 추천 엔진이 일반적인 AI 생성 레시피를 추적 가능하고 합의에 기반한 양조 가이드로 대체할 수 있음을 보여줍니다.
문제점
진정한 양조 지식은 인간 경험에 담겨 있습니다—로스터 가이드, 커뮤니티 메모, 최근 추출에서 얻은 바리스타 팁 등. 이러한 지식은 흩어져 있고 금방 사라집니다. AI에 물어보면 통계적으로 평균적인 파라미터(예: 93 °C, 1:16 비율, 4분)를 제시하지만, 이는 기술적으로는 타당하지만 실제로는 일반적이며, 특히 학습 데이터가 부족한 희귀 원산지에서는 더욱 그렇습니다.
솔루션 개요
공개된 무인증 웹 앱을 통해 사용자는 커피 원산지, 로스트 단계, 추출 방법을 선택할 수 있습니다. 시스템은 커뮤니티 합의 레시피를 반환합니다:
- 그라인드 크기, 온도, 비율, 추출 시간
- 단계별 기술(블룸 타이밍, 물 붓기 단계, 교반 방식)
- 데이터 밀도를 나타내는 신뢰도 등급(높음/중간/낮음)
- 추천에 기여한 원본 추출 기록
특정 원산지에 대한 데이터가 부족할 경우, 신뢰도 등급을 투명하게 표시하고 엔진은 값을 조작하는 대신 기본 추출 방법으로 되돌아갑니다.
빠른 데모
- 앱 열기: (계정이나 설정 없이 바로 이용 가능).
- 커피 선택(예: 에티오피아 라이트 로스트), 로스트 단계, 추출 방법 선택.
- 파라미터, 신뢰도 등급, 기여 커뮤니티 추출에 대한 링크가 포함된 추적 가능한 추천 객체를 받음.
동일한 엔드포인트는 MCP 지원 클라이언트에서 한 줄로 호출할 수 있습니다:
GET https://brew-guide-production.up.railway.app/mcp
기술 스택
| 계층 | 기술 |
|---|---|
| HTTP | Hono 4 + @hono/node-server |
| MCP | @modelcontextprotocol/sdk + @hono/mcp (스트리머블 HTTP) |
| 데이터베이스 | Neon Postgres + Prisma ORM |
| 런타임 | Node 24, TypeScript strict, ESM |
| 테스트 | Vitest (55개 테스트, 오류 0) |
| 배포 | Railway (main 브랜치 자동 배포) |
추천 엔진
엔진은 완전 결정론적이며, 핫 경로에 LLM을 사용하지 않습니다.
// Simplified flow of computeBestBrew()
async function computeBestBrew(request) {
const recentBrews = await fetchRecentBrews(limit = 50);
const scored = recentBrews.map(brew => score(brew, request));
const decayed = applyRecencyDecay(scored, linear(1.0 → 0.1 over 365 days));
const weighted = applySourceTrustWeights(decayed);
const top5 = selectTop(weighted, 5);
return buildConsensus(top5); // weighted average for numbers, weighted mode for categories
}
- 지연 시간:
- 실제 앱: (공개, 무인증)
Hermes Agent로 구축 – 결정론적이며 커뮤니티 기반의 커피 추천 플랫폼.