铁佛 发表于 2024-12-22 22:03:42

智能体实战(需求分析助手)二、需求分析助手第一版实现(支持需求提取、整

基于提供的调用 qwen-plus 大模子的实战代码,我将对需求分析助手的第一迭代功能目标举行实现设计。以下是基于该示例代码的第一迭代功能实现细化方案:
功能 1:用户与需求分析助手交互界面(文本交互)

实现步调:


[*]界面设计:设计一个轻便的文本交互界面,可以使用命令行界面 (CLI) 的交互方式(。
[*]吸收用户输入:实现功能用于吸收用户需求的文本形貌。
[*]反馈表现:将大模子生成的反馈(如分析结果和分类)表现给用户。
功能 2:需求获取与提问模板

实现步调:


[*]需求模板设计:创建一个标准模板,包罗:

[*]需求目标
[*]痛点
[*]解决方案
[*]案例参考
[*]紧急程度

[*]动态提问:根据模板,逐步引导用户填写各项关键信息。
[*]输入验证:确保用户填写的信息完备,并举行开端格式校验。
功能 3:需求分类与优先级评估

实现步调:


[*]分类模子:在 prompt 中添加需求分类逻辑:功能需求、非功能需求等。
[*]优先级评估:基于紧急程度字段,实现开端算法;例如:

[*]高:用户输入“必须马上完成”
[*]中:用户输入“计划两周内完成”
[*]低:用户输入“长期目标”。

功能 4:输出开端需求列表

实现步调:


[*]需求输出格式:布局化展示整理的需求列表,包括分类和优先级。
[*]导出功能:支持将需求列表导出为 Markdown 文件。
代码参考 :

没有环境大概环境不会搭建的同砚请参考前面写过的这篇文章:根本开发环境搭建篇
import os
import dashscope

# 设置 Dashscope API 密钥(需要替换为实际值)
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY", "your_api_key_here")

# 使用 qwen-plus 进行需求整理和分类
def analyze_requirements(requirements_text):
    prompt = """
    请分析以下用户需求:
    1. 结合用户需求描述,生成包括业务场景、价值和痛点的内容。
    2. 将每个需求分类为功能需求或非功能需求。
    3. 根据紧急程度(高、中/低)评估每个需求的优先级。
    4. 输出格式为:
       - 原始需求描述:
       - 业务场景:
       - 价值:
       - 痛点:
       - 类型:
       - 优先级:
    """
    messages = [
      {"role": "system", "content": prompt},
      {"role": "user", "content": requirements_text}
    ]
    try:
      response = dashscope.Generation.call(
            api_key=DASHSCOPE_API_KEY,
            model="qwen-plus",
            messages=messages,
            result_format="message"
      )
      content = response.get("output", {}).get("choices", [{}]).get("message", {}).get("content")
      return content
    except Exception as e:
      return f"调用模型时出错: {e}"

# 处理用户输入,确保换行符作为文本的一部分
def collect_input(prompt):
    print(prompt)
    lines = []
    print("(按两次回车结束输入)")
    while True:
      line = input()
      if line == "":
            # 检测连续空输入,结束多行输入
            if not lines or lines[-1] == "":
                break
      lines.append(line)
    return " ".join(lines).strip()

# 获取用户需求的函数
def collect_requirements():
    print("\n请按照提示输入您的需求信息:")
    requirements = []
   
    while True:
      print("\n=== 新的需求 ===")
      goal = collect_input("1. 您的目标是什么?")
      pain_point = collect_input("2. 您希望解决哪些痛点?")
      solution = collect_input("3. 描述您的解决方案:")
      examples = collect_input("4. 提供相关的示例或参考(可选):")
      urgency = collect_input("5. 紧急程度如何(高/中/低)?")
      
      requirement = (
            f"目标: {goal}\n"
            f"痛点: {pain_point}\n"
            f"解决方案: {solution}\n"
            f"示例: {examples}\n"
            f"紧急程度: {urgency}\n"
      )
      requirements.append(requirement)
      
      while True:
            more = input("\n是否需要添加另一个需求?(是/否):").strip().lower()
            if more in ["是", "yes", "否", "no"]:
                break
            print("请输入明确的回答:是/否")
      
      if more in ["否", "no"]:
            break
   
    return "\n".join(requirements)

# 保存需求列表到文件
def save_requirements_to_file(content, filename="requirements.md"):
    try:
      with open(filename, "w", encoding="utf-8") as file:
            file.write("# 需求分析报告\n\n")
            file.write(content)
      print(f"\n需求分析报告已保存到 {filename}")
    except Exception as e:
      print(f"\n保存文件时出错: {e}")

# 主函数
def main():
    print("=== 欢迎使用需求分析助手 ===\n")
   
    # Step 1: Collect requirements
    requirements_text = collect_requirements()
   
    while True:
      # Step 2: Analyze requirements using qwen-plus model
      print("\n正在分析需求,请稍候...")
      analysis_result = analyze_requirements(requirements_text)
      print("\n=== 分析结果 ===")
      print(analysis_result)
      
      # Step 3: Ask for confirmation
      confirm = input("\n是否确认需求并生成文件?(是/否):").strip().lower()
      if confirm in ["是", "yes"]:
            save_requirements_to_file(analysis_result)
            break
      elif confirm in ["否", "no"]:
            print("\n请完善您的需求:")
            additional_requirements = collect_requirements()
            requirements_text += "\n" + additional_requirements
      else:
            print("请输入明确的回答:是/否")

if __name__ == "__main__":
    main()

运行效果 :

1、需求素材案例:

   需求形貌:
在设计一款智能汽车时,我们的目标是打造一个集成了尖端科技、舒服体验和安全保障的移动空间。这款汽车将配备主动驾驶功能,能够在复杂的交通环境中安全导航,同时减轻驾驶员的疲劳。车内将有一个智能语音助手,能够理解并实验搭客的指令,如调整车内温度、播放音乐、导航至目的地等。此外,车辆将配备先辈的传感器和摄像头,以实现360度的环境感知,确保在任何天气和光照条件下都能提供正确的路况信息。车内娱乐体系将支持高清视频流和游戏,让搭客在长途观光中也能享受娱乐。同时,车辆将具备远程控制功能,答应车主通过智能手机应用监控和控制车辆状态,如预冷或预热车内环境、远程锁定息争锁车门等。为了进步能效,车辆将接纳混合动力或纯电动驱动,配备能量接纳体系,以减少能源斲丧并低落运行本钱。
    用户痛点:
主要会合在传统汽车的驾驶疲劳、操作复杂性、安全问题以及环境影响上。智能汽车通过主动化和智能化解决了这些问题,提供了更加便捷、安全和环保的出行选择。例如,主动驾驶功能可以减少因人为操作失误导致的交通事故,智能语音助手简化了驾驶过程中的操作,而电动驱动则减少了对环境的污染。
    案例:我们可以鉴戒特斯拉Model S的乐成。特斯拉Model S不但以其电动动力体系和主动驾驶功能著称,还以其轻便的内饰设计和集成的触摸屏控制中心吸引了消费者。这款车通过软件更新不断引入新功能,如主动驾驶辅助体系Autopilot和Over-the-Air更新,这些都极大地提升了用户体验,并减少了对传统服务站的依赖。通过如许的案例,我们可以看到智能汽车如何通过不断的技术创新和用户友爱的设计来满足现代出行的需求。
2、生成需求文档效果:

https://i-blog.csdnimg.cn/direct/ab2353482e2242c09bf989cdc9576624.png
总结

基于以上方案,每个功能模块均可以基于 qwen-plus 的大模子实现焦点逻辑,同时将输入输出格式化为布局化需求列表。
本篇实现了一个根本的需求网络,需求分析,需求陈诉生成的“需求分析助手”,此助手已经具备较强的需求分析本领,后续章节将按照迭代计划连续迭代升级打造一个功能完善的需求分析助手!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 智能体实战(需求分析助手)二、需求分析助手第一版实现(支持需求提取、整