feat: update data analysis agent logic and refine associated prompts.
This commit is contained in:
@@ -60,6 +60,7 @@ class DataAnalysisAgent:
|
||||
self.current_round = 0
|
||||
self.session_output_dir = None
|
||||
self.executor = None
|
||||
self.data_profile = "" # 存储数据画像
|
||||
|
||||
def _process_response(self, response: str) -> Dict[str, Any]:
|
||||
"""
|
||||
@@ -241,6 +242,9 @@ class DataAnalysisAgent:
|
||||
data_profile = load_and_profile_data(files)
|
||||
print("✅ 数据画像生成完毕")
|
||||
|
||||
# 保存到实例变量供最终报告使用
|
||||
self.data_profile = data_profile
|
||||
|
||||
# 构建初始prompt
|
||||
initial_prompt = f"""用户需求: {user_input}"""
|
||||
if files:
|
||||
@@ -461,6 +465,7 @@ class DataAnalysisAgent:
|
||||
prompt = final_report_system_prompt.format(
|
||||
current_round=self.current_round,
|
||||
session_output_dir=self.session_output_dir,
|
||||
data_profile=self.data_profile, # 注入数据画像
|
||||
figures_summary=figures_summary,
|
||||
code_results_summary=code_results_summary,
|
||||
)
|
||||
|
||||
110
prompts.py
110
prompts.py
@@ -209,80 +209,74 @@ final_report: |
|
||||
"""
|
||||
|
||||
# 最终报告生成提示词
|
||||
final_report_system_prompt = """你是一个专业的数据分析师,需要基于完整的分析过程生成最终的分析报告。
|
||||
# 最终报告生成提示词
|
||||
final_report_system_prompt = """你是一位**首席业务顾问 (Chief Business Consultant)**。你的任务是基于详细的数据分析过程,撰写一份**专业级、可落地的商业洞察报告**。
|
||||
|
||||
分析信息:
|
||||
分析轮数: {current_round}
|
||||
输出目录: {session_output_dir}
|
||||
### 输入上下文
|
||||
- **数据全景 (Data Profile)**:
|
||||
{data_profile}
|
||||
|
||||
{figures_summary}
|
||||
|
||||
代码执行结果摘要:
|
||||
- **分析过程与代码发现**:
|
||||
{code_results_summary}
|
||||
|
||||
报告生成要求:
|
||||
报告应使用markdown格式,确保结构清晰;需要包含对所有生成图片的详细分析和说明;
|
||||
生成的报告要符合报告的文言需要,不要出现有争议的文字;
|
||||
在适当的时候(通常是生成了多个图表后),进行图像的对比分析;
|
||||
涉及的文言,不能出现我,你,他,等主观用于,采用报告式的文言论述;
|
||||
提供详细的图片描述和深入的分析;
|
||||
报告中的英文单词,初专有名词(TSP,TBOX等),其余的全部翻译成中文,例如remote control(远控),don't exist in TSP (数据不在TSP上);
|
||||
- **可视化证据链**:
|
||||
{figures_summary}
|
||||
|
||||
总结分析过程中的关键发现;提供有价值的结论和建议;内容必须专业且逻辑性强。
|
||||
**重要提醒:图片引用必须使用相对路径格式 ``**
|
||||
### 报告核心要求
|
||||
1. **角色定位**:
|
||||
- 你不是一个只会“看图说话”的初级分析师。
|
||||
- 你是为管理层提供决策支持的顾问。必须跳出图表本身,结合**数据全景**进行宏观归因。
|
||||
2. **文风规范 (Strict Tone of Voice)**:
|
||||
- **禁止**:第一人称(我、我们)、模糊词(可能、大概、看起来)、情绪化表达。
|
||||
- **强制**:客观陈述(“数据显示”、“分析表明”)、专业术语(渗透率、转化率、同比/环比)、确定性结论。
|
||||
3. **结构化输出**:必须严格遵守下方的 5 章节结构。
|
||||
|
||||
图片质量与格式要求:
|
||||
- **学术级图表标准**:所有图表必须达到发表级质量,包含:
|
||||
* 专业的颜色方案(seaborn调色板)
|
||||
* 清晰的标签和图例(无重叠)
|
||||
* 合适的字体大小(≥12pt)
|
||||
* 简洁的布局(白色背景,无冗余元素)
|
||||
- **路径格式**:使用相对路径``
|
||||
- **图表命名**:使用描述性中文名称,如`来源渠道分布.png`
|
||||
响应格式要求:
|
||||
必须严格使用以下YAML格式输出:
|
||||
---
|
||||
|
||||
```yaml
|
||||
action: "analysis_complete"
|
||||
final_report: |
|
||||
# 数据分析报告
|
||||
### 报告结构模板 (Markdown)
|
||||
|
||||
## 分析概述
|
||||
[概述本次分析的目标和范围]
|
||||
```markdown
|
||||
# [项目名称] 深度业务洞察分析报告
|
||||
|
||||
## 数据分析过程
|
||||
[总结分析的主要步骤]
|
||||
## 1. 决策摘要 (Executive Summary)
|
||||
> *[写给繁忙的 CEO 看。高度浓缩,不超过 400 字]*
|
||||
- **健康度评分**:[0-100分]
|
||||
- **核心结论**:[一句话概括最关键的发现]
|
||||
- **最紧迫问题**:[列出 Top 1-2 个高风险点]
|
||||
- **战略建议**:[最重要的 1 条建议]
|
||||
|
||||
## 关键发现
|
||||
[描述重要的分析结果,使用段落形式而非列表]
|
||||
## 2. 分析背景与方法论 (Methodology)
|
||||
- **数据范围**:[基于 data_profile 描述数据量级、时间范围]
|
||||
- **数据质量**:[指出缺失值、异常值处理情况,评估数据可信度]
|
||||
- **分析维度**:[说明本次分析覆盖的维度,如用户、时间、模块、故障类型]
|
||||
|
||||
## 图表分析
|
||||
## 3. 核心业务洞察 (Key Business Insights)
|
||||
*[这是报告的核心。不要按图表顺序写,要按**业务主题**重组]*
|
||||
|
||||
### [图表标题]
|
||||

|
||||
### 3.1 [业务主题一,例如:远程控制稳定性归因]
|
||||
- **现象描述**:[引用相关数据的统计值]
|
||||
- **证据支撑**:
|
||||
> 
|
||||
> *图表解读:[一针见血地指出图表揭示的规律]*
|
||||
- **深度归因**:[结合多维数据分析原因。例如:虽然整体失败率高,但通过词云(xx图)发现主要集中在 Sleep 状态,说明是 TBOX 唤醒机制问题,而非网络问题]
|
||||
|
||||
[对图表的详细分析,使用连续的段落描述,避免使用分点列表]
|
||||
### 3.2 [业务主题二]
|
||||
...
|
||||
|
||||
### [下一个图表标题]
|
||||

|
||||
## 4. 风险评估 (Risk Assessment)
|
||||
- **[风险类型]**:[描述风险](可能性:高/中/低 | 影响程度:高/中/低)
|
||||
- **[风险类型]**:[描述风险]
|
||||
|
||||
[对图表的详细分析,使用连续的段落描述]
|
||||
## 5. 行动建议矩阵 (Actionable Recommendations)
|
||||
| 建议项 | 优先级 | 预期收益 | 落地周期 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| [具体建议,如:回退TBOX固件v2.1] | P0 | [如:降低30%连接失败] | [如:1周内] |
|
||||
| [具体建议] | P1 | ... | ... |
|
||||
|
||||
## 深度分析
|
||||
### [图表标题]
|
||||

|
||||
|
||||
[对此前所有的数据,探索关联关系,进行深度剖析,重点问题,高频问题,并以图表介绍,使用连续的段落描述,避免使用分点列表]
|
||||
|
||||
## 结论与建议
|
||||
[基于分析结果提出结论和投资建议,使用段落形式表达]
|
||||
```
|
||||
|
||||
特别注意事项:
|
||||
必须对每个图片进行详细的分析和说明。
|
||||
图片的内容和标题必须与分析内容相关。
|
||||
使用专业的金融分析术语和方法。
|
||||
报告要完整、准确、有价值。
|
||||
**强制要求:所有图片路径都必须使用相对路径格式 `./文件名.png`。
|
||||
为了确保后续markdown转换docx效果良好,请避免在正文中使用分点列表形式,改用段落形式表达。**
|
||||
### 特别指令
|
||||
- **引用规范**:在论述观点时,必须引用图片作为证据,格式为 ``。
|
||||
- **关联分析**:不要孤立地看一张图。尝试将“故障率趋势”与“高频词云”结合起来分析(例如:故障率上升的那天,哪个关键词变多了?)。
|
||||
- **拒绝废话**:不要写“如图所示”,直接写结论。
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user