# 造浪2025AIAgent创新赛 **Repository Path**: lucianaib/AgentCompetition ## Basic Information - **Project Name**: 造浪2025AIAgent创新赛 - **Description**: 造浪2025AIAgent创新赛 作品提交仓 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 23 - **Created**: 2025-12-08 - **Last Updated**: 2025-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 基于 LazyLLM 开发的打工人述职Agent ## 📝 项目简介 **项目名称:** 打工人述职Agent **项目背景:** 面对职场中**周报、季度/年度述职报告**等耗时费力的写作任务,本项目旨在利用大模型(LLM)技术,构建一个**智能述职Agent**。该Agent能够接收用户的 **OKR(目标)** 和 **工作内容(周报/多周报)** 作为输入,并自动生成结构清晰、内容专业的周报或季度/年度述职报告。 **核心价值:** - **效率提升:** 将繁琐的报告撰写过程交给机器,大幅减少打工人的时间消耗。 - **质量保障:** 确保报告内容紧扣 OKR,语言专业、结果导向,避免空话套话。 - **低代码实现:** 采用 **LazyLLM** 低代码框架进行快速开发和部署。 ## ⚙️ 技术栈 | **类别** | **技术/工具** | **描述** | | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | **核心框架** | **LazyLLM (v0.x)** | 低代码 LLM 应用开发框架,用于快速构建和编排 Agent Pipeline。 | | **大模型(LLM)** | **SenseNova** | 提供核心语言生成能力的 API 接口。 | | **编程语言** | Python 3.12 | 项目主要实现语言。 | | **API/工具** | `os`, `lazyllm.OnlineChatModule`, `pipeline`, `warp`, `bind`, `JsonFormatter` | 用于环境变量配置、模块定义、流程编排和数据处理。 | | **部署环境** | `lazyllm.WebModule` | 提供内置的 Web Server,用于启动和暴露 Agent 服务。 | ## 🏗️ 架构设计 本项目采用 **Agent Pipeline** 架构,基于 LazyLLM 框架实现**多步骤任务拆解与协同**。 #### **Agent 流程(Pipeline)** 1. **Outline Generator (`outline_writer`):** - **职责:** 根据用户输入(OKR + 工作内容),判断是周报还是季度/年度述职,并调用 LLM 生成**结构化、分层级**的报告大纲(TOC)。 - **核心组件:** `OnlineChatModule` + **`JsonFormatter`** + `toc_prompt`。`JsonFormatter` 确保大纲输出为合法的 JSON 格式,便于后续处理。 2. **Story Generator (`story_generater`):** - **职责:** **并行/逐个**处理 Outline Generator 输出的每个章节标题和写作指导。 - **核心组件:** **`warp`** + `OnlineChatModule` + `writer_prompt`。`warp` 函数是 LazyLLM 中实现**循环迭代**的关键,它使得 Pipeline 可以将大纲列表中的每个元素作为输入,并行调用 LLM 生成对应的正文内容。 3. **Synthesizer (`synthesizer`):** - **职责:** 接收 Story Generator 输出的所有正文段落,以及 Outline Generator 产生的原始大纲结构,将**标题**和**正文**进行合并,生成最终的 Markdown 格式报告。 - **核心组件:** `lambda` 函数 + **`bind`**。`bind` 用于将 `outline_writer` 的输出作为命名参数传递给 `lambda` 函数,实现跨步骤的数据引用。 #### 整体流程图 ![整体流程图](整体流程图.png) ## 📦 部署说明 #### 1. 前置准备 1. **安装 LazyLLM:** ```bash pip install lazyllm ``` 2. **获取 SenseNova API 凭据:** 在 SenseCore 控制台获取 `API_KEY` 和 `SECRET_ID`。 #### 2. 代码配置 将获取到的 API 凭据替换代码中的占位符: ```Python API_KEY = "..." # 替换为您的 API Key SECRET_ID = "..." # 替换为您的 Secret ID os.environ["LAZYLLM_SENSENOVA_API_KEY"] = API_KEY os.environ["LAZYLLM_SENSENOVA_SECRET_ID"] = SECRET_ID ``` #### 3. 启动 Web 服务 在终端运行该 Python 文件: ```Bash python main.py ``` Agent 将在 **`http://localhost:23466/`** 上启动 Web 服务,并自动提供一个简易的 Web 界面供用户输入测试。 **服务访问:** - **URL:** `http://localhost:23466` - **接口名称:** `ppl` (对应代码中的 `with pipeline() as ppl:`) ![启动](启动.png) ## 效果展示 **Agent生成周报效果图:** > 输入:\# 周报 { "okr": "O1: 提升推荐系统效果;KR1: 点击率提升15%;KR2: 覆盖80%用户", "weekly_report": "1. 完成了新模型上线;2. A/B测试CTR提升18%;3. 修复冷启动问题" } ![周报效果图](周报效果图.png) **Agent生成季报效果图:** > 输入:\# 季度/年度述职报告 { "okr": "O1: 提升推荐系统效果;KR1: 点击率(CTR)提升15%;KR2: 新推荐策略覆盖80%以上活跃用户", "multi_week_reports": [ "第1周:完成用户行为日志清洗与特征提取,清洗异常数据约5%,构建用户画像基础特征表,支持后续模型训练。", "第2周:基于协同过滤与深度学习模型(DIN)完成初版推荐模型训练,离线AUC达到0.82,较旧模型提升6%。", "第3周:启动A/B测试,灰度发布至10%流量,初步数据显示CTR提升12%,用户停留时长增加9%,未发现明显性能瓶颈。", "第4周:根据测试反馈优化排序策略,全量发布新推荐模型,监控数据显示CTR提升18%,覆盖90%活跃用户,目标超额达成。" ] } ![季报效果图](季报效果图.png)