摘要

本文介绍了一个基于LLM的个人数字伙伴项目「小柏Agent」,包含5+1层记忆架构、混合RAG检索、LLM容错三层防护、信息抽取Pipeline等核心模块。项目有完整的测评体系(6维度220条测试,综合得分85.9%)和详细的面试手册(16章50张图解)。适合写简历、找实习、深入理解LLM应用开发。
dashboard


正文

一、项目介绍

小柏Agent是一个基于LLM的个人数字伙伴,支持微信/飞书/Web多通道接入。核心能力包括:

  • 长期记忆:5+1层记忆架构,记住用户说过的话、偏好、情绪
  • 智能检索:混合RAG(向量+BM25+Reranking),检索成功率100%
  • 主动关怀:规则驱动的主动提醒,4条规则+冷却机制
  • 容错防护:熔断器+响应缓存+兜底回复三层防护

二、核心架构

2.1 5+1层记忆架构

Layer 0: 对话存档(conversations)- 每句话都存
Layer 1: 结构化事实(facts)- 8种类型,Upsert去重
Layer 2: 情绪时间线(emotions)- 8种情绪,带强度
Layer 3: 关联索引(associations)- 关键词→消息映射
Layer 4: 任务管理(tasks)- 用户任务+系统任务
Layer +1: 学习记录(learning_log)- 学习内容+理解程度

关键设计

  • Upsert去重:152条→30-40条,减少70%噪音
  • 分层过滤:稳定画像全保留,临时事件只留7天
  • Embedding持久化:SQLite BLOB存储,避免重复计算

2.2 混合RAG检索

# 向量检索
query_emb = await cache.get_or_compute(query)
vector_scored = [(msg_id, cosine_similarity(query_emb, emb)) 
                 for msg_id, emb in all_msg_embs]

# BM25关键词检索
bm25 = BM25()
bm25.index(doc_ids, docs)
bm25_results = bm25.search(query, top_k=10)

# 混合Reranking
hybrid_score = 0.6 * vector_score + 0.4 * bm25_score

2.3 LLM容错三层防护

第一层:熔断器
- 连续失败5次 → 自动熔断
- 60秒后自动恢复

第二层:响应缓存
- LRU 100条
- TTL 1小时
- 相同query秒回

第三层:兜底回复
- LLM不可用时返回友好提示
- 用户永远不会看到错误

2.4 信息抽取Pipeline

# Fire-and-forget模式
async def handle_message(user_message):
    # 先回复用户
    response = await llm.chat(messages)
    yield response
    
    # 后台异步提取信息(不阻塞回复)
    facts, emotion, topics, is_learning, learning_info = 
        await extractor.extract(user_msg)

三、测评体系

基于98条真实对话数据的6维度综合测评:

维度 指标 测试数 结果
记忆召回 Recall@5 43条 100%
任务完成检测 准确率 64条 87.5%
情绪识别 一致率 7条 100%
RAG检索 成功率 25条 100%
信息抽取 覆盖率 8条 75%
上下文管理 连贯性 73条 53%

综合得分:85.9%

四、项目亮点

  1. 真实使用:不是demo,是真正使用了10天+的项目
  2. 完整架构:从记忆系统到容错机制,覆盖LLM应用核心
  3. 测评驱动:基于真实数据的测评体系,有具体数字
  4. 面试友好:16章面试手册+50张图解,面试直接讲

五、适合谁?

  • 🎯 找实习的同学:写简历、面试讲故事
  • 📚 学习LLM应用开发:完整的项目案例
  • 💼 准备面试:有详细的面试手册和图解

六、项目地址

GitHubronghuixiao/xiaobo-agent

技术栈:Python · FastAPI · SQLite · OpenAI API

七、快速开始

# 克隆项目
git clone https://github.com/ronghuixiao/xiaobo-agent.git

# 安装依赖
pip install -r requirements.txt

# 配置
cp config/config.yaml.example config/config.yaml
# 编辑config.yaml,填入你的API Key

# 启动
python main.py --daemon

八、面试手册

项目包含详细的面试手册(16章):

  1. 项目执行全流程
  2. 分层架构详解
  3. 核心模块深度解析
  4. LLM配置详解
  5. 测试工程
  6. Debug过程精华
  7. 项目改进方向
  8. 面试Q&A手册
  9. Tool Calling系统
  10. Skill系统
  11. 简历包装策略
  12. 测评框架
  13. 设计决策总览
  14. 多通道配置详解
  15. 核心模块详细代码
  16. 部署与配置详解

九、图解

项目包含50张图解,包括:

  • 技术图解(30张):架构图、流程图、设计图
  • 故事图解(20张):用比喻解释技术概念

十、最后

这个项目是我深入理解LLM应用开发的实践。
重点不是用了什么LLM,而是围绕LLM的Harness设计——
记忆系统、检索机制、上下文管理、容错处理、测试评估。

如果你也在做LLM应用,欢迎交流!


标签:AI、LLM、Agent、Python、大模型、人工智能、简历项目、找实习


Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐