LLM을 활용한 앱이라고 해도 모델 학습의 기반부터 채팅에 상주하는 봇, 음성 및 비디오를 다루는 도구, 주변 정보 정리까지 그 계층이 상당히 다릅니다. 본 기사에서는 최근 정리한 노트들 중에서 'LLM을 실제 업무나 생활에 통합할 때 어떤 계층에서 무엇이 사용 가능한지'가 한눈에 보이는 8가지를 선정했습니다.
모두 OSS(오픈소스)이거나 공개된 해설 기사입니다. 각 항목의 마지막에는 좀 더 자세히 작성한 원본 노트(일본어 페이지)로 연결되는 링크를 첨부하고 있습니다.
Oumi는 데이터 준비, 학습, 평가, 추론, 배포를 동일한 설정 체계로 순환시킬 수 있는 오픈소스 플랫폼입니다. SFT나 LoRA/QLoRA, DPO, GRPO 같은 기법들을 노트북 PC에서 클러스터나 클라우드까지 동일한 명령어(예: oumi train, oumi evaluate, oumi infer)로 다룰 수 있습니다. 최근 버전에서는 툴 호출을 전제로 한 모델 제작에 중점을 두고 있으며, 실행 가능한 툴 환경이나 verl 기반의 GRPO까지 갖추게 되었습니다. Qwen, Gemma, DeepSeek, Llama 등 주요 오픈 모델들의 레시피가 그대로 배치되어 있어 '일단 내 데이터로 미세 조정해보고 싶다'는 출발점으로 편리합니다.
에이전트 프레임워크는 해마다 복잡해지기 쉬운데, 이 해설 기사는 그 반대 방향에서 접근합니다. 약 100줄의 PocketFlow를 사용하여 에이전트를 '판단 노드(Decision Node) - 행동 노드(Action Node) - 종료 노드(End Node)'와 '판단으로 돌아가는 루프'로 이루어진 단순한 그래프로 재구성해 보입니다. 각 노드는 prep(공유 스토어에서 읽기), exec(처리), post(결과를 다시 쓰고 다음 전이를 결정하기)의 3단계만 거칩니다. 검색하여 답변하는 작은 리서치 어시스턴트를 예로 들면서, LangGraph나 OpenAI Agents 내부에도 같은 골격이 있음을 보여주어, 복잡한 프레임워크를 읽기 전에 머리를 정리하기에 적절한 글입니다.
F5-TTS는 Flow Matching을 사용한 음성 합성 논문에 대응하는 공식 구현체입니다. ConvNeXt V2를 결합한 Diffusion Transformer로 학습과 추론 속도를 높이는 동시에, 추론 시 스텝 배분(Sway Sampling)을 고안하여 품질을 확보했습니다. pip install f5-tts로 설치할 수 있으며, Gradio의 UI를 통해 참조 음성을 사용한 읽어주기나 다중 화자 생성을 시도해 볼 수 있습니다. Triton이나 TensorRT-LLM을 이용한 배포 절차와 지연 시간 벤치마크까지 포함되어 있어 실무에 적합합니다. 다만 코드는 MIT 라이선스이지만, 사전 학습된 모델은 학습 데이터의 사정상 CC-BY-NC이므로 상업적 이용 전 확인이 필요합니다.
VideoLingo는 음성 인식, 자막 분할 및 번역, 타이밍 맞추기, 더빙까지를 Streamlit 화면 하나에서 실행할 수 있는 툴입니다. YouTube 영상이라면 yt-dlp로 가져오는 것부터 시작할 수 있으며, 단어 단위의 인식과 강제 정렬(forced alignment)을 통해 자막의 어긋남을 줄이고 있습니다. 번역에는 용어집이나 '번역 후 검토' 단계를 거치며, TTS도 GPT-SoVITS, Edge TTS, F5-TTS 등에서 선택할 수 있습니다. 잡음이 많은 음성이나 여러 언어가 섞인 음성의 경우 정확도가 떨어질 수 있고, 화자별로 목소리를 자동 분배하지는 않는다는 점을 솔직하게 명시하고 있어 기대치를 맞춘 후 사용하기 좋습니다.
LangBot은 LLM을 Discord, Telegram, Slack, LINE뿐만 아니라 중국 지역의 QQ, WeChat, Feishu, DingTalk 등 다양한 플랫폼에 동일한 코드로 연결할 수 있도록 설계된, 실제 운영 환경을 염두에 둔 봇 기반입니다. 멀티턴 대화나 툴 호출, RAG 지식 베이스 외에도 Dify나 n8n, Langflow와의 연동, MCP 지원, 플러그인 메커니즘까지 갖추고 있습니다. 접근 제어(Access Control)나 레이트 제한(Rate Limit), 금지 단어 필터링 같은 '사내에 두면 반드시 질문받는' 기능들이 처음부터 내장되어 있다는 점이 큰 장점이며, uvx langbot으로 로컬에서 실행하여 웹 관리 화면을 통해 조작할 수 있습니다.
HuixiangDou는 InternLM 팀이 개발한 그룹 채팅용 지식 어시스턴트입니다. 흥미로운 점은 '답해서는 안 되는 질문에는 답하지 않는다'는 것을 설계의 핵심에 두고 있다는 것입니다. 전처리(preprocessing) 및 거부(refusal), 응답(response)의 3단계 파이프라인을 통해 잡담이나 주제에서 벗어난 화제를 걸러내어 채팅방 분위기를 흐트러뜨리지 않도록 합니다. 학습 과정이 필요 없으며, CPU 전용 구성부터 GPU 2GB, 멀티모달용 10GB 구성까지 선택할 수 있습니다. 문서의 밀도 검색(dense search), 코드의 희소 검색(sparse search), 지식 그래프(knowledge graph), 웹 검색을 결합하여 사용할 수 있습니다. 답변 범위는 '답해도 되는 질문'과 '답하지 않아도 되는 질문'의 예시와 임계값으로 조정하는 방식이며, 사내 Q&A 봇을 만들 때 참고할 만한 아이디어입니다.
Chatwoot은 Intercom이나 Zendesk를 대체할 수 있는 오픈소스 고객 지원 플랫폼입니다. 웹 채팅, 이메일, 각종 SNS, WhatsApp, LINE, SMS 등의 문의를 하나의 받은 편지함에 모아 관리하며, 헬프센터, 사내 메모, 언급(mention), 정형 응답(canned response), 자동 할당과 같은 운영 기능이 모두 갖춰져 있습니다. AI 에이전트인 Captain이 자주 묻는 질문에 대한 1차 대응을 담당하기 때문에, LLM을 '고객 대응 현장'에 어떻게 배치할 수 있는지 구체적인 예시로 볼 수 있습니다. MIT 라이선스이며, 고객 데이터를 자체적으로 보유할 수 있다는 점이 선택의 주요 이유가 될 것입니다.
마지막은 개인적인 노하우 기록입니다. 저자는 3년 반 동안 모은 800개 이상의 북마크를 공개 리포지토리에서 관리해 왔지만, 링크 만료나 '제목을 기억하지 못하면 찾기 어려운' 문제로 고민하고 있었습니다. 이에 새로운 북마크가 추가될 때마다 GitHub Actions가 작동하여 Wayback Machine에 저장하고, Jina Reader를 통해 본문을 Markdown 형식으로 변환하며, LLM을 이용한 글머리 기호 요약과 한 줄 요약을 자동 생성하는 시스템을 구축했습니다. 요약에는 deepseek-chat을 사용하며, 비용은 월 1위안 미만이라고 합니다. 대규모 RAG(Retrieval-Augmented Generation)를 구성하지 않아도, 가까운 정보 정리에는 작은 파이프라인만으로 충분히 유용하다는 좋은 사례입니다.
이들을 나열해 보면, '모델을 만드는 것 (1, 3)', '에이전트를 이해하는 것 (2)', '사람이 있는 곳에 배치하는 것 (5, 6, 7)', '개인의 작업을 편리하게 하는 것 (4, 8)'이라는 계층으로 분류할 수 있었습니다. LLM 앱을 구상할 때 어느 단계에서 어려움을 겪고 있는지 먼저 정하면, 선택해야 할 도구의 폭을 상당히 좁힐 수 있을 것이라고 생각합니다.