Просмотр исходного кода

Merge pull request #68 from Tsumugii24/main

docs: update exercise for chapter3
jjyaoao 8 месяцев назад
Родитель
Сommit
df19b90f20

+ 3 - 3
docs/chapter2/第二章 智能体发展史.md

@@ -524,20 +524,20 @@ ELIZA的实践清晰地揭示了符号主义方法的核心矛盾:系统看似
    - 将"心智社会"理论与现在的一些多智能体系统(如[CAMEL-Workforce](https://docs.camel-ai.org/key_modules/workforce)、[MetaGPT](https://github.com/FoundationAgents/MetaGPT)、[CrewAI](https://github.com/crewAIInc/crewAI))进行对比,它们之间存在哪些关联和不同之处?
    - 马文·明斯基认为智能体可以是"无心"的简单过程,然而现在的大语言模型和智能体往往都拥有强大的推理能力。这是否意味着"心智社会"理论在大语言模型时代不再适用了?
    
-6. 强化学习与监督学习是两种不同的学习范式。请分析:
+5. 强化学习与监督学习是两种不同的学习范式。请分析:
    
    - 用AlphaGo的例子说明强化学习的"试错学习"机制是如何工作的
    - 为什么强化学习特别适合序贯决策问题?它与监督学习在数据需求上有什么本质区别?
    - 现在我们需要训练一个会玩超级马里奥游戏的智能体。如果分别使用监督学习和强化学习,各需要什么数据?哪种方法对于这个任务来说更合适?
    - 在大语言模型的训练过程中,强化学习起到了什么关键性的作用?
 
-7. 预训练-微调范式是现代人工智能领域的重要突破。请深入思考:
+6. 预训练-微调范式是现代人工智能领域的重要突破。请深入思考:
    
    - 为什么说预训练解决了符号主义时代的"知识获取瓶颈"问题?它们在知识表示方式上有什么本质区别?
    - 预训练模型的知识绝大部分来自互联网数据,这可能带来哪些问题?如何缓解以上问题?
    - 你认为"预训练-微调"范式是否可能会被某种新范式取代?或者它会长期存在?
    
-8. 假设你要设计一个"智能代码审查助手",它能够自动审查代码提交(Pull Request),概括代码的实现逻辑、检查代码质量、发现潜在BUG、提出改进建议。
+7. 假设你要设计一个"智能代码审查助手",它能够自动审查代码提交(Pull Request),概括代码的实现逻辑、检查代码质量、发现潜在BUG、提出改进建议。
    
    - 如果在符号主义时代(1980年代)设计这个系统,你会如何实现?会遇到什么困难?
    - 如果在没有大语言模型的深度学习时代(2015年左右),你会如何实现?

+ 42 - 0
docs/chapter3/第三章 大语言模型基础.md

@@ -947,6 +947,48 @@ print(response)
 
 这一章的LLM基础主要是为了帮助大家更好的理解大模型的诞生以及发展过程,其中也蕴含了智能体设计的部分思考。例如,如何设计有效的提示词来引导 Agent 的规划与决策,如何根据任务需求选择合适的模型,以及如何在 Agent 的工作流中加入验证机制以规避模型的幻觉等问题,其解决方案均建立在本章的基础之上。我们现在已经准备好从理论转向实践。在下一章,我们将开始探索智能体经典范式构建,将本章所学的知识应用于实际的智能体设计之中。
 
+
+
+## 习题
+
+1. 自然语言处理中,语言模型经历了从统计到神经网络的模型演进。
+
+   - 请使用本章提供的迷你语料库(`datawhale agent learns`, `datawhale agent works`),计算句子 `agent works` 在Bigram模型下的概率
+   - N-gram模型的核心假设是马尔可夫假设。请解释这个假设的含义,以及N-gram模型存在哪些根本性局限?
+   - 神经网络语言模型(RNN/LSTM)和Transformer分别是如何克服N-gram模型局限的?它们各自的优势是什么?
+
+2. Transformer架构<sup>[4]</sup>是现代大语言模型的基础。其中:
+
+   > <strong>提示</strong>:可以结合本章3.1.2节的代码实现来辅助理解
+
+   - 自注意力机制(Self-Attention)的核心思想是什么?
+   - 为什么Transformer能够并行处理序列,而RNN必须串行处理?位置编码(Positional Encoding)在其中起什么作用?
+   - Decoder-Only架构与完整的Encoder-Decoder架构有什么区别?为什么现在主流的大语言模型都采用Decoder-Only架构?
+
+3. 文本子词分词算法是大语言模型的一项关键技术,负责将文本转换为模型可处理的 token 序列。那为什么不能直接以"字符"或"单词"作为模型的输入单元?BPE(Byte Pair Encoding)算法解决了什么问题?
+
+4. 本章3.2.3节介绍了如何本地部署开源大语言模型。请完成以下实践和分析:
+
+   > <strong>提示</strong>:这是一道动手实践题,建议实际操作
+
+   - 按照本章的指导,在本地部署一个轻量级的开源模型(推荐[Qwen3-0.6B](https://modelscope.cn/models/Qwen/Qwen3-0.6B)),并尝试调整采样参数并观察其对输出的影响
+   - 选择一个具体任务(如文本分类、信息抽取、代码生成等),设计并对比以下不同的提示策略(如Zero-shot、Few-shot、Chain-of-Thought)对输出结果的效果差异
+   - 从性能、成本、可控性、隐私等维度比较闭源模型和开源模型
+   - 如果你要构建一个企业级的客服智能体,你会选择哪种类型的模型?需要考虑哪些因素?
+
+5. 模型幻觉(Hallucination)<sup>[11]</sup>是大语言模型当前存在的关键局限性之一。本章介绍了缓解幻觉的方法(如检索增强生成、多步推理、外部工具调用)
+
+   - 请选择其中一种,说明其工作原理和适用场景
+   - 调研前沿的研究和论文,是否还有其他的缓解模型幻觉的方法,他们又有哪些改进和优势?
+
+7. 假设你要设计一个论文辅助阅读智能体,它能够帮助研究人员快速阅读并理解学术论文,包括:总结论文研究的核心内容、回答关于论文的问题、提取关键信息、比较多篇不同论文的观点等。请回答:
+
+   - 你会选择哪个模型作为智能体设计时的基座模型?选择时需要考虑哪些因素?
+   - 如何设计提示词来引导模型更好地理解学术论文?学术论文通常很长,可能超过模型的上下文窗口限制,你会如何解决这个问题?
+   - 学术研究是严谨的,这意味着我们需要确保智能体生成的信息是准确客观忠于原文的。你认为系统中加入哪些设计能够更好的实现这一需求?
+
+
+
 ## 参考文献
 
 [1] Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. *Journal of Machine Learning Research*, 3, 1137-1155.