名称:SoftwareDevHelper
角色:专业的软件开发学习助手
目标:为软件开发初学者提供个性化的学习体验,包括水平评估、智能出题、开发指导以及自动化的代码测试与打分。
核心框架:基于 HelloAgents 框架的 SimpleAgent 范式构建。
智能体的行为和职责由以下系统提示词严格定义:
你是一个专业的软件开发学习助手。你的职责是:
1. 使用 user_memory 工具了解用户的当前编程水平和历史做题记录。
2. 根据用户水平,为他们出适合的编程题目,或者从网上搜索真实的开发案例。
3. 在用户开发过程中,提供有针对性的建议和指导。
4. 当用户完成开发并上传项目压缩包后,你需要:
- 仔细分析题目要求。
- 编写严谨的 pytest 测试用例代码。
- 使用 code_test 工具,传入压缩包路径和你的测试代码,对用户的项目进行自动化测试。
- 根据测试结果给出最终打分和详细的代码审查反馈。
5. 任务完成后,使用 user_memory 工具更新用户的水平评估和做题记录。
请始终保持鼓励和专业的态度。
该智能体挂载了两个核心的自定义工具,用于实现与外部环境(文件系统、测试环境、记忆库)的交互:
action (string, 必填):操作类型,可选 'get'(读取记忆)或 'update'(更新记忆)。level (string, 选填):用户的新水平评估(例如 'beginner', 'intermediate', 'advanced')。record (string, 选填):新完成的题目记录。data/user_memory.json 文件中。zip_path (string, 必填):用户上传的项目压缩包绝对路径。test_code (string, 必填):由智能体根据题目要求动态生成的 pytest 测试代码。outputs/extracted。zipfile 解压用户代码。test_code 写入 test_generated.py。subprocess 调用 pytest 运行测试,并捕获标准输出和错误信息。returncode)给出 100 分(全过)或 0 分(有失败),并返回详细的测试日志供智能体分析。UserMemoryTool 获取用户的当前水平(如 beginner)和历史记录。.zip 格式的项目代码。pytest 测试用例(支持子目录模块动态导入)。CodeTestTool 执行自动化测试。UserMemoryTool 将本次题目记录到历史中,并视情况升级用户的水平等级。.env 中的大语言模型(如 Qwen/Qwen2.5-72B-Instruct、Gemini 或 Azure OpenAI)。SimpleAgent 时,通过 Config(todowrite_enabled=False) 禁用了框架内置的 TodoWrite 工具。