awesome-llm-apps:130k Stars LLM 应用精选合集
posts posts 2026-04-06T22:40:00+08:00awesome-llm-apps 是一个 130k Stars 的 LLM 应用精选合集,收录 100+ 个示例项目,覆盖 AI Agent、RAG、MCP、Voice Agents、多 Agent 协作等能力轴,附带 Google ADK、OpenAI Agents SDK 等框架速成课程。技术笔记LLM, AI Agent, RAG, MCP, Multi-Agent, Google ADKawesome-llm-apps 把 Agent、RAG、MCP、Voice、Memory 五条能力轴上的 100 多个示例集中到一个仓库,每个示例可独立运行。想找生产框架,去看 LangGraph、CrewAI、Google ADK。想看看 RAG Agent 到底怎么写,这仓库命中率最高。
五条能力轴
仓库项目按能力轴划分,轴间无强依赖:
| 能力轴 | 解决的问题 |
|---|---|
| Agent | 让 LLM 调用工具、规划任务 |
| Multi-Agent | 多个 Agent 分工协作 |
| RAG | 让 LLM 基于私有数据回答 |
| MCP | 标准化 Agent 与外部工具的连接 |
| Voice | 语音输入输出闭环 |
| Memory | 跨会话保留用户偏好 |
Agent 是其他四条轴的共同前置——RAG Agent、Voice Agent、MCP Agent 都建立在"Agent 调用工具"这个基本结构上。
项目概览
核心数据(截至 2026-08)
| 指标 | 数值 |
|---|---|
| GitHub Stars | 130k |
| GitHub Forks | 19.2k |
| License | Apache-2.0 |
| 最新更新 | 2026-08-03 |
技术栈
| 语言 | 占比 |
|---|---|
| Python | 68.7% |
| JavaScript | 21.9% |
| TypeScript | 8.1% |
Python 占近七成,大部分项目可直接 pip install 跑起来;JS/TS 项目集中在需要前端界面的应用。
支持的模型
| 厂商 | 模型 |
|---|---|
| OpenAI | GPT-4o, GPT-4, GPT-3.5 |
| Anthropic | Claude 3.5, Claude 3 |
| Gemini 1.5, Gemma | |
| xAI | Grok |
| Meta | Llama 3.2, Llama 3.1 |
| Alibaba | Qwen |
| 开源本地模型 | Ollama 支持的所有模型 |
同一个 Agent 例子往往有 OpenAI、Anthropic、本地 Ollama 三个版本的实现,方便对照不同厂商 API 的差异。
目录结构
awesome-llm-apps/
├── starter_ai_agents/ # 入门级 AI Agent
├── advanced_ai_agents/ # 进阶 AI Agent(含 Multi-Agent Teams)
├── advanced_llm_apps/ # LLM 应用 + Memory
├── ai_agent_framework_crash_course/ # Agent 框架课程
├── awesome_agent_skills/ # Agent Skills
├── mcp_ai_agents/ # MCP AI Agents
├── rag_tutorials/ # RAG 教程
├── voice_ai_agents/ # 语音 AI Agents
└── docs/ # 文档资源Multi-Agent Teams 没有独立目录,归在 advanced_ai_agents/ 下;Memory 类应用归在 advanced_llm_apps/ 下。
Starter AI Agents(入门级)
入门级 Agent 都是单 Agent、单工具链、流程线性,适合理解"Agent = LLM + 工具 + 循环"这个基本结构。
| Agent | 功能 | 特点 |
|---|---|---|
| AI Blog to Podcast Agent | 博客转播客 | 自动转换文章为语音 |
| AI Breakup Recovery Agent | 情感恢复助手 | 心理健康支持 |
| AI Data Analysis Agent | 数据分析 | 自动分析数据集 |
| AI Medical Imaging Agent | 医学影像 | CT/MRI 图像分析 |
| AI Meme Generator Agent | 表情包生成 | 浏览器自动化生成 |
| AI Music Generator Agent | 音乐生成 | AI 作曲 |
| AI Travel Agent | 旅行规划 | 本地+云端双模式 |
| Gemini Multimodal Agent | 多模态 Agent | Gemini 视觉+语音 |
| Mixture of Agents | 混合专家 Agent | 多模型协作 |
| xAI Finance Agent | 金融分析 | xAI Grok 驱动 |
| OpenAI Research Agent | 科研助手 | ArXiv 论文分析 |
| Web Scraping AI Agent | 网页爬虫 | 本地+云端 SDK |
AI Travel Agent
LLM 做规划,工具做执行:
class TravelAgent:
def __init__(self, llm, search_tool, booking_tool):
self.llm = llm
self.search = search_tool
self.booking = booking_tool
def plan_trip(self, destination, dates, budget):
info = self.search.search(destination)
itinerary = self.llm.generate(
f"根据信息 {info} 制定 {dates} 的行程,预算 {budget}"
)
bookings = self.booking.book(itinerary)
return {"itinerary": itinerary, "bookings": bookings}AI Data Analysis Agent
传统脚本写死分析步骤,Agent 由 LLM 决定调用哪个工具:
from langchain.agents import Agent
from langchain.tools import PythonREPLTool
data_agent = Agent(
llm=llm,
tools=[
PythonREPLTool(), # 执行 Python 代码
DataLoader(), # 加载数据集
VisualizationTool() # 生成可视化
],
prompt="你是一个专业的数据分析师,可以加载、清洗、分析数据并生成可视化"
)
result = data_agent.run(
"加载 sales.csv,计算月环比增长率,生成趋势图"
)Advanced AI Agents(进阶级)
进阶级与入门级的差别在两个方向:单 Agent 深度提升(研究、自我进化),多 Agent 协作。
Single Agent 应用
| Agent | 功能 | 场景 |
|---|---|---|
| AI Deep Research Agent | 深度研究 | 市场调研、竞品分析 |
| AI Consultant Agent | 商业咨询 | 战略建议 |
| AI System Architect Agent | 系统架构 | 技术方案设计 |
| AI Financial Coach Agent | 财务规划 | 投资建议 |
| AI Movie Production Agent | 电影制作 | 剧本生成、剪辑 |
| AI Investment Agent | 投资分析 | 股票、基金分析 |
| AI Health & Fitness Agent | 健康管理 | 健身计划、饮食建议 |
| AI Journalist Agent | 新闻写作 | 文章创作 |
| AI Meeting Agent | 会议助手 | 会议记录、总结 |
| AI Self-Evolving Agent | 自我进化 | 持续学习改进 |
Multi-Agent Teams(多 Agent 协作)
Multi-Agent 把任务拆给多个专业 Agent,让每个 Agent 聚焦在自己的领域。代价是协调成本上升——需要处理任务分配、结果聚合、冲突处理。
| Agent Team | 功能 | Agent 数量 |
|---|---|---|
| AI VC Due Diligence Agent Team | 投资尽调 | 3+ |
| AI Finance Agent Team | 金融分析团队 | 3+ |
| AI Legal Agent Team | 法律咨询团队 | 3+ |
| AI Recruitment Agent Team | 招聘团队 | 3+ |
| AI Real Estate Agent Team | 房产咨询团队 | 3+ |
| AI Teaching Agent Team | 教学团队 | 3+ |
| AI Competitor Intelligence Team | 竞情分析 | 3+ |
| AG2 Adaptive Research Team | 自适应研究 | 3+ |
AI VC Due Diligence Agent Team
三个 Agent 分别负责市场、财务、法律分析,Crew 负责编排。process="hierarchical" 表示层级模式(有 Manager Agent 统筹),sequential 模式则按顺序串联。
from crewai import Agent, Task, Crew
market_agent = Agent(
role="Market Analyst",
goal="分析目标公司的市场份额和竞争格局",
backstory="你是一名资深的行业分析师"
)
financial_agent = Agent(
role="Financial Analyst",
goal="评估公司的财务健康状况",
backstory="你是一名资深的财务分析师"
)
legal_agent = Agent(
role="Legal Analyst",
goal="识别潜在的法律风险",
backstory="你是一名资深律师"
)
crew = Crew(
agents=[market_agent, financial_agent, legal_agent],
tasks=[market_task, financial_task, legal_task],
process="hierarchical"
)
result = crew.kickoff()AI Self-Evolving Agent
自我进化 Agent 展示 Agent 反思机制的最简形态:执行 → 评分 → 失败时分析原因 → 更新策略。这是 ReAct、Reflexion 等论文思路的工程化实现。
class SelfEvolvingAgent:
def __init__(self, llm):
self.llm = llm
self.performance_history = []
self.skills = {}
def execute_task(self, task):
result = self.llm.execute(task)
score = self.evaluate_performance(result)
self.performance_history.append({
"task": task,
"result": result,
"score": score
})
if score < threshold:
self.improve_strategy(task, result)
return result
def improve_strategy(self, task, result):
failure_analysis = self.analyze_failure(task, result)
improvement = self.llm.generate(
f"分析以下失败案例并提出改进建议:{failure_analysis}"
)
self.update_strategy(improvement)Autonomous Game Playing Agents
游戏 Agent 的环境有明确规则、胜负可量化、回合制天然适合 Agent 循环。传统游戏 AI 用搜索算法(Minimax、MCTS),这里的 Agent 用 LLM 做决策。
| Agent | 游戏 | 难度 |
|---|---|---|
| AI 3D Pygame Agent | 3D Pygame | 高 |
| AI Chess Agent | 国际象棋 | 中 |
| AI Tic-Tac-Toe Agent | 三子棋 | 低 |
import chess
from langchain.agents import Agent
chess_agent = Agent(
llm=llm,
tools=[chess_ai_engine],
prompt="你是一名国际象棋大师,可以分析棋局并制定最优策略"
)
board = chess.Board()
while not board.is_game_over():
move = chess_agent.execute(
f"当前棋局:{board.fen()},请给出下一步棋"
)
board.push_san(move)
print(f"Agent 走棋:{move}")Voice AI Agents
语音 Agent 要把语音通道接入 Agent 循环:STT 把语音转成文本送入 LLM,TTS 把 LLM 输出转回语音。仓库的 4 个项目覆盖了从离线(Whisper)到实时(OpenAI Realtime API)两种实现路径。
| Agent | 功能 | 技术栈 |
|---|---|---|
| AI Audio Tour Agent | 语音导览 | Whisper + GPT |
| Customer Support Voice Agent | 客服语音 | Twilio + ElevenLabs |
| Voice RAG Agent | 语音问答 | OpenAI Realtime API |
| OpenSource Voice Dictation | 开源语音输入 | Whisper + .jarvis-ai-assistant |
Voice RAG Agent 架构
三段式管道(STT → RAG → TTS)是离线方案的典型结构;实时方案改用流式 STT/TTS 与 WebSocket。
class VoiceRAGAgent:
def __init__(self):
self.stt = WhisperSTT() # 语音转文字
self.rag = RAGPipeline() # RAG 检索
self.tts = ElevenLabsTTS() # 文字转语音
def handle_voice_query(self, audio):
query = self.stt.transcribe(audio)
answer = self.rag.retrieve_and_generate(query)
response_audio = self.tts.speak(answer)
return response_audioMCP AI Agents
MCP(Model Context Protocol) 是 Anthropic 提出的开放协议,把 Agent 与外部工具的连接标准化:工具方实现 MCP Server,Agent 方通过 MCP Client 调用,双方不需要为每个工具写定制集成。
| Agent | 数据源 | 功能 |
|---|---|---|
| Browser MCP Agent | 浏览器 | 网页自动化 |
| GitHub MCP Agent | GitHub | 代码托管自动化 |
| Notion MCP Agent | Notion | 笔记管理 |
| AI Travel Planner MCP Agent | 旅行数据 | 智能规划 |
| Multi-MCP Agent Router | 多数据源 | 智能路由 |
Browser MCP Agent
from mcp.client import MCPClient
browser_mcp = MCPClient("http://localhost:3000")
browser_agent = Agent(
llm=llm,
tools=[
browser_mcp.navigate(url),
browser_mcp.screenshot(),
browser_mcp.click(selector),
browser_mcp.type_text(text),
browser_mcp.get_content(),
]
)
result = browser_agent.run(
"访问 GitHub,搜索 awesome-llm-apps 仓库,获取 star 数量"
)Multi-MCP Agent Router
当 Agent 需要对接多个 MCP Server 时,路由层决定把请求分给哪个 Server。下面这个 Router 用意图分类做分发,无法归类时让所有 MCP 并行处理再综合结果。
class MultiMCPRouter:
def __init__(self, mcps):
self.mcps = mcps
async def route(self, query):
intent = self.classify_intent(query)
if "github" in intent:
return await self.mcps["github"].process(query)
elif "notion" in intent:
return await self.mcps["notion"].process(query)
elif "web" in intent:
return await self.mcps["browser"].process(query)
else:
results = await asyncio.gather(*[
mcp.process(query) for mcp in self.mcps.values()
])
return self.synthesize(results)RAG 检索增强生成
RAG 在生成前先从外部知识库检索相关片段,把片段塞进 prompt,让 LLM 基于检索结果回答。仓库的 20+ 个 RAG 项目展示了不同变体:本地部署、多模态、知识图谱、错误纠正等。
| 项目 | 模型 | 特点 |
|---|---|---|
| Agentic RAG with Gemma | Gemma | Agent 化 RAG |
| Agentic RAG with Reasoning | GPT-4 | 推理增强 |
| Autonomous RAG | Llama 3 | 自主检索 |
| Contextual AI RAG | Claude | 上下文感知 |
| Corrective RAG (CRAG) | 多模型 | 错误纠正 |
| Deepseek Local RAG | Deepseek | 本地部署 |
| Gemini Agentic RAG | Gemini | 多模态 |
| Hybrid Search RAG | GPT-4 | 混合检索 |
| Llama 3.1 Local RAG | Llama 3.1 | 本地部署 |
| Knowledge Graph RAG | GPT-4 | 知识图谱 |
| Vision RAG | GPT-4V | 图像问答 |
| RAG with Database Routing | GPT-4 | 多数据库 |
Agentic RAG
普通 RAG 是"检索一次 → 生成一次"的固定流程。Agentic RAG 把检索工具化:LLM 自己决定是否检索、检索几次、用哪个检索源。
from langchain.agents import Agent
from langchain.retrievers import VectorStoreRetriever
agentic_rag = Agent(
llm=llm,
tools=[
VectorStoreRetriever(vectorstore),
WebSearchTool(),
KnowledgeGraphTool(),
],
prompt="""你是一个研究助手。当用户提问时:
1. 先检索向量数据库
2. 如需最新信息,使用网络搜索
3. 如需关系信息,查询知识图谱
4. 综合所有来源生成答案"""
)
result = agentic_rag.run(
"查找 2024 年 AI Agent 领域的最新研究进展"
)Knowledge Graph RAG
向量检索擅长找"相似"内容,知识图谱擅长找"相关"内容(通过实体关系)。两者结合能覆盖更多检索场景。
from langchain_community.graphs import Neo4jGraph
from langchain_community.vectorstores import Chroma
graph = Neo4jGraph(url="bolt://localhost:7687", username="neo4j", password="password")
vectorstore = Chroma(persist_directory="./chroma_db")
def kg_enhanced_retrieval(query, top_k=5):
vector_results = vectorstore.similarity_search(query, k=top_k)
entities = extract_entities(query)
kg_results = []
for entity in entities:
kg_results.extend(graph.query(f"""
MATCH (e)-[r]-(related)
WHERE e.name = '{entity}'
RETURN e, r, related
LIMIT 5
"""))
combined = merge_results(vector_results, kg_results)
answer = llm.generate(
f"基于以下上下文回答:{combined}\n\n 问题:{query}"
)
return answerLLM Apps with Memory
LLM 本身无状态,每次调用独立。要实现"记住用户偏好"“延续上次对话"等能力,需要在 Agent 层面维护记忆。仓库的 6 个项目展示了不同记忆粒度:从对话历史到用户画像再到团队共享记忆。
| 应用 | 功能 | 记忆类型 |
|---|---|---|
| AI ArXiv Agent with Memory | 论文阅读助手 | 论文记忆 |
| AI Travel Agent with Memory | 旅行记忆 | 偏好记忆 |
| Llama 3 Stateful Chat | 有状态对话 | 对话历史 |
| LLM App with Personalized Memory | 个性化记忆 | 用户画像 |
| Local ChatGPT Clone with Memory | 本地 ChatGPT | 全历史 |
| Multi-LLM with Shared Memory | 多模型共享 | 团队记忆 |
个性化记忆系统
Memory 的两个操作:写入时提取关键信息存入向量库,更新用户画像;读取时按用户过滤检索相关记忆,注入 prompt。
class PersonalizedMemory:
def __init__(self, llm, vectorstore):
self.llm = llm
self.memory_store = vectorstore
self.user_profile = {}
def update_memory(self, interaction):
key_info = self.extract_key_info(interaction)
self.memory_store.add_documents(key_info)
self.user_profile.update(self.infer_preferences(interaction))
def generate_response(self, query):
relevant_memory = self.memory_store.similarity_search(
query,
filter={"user_id": self.user_id}
)
personalized_prompt = self.build_prompt(
query=query,
memory=relevant_memory,
profile=self.user_profile
)
return self.llm.generate(personalized_prompt)Chat with X 应用
Chat with X 系列把某个外部数据源(GitHub、Gmail、PDF、ArXiv 等)接入 LLM,让用户用自然语言查询。本质是 RAG 的特化——数据源固定、检索方式固定,省去了 Agentic RAG 的路由决策。
| 应用 | 数据源 | 功能 |
|---|---|---|
| Chat with GitHub | GitHub | 代码问答 |
| Chat with Gmail | Gmail | 邮件处理 |
| Chat with PDF | PDF 文档 | 文档理解 |
| Chat with Research Papers | ArXiv | 论文分析 |
| Chat with Substack | Substack | 文章订阅 |
| Chat with YouTube | YouTube | 视频摘要 |
class ChatWithGitHub:
def __init__(self, llm, github_token):
self.github = GitHubAPI(token=github_token)
self.llm = llm
def chat_about_repo(self, repo_url, question):
repo_info = self.github.get_repo_info(repo_url)
code_snippets = self.github.search_code(
repo=repo_url,
query=question
)
answer = self.llm.generate(
f"仓库信息:{repo_info}\n\n 相关代码:{code_snippets}\n\n 问题:{question}"
)
return answerAI Agent 框架课程
仓库内置了两套框架速成课程:Google ADK 和 OpenAI Agents SDK。两套课程结构相似(都从 Starter Agent 讲到 Multi-agent),但对应不同生态。选哪套取决于你想接入的模型:Google 生态选 ADK,OpenAI 生态选 Agents SDK。
Google ADK Crash Course
| 模块 | 内容 |
|---|---|
| Starter Agent | 基础 Agent 开发 |
| Function Calling | 函数调用 |
| Structured Outputs | 结构化输出(Pydantic) |
| Built-in Tools | 内置工具 |
| MCP Tools | MCP 工具集成 |
| Memory | 记忆系统 |
| Callbacks | 回调机制 |
| Plugins | 插件开发 |
| Multi-agent Patterns | 多 Agent 模式 |
OpenAI Agents SDK Crash Course
| 模块 | 内容 |
|---|---|
| Starter Agent | 入门开发 |
| Function Calling | 函数调用 |
| Structured Outputs | 结构化输出 |
| Third-party Integrations | 第三方集成 |
| Memory | 记忆系统 |
| Evaluation | 评估机制 |
| Agent Handoffs | Agent 转交 |
| Swarm Orchestration | Swarm 编排 |
| Routing Logic | 路由逻辑 |
ADK 强调 Plugins 和 Callbacks(Google 生态的扩展机制),Agents SDK 强调 Handoffs 和 Swarm(OpenAI 的多 Agent 编排模型)。Function Calling、Structured Outputs、Memory 是两者共有的基础能力。
ADK 开发示例
from google.adk.agents import Agent
from google.adk.tools import google_search, python_repl
research_agent = Agent(
name="research_agent",
model="gemini-2.0-flash",
description="专业的研究助手",
tools=[google_search, python_repl]
)
app = Agent(
name="research_team",
model="gemini-2.0-flash",
agents=[research_agent],
instruction="你是一个研究团队,可以协调多个专业研究员完成任务"
)
result = app.run("研究 2024 年 AI Agent 领域的最新进展")LLM 优化工具
仓库还收录了两个 Token 优化工具。
Toonify Token 优化
把文本压缩成更紧凑的符号格式,适合 prompt 模板固定、内容重复度高的场景:
from toonify import Toonifier
toonifier = Toonifier()
original = """
The user wants to create a new machine learning project.
We need to set up the environment, install dependencies,
configure the model, train the model, evaluate the results,
and deploy to production.
"""
compressed = toonifier.compress(original)
# 输出:USER→ML_PROJECT→ENV+DEPS+MODEL+TRAIN+EVAL+DEPLOY
restored = toonifier.restore(compressed)Headroom Context 优化
通过重要性评分裁剪上下文,只保留与当前查询最相关的片段,适合长上下文场景:
from headroom import HeadroomOptimizer
optimizer = HeadroomOptimizer(
max_tokens=8192,
strategy="importance_based"
)
optimized_context = optimizer.optimize(
full_context=long_context,
query=current_query
)
response = llm.generate(optimized_context)任务流案例:从需求到选型
假设要构建一个客服语音机器人:用户打电话用语音提问,机器人基于公司知识库回答,能记住用户历史偏好。
拆解能力需求
| 需求 | 对应能力轴 | 参考项目 |
|---|---|---|
| 接听电话、语音转文字 | Voice | Customer Support Voice Agent |
| 基于知识库回答 | RAG | Voice RAG Agent |
| 记住用户偏好 | Memory | LLM App with Personalized Memory |
| 调用 CRM 工单系统 | MCP | Multi-MCP Agent Router |
选型与组合
- 语音通道:参考
Customer Support Voice Agent(Twilio + ElevenLabs),已实现电话接入和 TTS。 - RAG 内核:参考
Voice RAG Agent的三段式管道,把知识库检索替换成公司内部文档。 - 记忆层:参考
PersonalizedMemory类,按user_id过滤检索历史交互。 - 工具接入:参考
Multi-MCP Agent Router,把 CRM 系统封装成 MCP Server。
组合后的数据流
用户来电 → Twilio 接听 → Whisper STT 转文字
→ PersonalizedMemory 检索用户历史
→ Agentic RAG 检索知识库 + 路由到 CRM MCP
→ LLM 生成回答
→ ElevenLabs TTS 转语音 → 播放给用户
→ PersonalizedMemory 写入本次交互本地运行
git clone https://github.com/Shubhamsaboo/awesome-llm-apps.git
cd awesome-llm-apps
pip install -r requirements.txt
export OPENAI_API_KEY="your-key"
export ANTHROPIC_API_KEY="your-key"
cd starter_ai_agents/ai_travel_agent
python app.py采用建议
- 先确定要学哪条能力轴
- 从
AI Travel Agent或AI Data Analysis Agent开始跑通,依赖少、流程清晰 - 按需求选进阶项目:做知识库选 RAG,做电话客服选 Voice,要对接外部系统选 MCP
- 学一个框架课程:Google ADK 或 OpenAI Agents SDK 二选一,把零散知识系统化
- 组合到自己的项目:参考任务流案例的拆解方式,从仓库里挑模块拼装
仓库代码是教学示例,错误处理、并发、监控都不够生产级。Stars 数会变化,选型时以仓库当前状态为准。部分项目依赖的 API(如 OpenAI Realtime API)可能需要特定权限或付费。
官方资源:
- GitHub:https://github.com/Shubhamsaboo/awesome-llm-apps
- 作者网站:https://www.theunwindai.com
- LinkedIn:https://www.linkedin.com/in/shubhamsaboo/
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。