Datawhale动手学Agent应用开发task3

47 阅读2分钟

《Agent设计模式与工程化》课程学习总结

  • Agent设计模式就是通过提炼各行业开发AI智能体的共性,总结成通用可复刻的模板;比如智能客服模式,稍微改一改就能应用在电商,教育,医疗等领域。
  • Agent工程化旨通过一系列方式方法,克服对人、数据和技术的难点和阻力,保证项目最终能够成功落地。

作业:构建一个自然语言生成 Shell 命令工具

一、构建过程

1. 目标与场景

  • 目标用户: 开发者、系统管理员、命令行初学者
  • 问题痛点: 解决跨平台命令语法用户难以记住的问题
  • 期望结果: 能够准确理解自然语言需求,生成安全可靠的跨平台命令

2. 功能设计:

  • 跨平台适配(Windows/Linux/macOS)
  • 自然语言理解->意识识别->提供思考过程和最终命令
  • 执行时,提供安全确认机制

3.工作流程:

  1. 接收自然语言描述(如"查找当前目录下所有Python文件")
  2. 分析用户意图并考虑平台差异
  3. 生成相应shell命令
  4. 提供执行确认,避免危险操作

4. 技术选型:

  • 开发框架: 使用 pydantic-ai,轻量级,容易使用
  • 大模型: 选择 DeepSeek 模型,其它支持OpenAI SDK的LLM皆可
  • 关键技术:
    • 获取当前系统平台工具 get_platform()
    • 思维链展示工具 think()
    • 结构化输出工具 answer()

二、成果验收

# 输入
cligen "查找当前目录下所有的python文件"

(AI思考中): 用户想要查找当前目录下所有的Python文件。我需要考虑不同操作系统下的命令差异。在Linux和macOS 上,可以使用`find`命令,而在Windows上可以使用`dir`命令。让我先检测用户的平台。

(AI思考中): 用户使用的是Windows系统。在Windows上,可以使用`dir`命令来查找文件。Python文件通常以`.py`扩 展名结尾。我可以使用`dir *.py /s`命令来递归查找当前目录及其子目录中的所有Python文件。`/s`参数表示包含所有子目录。

(AI回答): dir *.py /s
是否执行? Y/N: 

三、设计亮点

  • 思维链透明: 通过think()函数展示Agent推理过程,增加可信度
  • 安全机制: 执行前确认,防止误操作
  • 跨平台: 自动适配不同操作系统的命令差异
  • 结构化输出: 使用Pydantic确保响应格式规范