安徽高考数据智能分析平台,基于多Agent架构实现智能志愿推荐。

- 了解学校 - 分析指定学校的综合信息(历年分数线、招生计划、专业详情等)
- 志愿推荐 - 根据考生排名和专业意向,制定冲稳保志愿方案,生成最终填报表格
- 多Agent协作 - 分数线分析、院校信息、专业组分析、策略推荐四大Agent协同工作
- 数据可视化 - 表格形式展示志愿方案,支持15-45个志愿推荐
┌─────────────────────────────────────────────────────────────┐
│ main.py (主入口) │
│ 功能选择 → 用户信息录入 → Agent调度 │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ GaokaoAgent │ │ MultiAgentSystem │ │ SchoolAnalysis │
│ (单Agent模式) │ │ (多Agent模式) │ │ (学校分析) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ ScoreAgent │ │ SchoolAgent │ │ MajorGroupAgent │
│ (分数线分析) │ │ (院校信息) │ │ (专业组分析) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────┼───────────────────┘
▼
┌─────────────────┐
│ Skills模块 │
│ (数据处理) │
└─────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ score_line_skill│ │ school_info_skill│ │ major_group_skill│
│ (分数线技能) │ │ (院校信息技能) │ │ (专业组技能) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Excel数据 │ │ Excel数据 │ │ Excel数据 │
└───────────┘ └───────────┘ └───────────┘
| 脚本 | 说明 |
|---|---|
main.py |
主入口程序,启动系统主菜单,支持功能选择(了解学校/志愿推荐) |
agent.py |
Agent框架核心,实现GaokaoAgent(单Agent)和MultiAgentSystem(多Agent) |
skills.py |
技能调度模块,统一管理和调用各技能 |
位于 skills/ 目录:
| 模块 | 说明 |
|---|---|
score_line_skill.py |
分数线分析技能:历年分数线、一分一段、批次线等 |
school_info_skill.py |
院校信息技能:基础信息、院校对比、录取分析 |
enrollment_plan_skill.py |
招生计划技能:招生章程、计划数、专业组计划 |
major_info_skill.py |
专业信息技能:专业详情、专业对比、专业就业分析 |
major_group_skill.py |
专业组分析技能:专业组划分、选科要求、志愿推荐 |
school_analysis_skill.py |
学校综合分析技能:整合多源数据生成完整报告 |
reference_data_skill.py |
参考数据技能:学科评估、大学排名、保研率等 |
| 脚本 | 说明 |
|---|---|
check_data_structure.py |
检查Excel数据文件结构(保留备用) |
安徽/
├── 1_最近年份数据/ # 📌 最新年度数据(2024-2025)
│ ├── 分数线/
│ │ ├── 院校分数-2020-2024.xlsx # 全国高校在皖招生历年分数
│ │ ├── 专业分数-2024-考试院.xlsx # 2024年各专业录取分数(考试院官方)
│ │ ├── 专业分数-2025.xlsx # 2025年专业分数预估
│ │ ├── 批次线-2021-2024.xlsx # 文科/理科一本、二本批次控制线
│ │ └── 一分一段-2017-2024.xlsx # 全省一分一段表(用于位次转换)
│ ├── 招生计划/
│ │ ├── 招生计划-2025.xlsx # 2025年各高校在皖招生计划
│ │ ├── 招生计划-2024-完整版.xlsx # 2024年完整招生计划
│ │ └── 选科要求-2024.xlsx # 各专业选科限制(物理/历史等)
│ └── 选科信息/
├── 2_历史数据/ # 📊 历年数据(趋势分析)
│ ├── 2020年及以前/
│ │ ├── 安徽高考数据-2017~2020.xlsx # 历年高考数据
│ │ ├── 院校分数-2016-2020.xlsx # 2016-2020院校分数
│ │ └── 专业分数-2018~2020-提前批.xlsx # 提前批专业分数
│ ├── 2021年数据/
│ │ ├── 专业分数-2021.xlsx # 2021专业分数
│ │ └── 招生章程-2021.xlsx # 招生章程
│ └── 2022年数据/
│ ├── 专业分数-2022.xlsx # 2022专业分数
│ └── 招生章程-2022.xlsx # 招生章程
├── 3_院校信息/ # 🏫 院校基础信息
│ ├── 院校基础信息.xlsx # 院校电话、地址、985/211/双一流标识
│ └── 2023安徽专业分数线数据库.xlsx # 2023专业分数线汇总
├── 4_专业信息/ # 📚 专业详情数据
│ ├── 专业基本介绍.xlsx # 专业培养目标、课程设置
│ ├── 专业就业信息.xlsx # 就业率、薪酬数据
│ ├── 专业排名信息.xlsx # 各专业大学排名
│ ├── 专业就业行业分布分析.xlsx # 毕业后行业分布
│ ├── 专业就业职业方向分析.xlsx # 毕业后职业方向
│ ├── 专业就业地区分布分析.xlsx # 毕业后就业地区
│ ├── 重点专业.xlsx # 国家级/省级重点专业
│ └── 特色专业-2021.xlsx # 院校特色专业
└── 5_参考数据/ # 🔍 深度参考
├── 第四轮学科评估-完整版.xlsx # 学科评估结果(A+/A/A-等)
├── 大学排名(软科/QS/校友会/泰晤士等).xlsx # 多种排名
├── 保研资格院校保研率统计-2021.xls # 保研率数据
└── 本科专业目录-2023.xlsx # 教育部本科专业目录
| 文件 | 用途 |
|---|---|
院校分数-2020-2024.xlsx |
查询某院校历年录取分数线,对比趋势 |
专业分数-2024-考试院.xlsx |
查询某专业在各院校的录取分数 |
一分一段-2017-2024.xlsx |
根据分数查全省位次,或根据位次查等价分数 |
批次线-2021-2024.xlsx |
了解当年一本、二本控制线 |
| 文件 | 用途 |
|---|---|
招生计划-2025.xlsx |
查看各院校招生专业和计划人数 |
选科要求-2024.xlsx |
确认目标专业的选科限制 |
| 文件 | 用途 |
|---|---|
专业就业信息.xlsx |
了解专业就业率和平均薪酬 |
专业排名信息.xlsx |
查看某专业有哪些好学校 |
重点专业/特色专业.xlsx |
识别院校优势专业 |
本系统采用 "排名法" 而非"分数法"作为核心推荐依据:
排名法优势:
- 每年高考难度不同,但排名相对稳定
- 用位次对标往年数据更准确
- 避免因题目难度导致的分数波动
┌─────────────────────────────────────────────────────────────────┐
│ 志愿推荐完整流程 │
└─────────────────────────────────────────────────────────────────┘
第1步:用户输入
──────────────────────────────────────────────────────────────────
输入:全省排名 + 意向专业 + 意向城市(可选)+ 院校偏好(可选)
第2步:分数线分析(ScoreAgent)
──────────────────────────────────────────────────────────────────
• 根据排名换算等效分数
• 对标2024年各院校专业录取位次
• 筛选出"有希望"的院校范围
第3步:院校信息分析(SchoolAgent)
──────────────────────────────────────────────────────────────────
• 查询院校基础信息(985/211/城市)
• 过滤意向城市、院校偏好
• 评估院校综合实力
第4步:专业组分析(MajorGroupAgent)
──────────────────────────────────────────────────────────────────
• 按专业相关性分组
• 确保所有推荐专业与意向专业相关
• 计算专业组内录取概率
第5步:策略推荐(StrategyAgent)
──────────────────────────────────────────────────────────────────
• 制定冲稳保策略
• 冲:排名略高于往年录取位次(概率40%-60%)
• 稳:排名与往年录取位次相当(概率60%-80%)
• 保:排名远高于往年录取位次(概率80%+)
第6步:生成最终方案
──────────────────────────────────────────────────────────────────
• 按比例选取:冲5 + 稳15 + 保25 ≈ 45个志愿
• 生成志愿填报表格
• 输出详细分析报告
| 策略 | 数量建议 | 录取概率 | 说明 |
|---|---|---|---|
| 冲一冲 | 5个 | 40%-60% | 尝试冲击比自身排名更高的院校 |
| 稳一稳 | 15个 | 60%-80% | 录取概率较大的目标院校 |
| 保一保 | 25个 | 80%+ | 确保有学可上的稳妥院校 |
-
专业相关性 - 所有推荐专业必须与用户意向专业相关
- 例如:用户选择"数学",则推荐专业组都包含数学相关
-
城市偏好 - 可选筛选条件
- 如选择"合肥",则优先推荐合肥院校
-
院校层次 - 可选筛选条件
- 如选择"211",则过滤非211院校
-
志愿数量 - 最多45个,至少15个推荐
cd /Users/lingziyang/Desktop/Gaokao
python main.py╔════════════════════════════════════════════════════════════╗
║ 🎓 AI辅助高考志愿填报系统 v1.0 ║
║ 安徽高考数据智能分析平台 ║
╚════════════════════════════════════════════════════════════╝
欢迎使用AI辅助高考志愿填报系统!
本系统提供两大核心功能:
┌─────────────────────────────────────────────────────────┐
│ 1️⃣ 了解学校 - 分析指定学校的综合信息(历年分数线、 │
│ 招生计划、专业详情等) │
│ │
│ 2️⃣ 志愿推荐 - 根据您的分数/排名,制定冲稳保志愿方案 │
│ 并生成最终填报表格 │
└─────────────────────────────────────────────────────────┘
请选择功能(输入 1 或 2,输入 exit 退出):
直接输入学校名称即可分析该校综合信息:
请输入要查询的学校名称:安徽大学
🏫 正在分析: 安徽大学
⏳ 正在从多个数据源提取学校信息...
================================================================================
🏫 安徽大学 - 综合信息分析报告
================================================================================
📅 分析时间: 2026-06-24 00:29:03
📋 【基础信息】
--------------------------------------------------------------------------------
院校类型: 综合
所在地区: 安徽 合肥市
院校层次: 211 双一流
保研率: 14.2%
...
📈 【历年分数线】(2020-2024)
--------------------------------------------------------------------------------
年份 科类 批次 分数线 最低位次
📊 【招生计划】(2025年)
--------------------------------------------------------------------------------
专业组 包含专业 计划数 科目要求
📚 【专业详情】(2024年)
--------------------------------------------------------------------------------
专业名称 最高分 最低分 平均分 位次
💡 【录取分析与建议】
--------------------------------------------------------------------------------
- 录入用户信息(排名、专业、科目等)
- 选择Agent模式(单Agent/多Agent)
- 输入问题获取分析结果
请输入你的问题:帮我制定一个冲稳保的志愿方案
运行后会在 output/ 目录下创建以时间命名的文件夹:
output/
└── 20260624_003045/
├── result.txt # 完整输出日志
├── multi_agent_result_*.txt # 多Agent结果
├── agent_outputs/ # 各Agent单独输出
│ ├── 01_score_agent_*.txt
│ ├── 02_school_agent_*.txt
│ ├── 03_major_group_agent_*.txt
│ └── 04_strategy_agent_*.txt
└── raw_data/ # 原始数据
├── multi_agent_raw_data_*.json
└── raw_data_*.json
================================================================================================
🎯 志愿方案最终填报表格
================================================================================================
┌──────┬────────────────────────────────┬────────────┬──────────┬──────────────┬────────────┬────────────┬────────────┐
│ 志愿 │ 学校名称 │ 专业组代码 │ 科目要求 │ 包含专业 │ 录取概率 │ 平均位次 │ 计划人数 │
├──────┼────────────────────────────────┼────────────┼──────────┼──────────────┼────────────┼────────────┼────────────┤
│ 1 │ 合肥工业大学 │ 001 │ 物理 │ 计算机;软件 │ 40%-50% │ 12000 │ 50 │
│ 2 │ 安徽大学 │ 002 │ 物理 │ 数学;物理 │ 60%-70% │ 15000 │ 80 │
...
📊 填报统计:
总计: 20 个志愿
冲一冲: 5 个(录取概率较低,尝试冲击更高层次院校)
稳一稳: 10 个(录取概率较高,匹配自身分数段)
保一保: 5 个(录取概率很高,确保有学可上)
备选库: 共 45 个专业组可选择
- Python 3.8+
- openpyxl(Excel处理)
- 配置好API密钥(见
.env文件)
如需更新数据,将新的Excel文件放入对应的数据目录:
- 分数线数据 →
安徽/1_最近年份数据/分数线/ - 招生计划 →
安徽/1_最近年份数据/招生计划/ - 院校信息 →
安徽/3_院校信息/ - 专业信息 →
安徽/4_专业信息/
- 模块化设计 - 各功能独立为Skill,可单独调用和测试
- 多Agent协作 - 不同Agent负责不同分析任务,结果汇总输出
- 智能志愿推荐 - 基于冲稳保策略,结合专业相关性约束
- 数据自动整合 - 从多个Excel文件提取数据,生成统一报告
- 输出保存 - 完整日志和分门别类的数据文件便于事后回顾
- 排名是主要对标往年数据的指标,应优先填写
- 意向专业是必填项,所有推荐将围绕该专业展开
- 志愿数目建议15-20个,最多45个
- 数据来源于安徽省教育考试院,仅供参考