Răsfoiți Sursa

docs: update exercise for chapter6

Tsumugii24 8 luni în urmă
părinte
comite
25fd63b195
1 a modificat fișierele cu 34 adăugiri și 1 ștergeri
  1. 34 1
      docs/chapter6/第六章 框架开发实践.md

+ 34 - 1
docs/chapter6/第六章 框架开发实践.md

@@ -1285,11 +1285,45 @@ def create_search_assistant():
 在下一章中,我们将进入本教程的核心内容,从零开始,亲手构建一个属于我们自己的智能体框架,将所有理论与实践融会贯通。
 
 
+## 习题
 
+1. 本章介绍了四个各具特色的智能体框架:`AutoGen`、`AgentScope`、`CAMEL` 和 `LangGraph`。请分析:
 
+   - 在6.1.2节的表6.1中,对比了这四个框架的多个维度。请选择其中两个你最熟悉的框架,从"协作模式"、"控制方式"、"适用场景"三个维度进一步深入对比。
+   - 本章提到了"涌现式协作"与"显式控制"之间的权衡,如何理解这两种设计哲学的含义。
+   
+2. 在6.2节的 `AutoGen` 案例中,我们构建了一个"软件开发团队"。请基于此案例进行扩展思考:
 
+   > <strong>提示</strong>:这是一道动手实践题,建议实际操作
 
+   - 当前的团队使用 `RoundRobinGroupChat`(轮询群聊)模式,智能体按固定顺序发言。如果需求变更,工程师的代码需要返回给产品经理重新审核,应该如何修改协作流程?请设计一个支持"动态回退"的机制。
+   - 在案例中,我们通过 `System Message` 为每个智能体定义了角色和职责。请尝试为这个团队添加一个新角色"测试工程师"(`Quality Assurance`),并设计其系统消息,使其能够在代码审查后执行自动化测试。
+   - `AutoGen` 的对话式协作存在可能的不稳定性,可能导致对话偏离主题或陷入循环。请思考:如何设计一套"对话质量监控"机制,在检测到异常时及时干预?
 
+3. 在6.3节的 `AgentScope` 案例中,我们实现了一个"三国狼人杀"游戏。请深入分析:
+
+   - 案例中使用了 `MsgHub`(消息中心)来管理智能体间的通信。请解释消息驱动架构相比传统函数调用的优势是什么?在什么场景下这种架构特别有价值?
+   - 游戏中使用了结构化输出(如 `DiscussionModelCN`、`WitchActionModelCN`)来约束智能体行为。请设计一个新的游戏角色"猎人",并定义其对应的结构化输出模型,包括字段定义和验证规则。
+   - `AgentScope` 支持分布式部署,这意味着不同的智能体可以运行在不同的服务器上。请思考:在"三国狼人杀"这样的实时游戏场景中,分布式部署会带来哪些技术挑战?如何保证消息的顺序性和一致性?
+
+4. 在6.4节的 `CAMEL` 案例中,我们让心理学家和作家协作创作电子书。
+
+   - 在案例中,协作会在检测到 `<CAMEL_TASK_DONE>` 标志时强制终止。但如果两个智能体意见分歧(一位认为可以终止,一位认为不应该终止),无法达成一致怎么办?请设计一个"冲突解决"的兼容机制。
+   - `CAMEL` 最初设计用于双智能体协作,但现在已经扩展支持多智能体。请查阅 `CAMEL` 的最新文档,了解其多智能体协作模块 [`workforce`](https://docs.camel-ai.org/key_modules/workforce),并结合架构图说明其与 `AutoGen` 的群聊模式有何不同。
+   
+5. 在6.5节的 `LangGraph` 案例中,我们构建了一个"三步问答助手"。请分析:
+
+   - `LangGraph` 将智能体流程建模为状态机和有向图。请画出案例中"理解-搜索-回答"流程的图结构,标注节点、边和状态转换条件。
+   - 当前的助手是一个线性流程。请扩展这个案例,添加一个"反思"节点:如果生成的答案质量低(例如过于简短或缺乏细节),系统应该重新搜索或重新生成答案。请设计这个循环机制的条件边逻辑。
+   - `LangGraph` 的优势在于对循环的原生支持。请设计一个更复杂的应用场景,充分利用这一特性:例如"代码生成-测试-修复"循环、"论文写作-审阅-修改"循环等。要求画出完整的图结构并说明关键节点的功能。
+
+6. 框架选型是智能体产品开发过程中的关键决策之一。假设你是一家 `AI` 公司的技术架构师,公司计划开发以下三个智能体产品应用,请为每个应用选择最合适的框架(`AutoGen`、`AgentScope`、`CAMEL`、`LangGraph` 或不借助框架从零开发),并详细说明理由:
+
+   <strong>应用A</strong>:智能客服系统,需要处理大量并发用户请求(每秒1000+),要求响应时间低于2秒,系统需要7×24小时稳定运行,并支持水平扩展。
+
+   <strong>应用B</strong>:科研论文辅助写作平台,需要一个"研究员智能体"和一个"写作智能体"深度协作,共同完成文献综述、实验设计、数据分析和论文撰写。要求智能体能够进行多轮深度讨论,自主推进任务。
+
+   <strong>应用C</strong>:金融风控审批系统,需要按照严格的流程处理贷款申请:资料审核 → 风险评估 → 额度计算 → 合规检查 → 人工复核 → 最终决策。每个环节都有明确的判断标准和分支逻辑,要求流程可追溯、可审计。
 
 
 ## 参考文献
@@ -1303,4 +1337,3 @@ def create_search_assistant():
 [4] LangChain. LangGraph [EB/OL]. (2024). https://github.com/langchain-ai/langgraph.
 
 [5] Microsoft. AutoGen - UserProxyAgent [EB/OL]. (2024). https://microsoft.github.io/autogen/stable/reference/python/autogen_agentchat.agents.html#autogen_agentchat.agents.UserProxyAgent.
-