Agent模式测试题
📝 测试时间:60分钟 💯 总分:100分 📌 答案请查看:[[Agent模式测试题答案]]
第一部分:概念理解(30分)
1. 单选题(每题3分,共15分)
1.1 以下哪个不是Agent的核心组成部分?
- A. Planning(规划层)
- B. Memory(记忆层)
- C. Database(数据库层)
- D. Tools(工具层)
1.2 Function Call的主要作用是什么?
- A. 让LLM运行得更快
- B. 让LLM能够结构化地调用外部函数
- C. 减少Token消耗
- D. 提高模型的推理能力
1.3 在多工具并行调用场景中,以下哪种说法是正确的?
- A. 必须等待第一个工具执行完才能调用第二个
- B. 可以同时发起多个独立的工具调用请求
- C. 并行调用会导致结果不准确
- D. 只有GPT-4支持并行调用
1.4 ReAct模式中的"Reflection"步骤的主要目的是?
- A. 重新执行失败的操作
- B. 分析执行结果并指导下一步行动
- C. 删除错误的历史记录
- D. 向用户报告执行进度
1.5 在Agent系统中使用Redis存储对话历史的主要优势是?
- A. 永久保存数据
- B. 快速读写和自动过期机制
- C. 支持复杂查询
- D. 数据安全性更高
2. 多选题(每题3分,共15分)
2.1 以下哪些属于Agent相比传统LLM的优势?(多选)
- A. 能够调用外部工具和API
- B. 具备自主决策能力
- C. 可以端到端完成复杂任务
- D. 不需要任何人工干预
- E. 能够处理实时信息
2.2 在设计Function Call的工具描述时,应该包含哪些信息?(多选)
- A. 工具名称(name)
- B. 工具功能描述(description)
- C. 参数定义(parameters)
- D. 工具的实现代码
- E. 必需参数列表(required)
2.3 以下哪些场景适合使用链式工具调用?(多选)
- A. 查询天气信息
- B. 搜索信息后生成报告并发送邮件
- C. 查询订单状态后检查物流信息
- D. 简单的数学计算
- E. 根据用户地址查询附近商家并推荐
2.4 在Messages列表中,可能出现哪些角色(role)?(多选)
- A. system
- B. user
- C. assistant
- D. tool
- E. admin
2.5 优化Agent性能可以采取哪些措施?(多选)
- A. 设置最大执行步数限制
- B. 优化工具描述的准确性
- C. 使用滑动窗口管理上下文
- D. 增加更多的工具
- E. 实现错误重试机制
第二部分:代码分析(30分)
3. 代码阅读题(每题10分,共30分)
3.1 阅读以下代码,回答问题:
| |
问题:
- 这段代码缺少什么关键步骤才能完成完整的工具调用流程?(5分)
- 如果LLM决定调用工具,response对象中会包含什么信息?(5分)
3.2 分析以下ReAct Agent的代码片段:
| |
问题:
- 这段代码实现了ReAct的哪三个核心步骤?(3分)
self.history的作用是什么?(3分)- 如果去掉
current_step < self.max_steps这个条件会有什么风险?(4分)
3.3 观察以下Redis存储代码:
| |
问题:
- 为什么要使用
json.dumps和json.loads?(3分) expire(self.session_id, 3600)的作用是什么?(3分)- 如果要实现"只保留最近10轮对话",应该如何修改代码?(4分)
第三部分:实战设计(40分)
4. 系统设计题(20分)
场景描述: 你需要设计一个"智能客服Agent",要求能够:
- 查询订单状态
- 查询物流信息
- 处理退款申请
- 回答常见问题
请回答:
4.1 列出至少4个需要实现的工具函数,并简要说明每个函数的功能和参数。(8分)
4.2 选择合适的Agent架构模式(Simple Workflow / ReAct / 中央调度),并说明理由。(6分)
4.3 设计记忆系统方案:如何存储用户的对话历史和订单上下文?(6分)
5. 问题解决题(20分)
5.1 调试问题(10分)
用户反馈:Agent在处理"帮我查一下订单123456的物流信息"时,总是回复"我无法查询实时信息",但工具函数已经正确实现。
可能的原因有哪些?请列举至少3个,并给出对应的解决方案。
5.2 优化问题(10分)
一个Agent系统在运行时出现以下问题:
- 问题1:经常超过最大步数限制仍未完成任务
- 问题2:Token消耗过大,成本很高
- 问题3:有时会重复调用相同的工具
针对每个问题,提出具体的优化方案。
第四部分:开放题(附加10分)
6. 思考与创新(10分)
6.1 如果要设计一个"AI编程助手Agent",它需要能够:
- 理解用户需求
- 搜索相关文档
- 生成代码
- 运行测试
- 修复错误
请设计完整的工作流程,包括:
- 需要哪些工具?
- 采用什么架构模式?
- 如何处理代码执行失败的情况?
(可以用流程图或伪代码表达)
评分标准
| 部分 | 分值 | 说明 |
|---|---|---|
| 概念理解 | 30分 | 考察基础知识掌握 |
| 代码分析 | 30分 | 考察代码理解能力 |
| 实战设计 | 40分 | 考察实际应用能力 |
| 开放题 | 10分 | 考察创新思维(附加分) |
| 总分 | 100+10分 | 满分100分,附加10分 |
答题说明
- 请在独立的文档中作答
- 代码题可以使用伪代码或Python
- 设计题注重思路清晰,不要求完美实现
- 开放题鼓励创新,没有标准答案
祝你考试顺利!🎉