SWE270P最终项目——费用比较(多代理MCP系统)
这个存储库包含我们SWE270P的最终项目:一个多代理系统 与模型上下文协议(MCP)集成,生成完整的 软件应用程序通过用户界面提供的描述和要求。
项目描述
我们选择的项目是 费用比较,一种金融工具,允许用户:
- 投入费用
- 对支出进行分类
- 比较自定义时间段的支出
- 查看可视化费用明细和趋势
项目目标
- 构建一个功能齐全的 多智能体系统 使用MCP。
- 创建一个 用户界面 它接受软件描述+要求。
- 自动生成:
- 可执行应用程序代码 - 可执行测试用例
- 跟踪LLM使用情况(API调用+令牌计数)。
- 在第10周演示系统设计+MCP协作流程。
运行人工智能费用比较器
此项目使用基于src的项目布局,因此从终端运行时,必须明确告知Python解释器在哪里可以找到根包(app、agent、mcp)。
1.激活虚拟环境
source.ven/bin/activate (或者为您的shell使用等效的激活命令。)
2.在Python导入路径中添加src/
由于项目模块位于src/目录中,因此必须设置PYTHONPATH,以便Python可以定位它们: 导出Python=src 除非将其添加到shell配置文件中,否则每次打开新的终端会话时都需要执行此操作。
3.运行编排器
设置PYTHONPATH后,您可以从项目根目录运行应用程序: python-m app.main“构建一个Expense Comparator应用程序,使用户可以手动输入开支,也可以选择上载CSV。每个开支都包括日期、描述、金额、类别和帐户。用户可以创建、编辑和映射类别。系统必须比较不同时间段(包括自定义日期范围)的开支,并检测订阅等经常性开支。它还必须使用图表或图形(包括类别细分图、时间序列趋势图和选定日期范围之间的比较图)生成开支的清晰可视化表示。此外,应用程序还应生成突出显示开支趋势、异常情况和领域的见解,以改善财务状况。系统应存储开支、类别、经常性模式和导入日志。UI可能基于CLI或API,但必须支持输入费用、选择日期范围、查看比较和显示可视化报告。请生成需求、域模型、体系结构、完整的代码框架,测试框架和涵盖所有这些功能的设计审查。"
如果省略PYTHONPATH=src,您将看到:
ModuleNotFoundError:没有名为“app”的模块 因为Python在src/中找不到包。
为什么需要此步骤
该项目使用src/目录来存储所有Python包。
这是一个常见且推荐的项目布局,但Python在终端中运行时不会自动将src/添加到导入路径中。
PyCharm会自动添加src/,因为它被标记为Sources Root,这就是为什么在PyCharm中运行时不需要这个步骤。
终端需要显式的PYTHONPATH=src,这样它就知道在哪里可以找到应用程序、代理程序和mcp。
可选:使其永久化
您可以通过添加以下内容来避免每次键入export PYTHONPATH=src:
导出Python=src 转到您的~/.zshrc或~/.bashrc。
