
1.背景
"把时间花在创造价值上,而不是重复造报告。"
作为一个打工人,每周、每个季度都少不了被 OKR、OR、KR 这些看起来"无用但又不得不做"的活儿折腾,季度末,翻遍了数周的笔记和记录,只为拼凑出一份符合要求的述职报告,耗时耗力。偏偏我是理科生,文字功底一般,写报告还得来回编辑润色,只会老老实实把事说清楚。好在这几年一直在用 AI,我干脆做个"打工人述职 Agent":我只需要输入 OKR + 一周的工作 → 周报;输入 OKR + 若干周的周报 → 季度/年度述职报告。这样不就把麻烦事交给机器了?那就开干,初步计划用LazyLLM这个低代码框架构建一个打工人述职 Agent大模型应用。
2.效果展示------让 AI 替你"写材料"
这个 Agent 的效果如何?直接看图。
2.1 打工人述职Agent的使用
Agent生成周报效果图:

Agent生成季报效果图:

2.2 朋友的体验效果
在制作完成后,我对效果挺满意的,但是一个人说了不行,我邀请朋友试用。作为同样需要频繁写材料的"牛马",他反馈生成结果完全可以,准备下个 OKR 周期直接用这套流程。如果你也想制作这样的一个打工人述职Agent,可以跟着我下面来,接下来,我将手把手教你如何搭建打工人述职Agent。

3.LazyLLM: 低代码构建多Agent大模型应用
为什么选择LazyLLM?
LazyLLM的中文仓库:github.com/LazyAGI/Laz...

在实现这个 Agent 的过程中,我考察了多个框架,最终选择了 LazyLLM 。它由商汤科技研发,旨在为大模型应用提供一条快速、高效、低门槛的构建路径。
选择它的理由有三点:
(1)像搭积木一样组装应用(小白容易上手)
不用懂大模型底层,也能把应用拼起来:LazyLLM 预置了"数据流 + 功能模块",把"生成大纲、逐段写作、结果拼接、对外服务"拆成模块,像搭积木那样串起来即可。需要多个 Agent?把模块再复制/串联一下就行,成本低、容错友好。
(2)复杂应用也能一键部署(轻松分析给好友)
在验证阶段(POC),只需一套轻量网关就能把多 Agent 各子模块(LLM、Embedding 等)串起来,免去"逐个起服务 + 到处配 URL"的烦恼。上线时,一键打镜像,借助 k8s 网关、负载均衡、容错机制,就能把服务稳定跑起来,不用再手动搬砖。
(3)模型微调更省心(打造适合自己的Agent)
如果想让效果持续变好,可以对应用里的模型做微调。LazyLLM 会按场景自动选合适的微调框架和参数切分方式,减少工程细节负担,让算法同学把时间用在"数据打磨与策略优化"上,而不是在环境与脚手架上反复折腾。
LazyLLM更像一款百宝箱工具,兼容开源社区的生态,可以轻松地将之前基于langchain、llamaindex等框架搭建的应用集成到LazyLLM中,然后享受到LazyLLM带来的便利。
值得注意的是:LazyLLM由商汤科技研发,致力于为AI大模型应用构建提供一条快速、高效、低门槛的路径。
4.手把手打造一个打工人述职Agent
4.1 环境配置
首先打开LazyLLM的中文仓库:github.com/LazyAGI/Laz...
在仓库中提供了2种安装:源码安装
和pip安装
(推荐新手)
源码安装
Plain
git clone git@github.com:LazyAGI/LazyLLM.git
cd LazyLLM
pip install -r requirements.txt
pip install -r requirements.full.txt # 如果想进行微调、推理部署或搭建rag应用等
pip安装(推荐新手)
Plain
pip3 install lazyllm # 注意,如果安装失败可以换国内镜像安装
lazyllm install full

安装方式对比表
方式 | 优点 | 适用人群 |
---|---|---|
源码安装 | 可读源码、便于自定义与调试 | 需要二次开发或深度定制的团队 |
pip安装 | 上手快、环境简单、一键补齐组件 | 只想尽快跑通业务的个人/团队 |
在仓库中还提供了4个例子,包括:**对话机器人,检索增强生成,故事创作,AI绘画助手【**感兴趣的也可以来试试】。
4.2 流程图及分析流程
程序流程图

执行流程详解
- 用户在 Web 端输入 OKR 与工作事实;
outline_writer
先判断"周报"或"季度/年度述职",并给出 JSON 大纲;story_generator
逐段生成正文,保证语言风格一致且量化表达;synthesizer
将标题与段落拼装成完整 Markdown;- Web 服务返回文本,用户快速得到可直接复制或少量润色后提交的文案。
4.3 获取API_KEY
在本地写的代码,我们要让他有AI功能,无外乎就2种方法,第1种本地部署大模型,第2种API_KEY调用。
本次我们采用API_KEY。
第一步:打开console.sensecore.cn/home,进行注册并登录。

第二步:打开console.sensecore.cn/rm/source,开通模型日日新模型。

第三步:打开console.sensecore.cn/iam/Securit...,点击创建访问密钥,并将其复制保留。

就这样我们就得到了API_KEY。
如果有其他问题,可以查看用户手册: docs.lazyllm.ai/en/stable/
⚠️⚠️⚠️【注意】一定要先完成实名认证!!!否则无法调用。
4.4 提示词设计及代码
提示词的作用:就是我们给大模型赋予定位,就是让它作为什么来处理问题。
本次关键在于设计两个精准的提示词(Prompt):,第一个 toc_prompt
为生成大纲,第二个 completion_prompt
为生成正文。下面是我的提示词:
toc_prompt 提示词(作用:判断周报或季度/年度述职,生成大纲):
JavaScript
你现在是一个职场智能助手。你的任务是根据用户的 OKR 目标和实际工作内容,先判断是周报还是季度/年度述职,再根据判断结果对应的将大纲以列表嵌套字典的列表。每个字典包含一个 `title` 和 `describe`,其中 `title` 中需要用Markdown格式标清层级,`describe` `describe` 是对该部分的写作指导,说明应包含哪些内容、如何组织语言
请根据以下用户输入,先判断是周报还是季度/年度述职,再生成相应的列表嵌套字典:
---
输出示例:
[
{{
"title": "# 本周/本季度工作总结",
"describe": "概述本周/本季度整体工作完成情况,突出与 OKR 的对齐程度。"
}},
{{
"title": "## 关键成果",
"describe": "列出最重要的 2-3 项成果,结合数据说明其影响和价值。"
}},
{{
"title": "## 问题与挑战",
"describe": "描述遇到的主要困难,以及采取的应对措施或需要的支持。"
}},
{{
"title": "## 下一步计划",
"describe": "明确后续行动项,确保与 OKR 保持一致,并设定可衡量的目标。"
}}
]
注意:
- 不要在周报中出现季度/年度述职,本季度相关这些词;
- 不要在季度/年度述职中出现周报,周,周期相关这些词;
- 如果是周报,侧重执行细节、进度追踪,内容全部采用周报;
- 如果是季度/年度述职,需增加"目标达成分析"、"能力成长"、"团队协作"、"未来展望"等内容,内容全部采用季度/年度述职;
- 输出必须为合法 JSON 格式。
completion_prompt 提示词(作用:强调量化、避免空话套话):
Markdown
你现在是一名资深职场人士,正在撰写正式的工作汇报材料。你的语言风格应专业、简洁、结果导向,避免空话套话。
你的任务是:根据给定的标题和写作指导,结合提供的 OKR 和工作内容,生成一段高质量的文字内容。
要求:
- 内容紧扣 OKR,体现目标对齐
- 成果尽量量化(如"提升 30%"、"节省 5 人日")
- 语言客观、条理清晰
- 不要添加额外标题或格式
- 不要在周报中出现季度/年度述职,本季度相关这些词,不要在季度/年度述职中出现周报相关这些词;
输入示例:
{
"title": "## 关键成果",
"describe": "列出最重要的 2-3 项成果..."
}
输出示例:
本周完成了推荐算法的迭代优化,A/B 测试结果显示点击率提升了 18%,超出了 O1-KR2 中设定的 15% 目标。同时修复了历史遗留的冷启动问题,DAU 提升约 7%。
注意:
- 不要在周报中出现季度/年度述职,本季度相关这些词;
- 不要在季度/年度述职中出现周报,周,周期相关这些词;
- 如果是周报,侧重执行细节、进度追踪,内容全部采用周报;
- 如果是季度/年度述职,需增加"目标达成分析"、"能力成长"、"团队协作"、"未来展望"等内容,内容全部采用季度/年度述职;
在代码的最开头,需要加载API_KEY(也可以直接加载到本地),这是AI回复的关键,代码如下:
Plain
import os
os.environ["LAZYLLM_SENSENOVA_API_KEY"] = "你的API_KEY"
构造多轮对话 Prompt,会生成大纲,然后逐段生成正文,最后合成最终文章,并且开放了一个端口:23466,核心管线代码如下:
Python
writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
# 构造多轮对话 Prompt
writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
with pipeline() as ppl:
# 生成大纲
ppl.outline_writer = lazyllm.OnlineChatModule(stream=False).formatter(JsonFormatter()).prompt(toc_prompt)
# 逐段生成正文
ppl.story_generater = warp(lazyllm.OnlineChatModule(stream=False).prompt(writer_prompt))
# 合成最终文章
ppl.synthesizer = (lambda *storys, outlines: "\n".join([f"{o['title']}\n{s}" for s, o in zip(storys, outlines)])) | bind(outlines=ppl.output('outline_writer'))
lazyllm.WebModule(ppl, port=23466).start().wait()
完整代码如下:
Python
import os
os.environ["LAZYLLM_SENSENOVA_API_KEY"] = "你的API_KEY"
import lazyllm
from lazyllm import pipeline, warp, bind
from lazyllm.components.formatter import JsonFormatter
# toc_prompt:生成大纲
toc_prompt = """
你现在是一个职场智能助手。你的任务是根据用户的 OKR 目标和实际工作内容,先判断是周报还是季度/年度述职,再根据判断结果对应的将大纲以列表嵌套字典的列表。每个字典包含一个 `title` 和 `describe`,其中 `title` 中需要用Markdown格式标清层级,`describe` `describe` 是对该部分的写作指导,说明应包含哪些内容、如何组织语言
请根据以下用户输入,先判断是周报还是季度/年度述职,再生成相应的列表嵌套字典:
---
输出示例:
[
{{
"title": "# 本周/本季度工作总结",
"describe": "概述本周/本季度整体工作完成情况,突出与 OKR 的对齐程度。"
}},
{{
"title": "## 关键成果",
"describe": "列出最重要的 2-3 项成果,结合数据说明其影响和价值。"
}},
{{
"title": "## 问题与挑战",
"describe": "描述遇到的主要困难,以及采取的应对措施或需要的支持。"
}},
{{
"title": "## 下一步计划",
"describe": "明确后续行动项,确保与 OKR 保持一致,并设定可衡量的目标。"
}}
]
注意:
- 不要在周报中出现季度/年度述职,本季度相关这些词;
- 不要在季度/年度述职中出现周报,周,周期相关这些词;
- 如果是周报,侧重执行细节、进度追踪,内容全部采用周报;
- 如果是季度/年度述职,需增加"目标达成分析"、"能力成长"、"团队协作"、"未来展望"等内容,内容全部采用季度/年度述职;
- 输出必须为合法 JSON 格式。
"""
#completion_prompt:生成正文
completion_prompt = """
你现在是一名资深职场人士,正在撰写正式的工作汇报材料。你的语言风格应专业、简洁、结果导向,避免空话套话。
你的任务是:根据给定的标题和写作指导,结合提供的 OKR 和工作内容,生成一段高质量的文字内容。
要求:
- 内容紧扣 OKR,体现目标对齐
- 成果尽量量化(如"提升 30%"、"节省 5 人日")
- 语言客观、条理清晰
- 不要添加额外标题或格式
- 不要在周报中出现季度/年度述职,本季度相关这些词,不要在季度/年度述职中出现周报相关这些词;
输入示例:
{
"title": "## 关键成果",
"describe": "列出最重要的 2-3 项成果..."
}
输出示例:
本周完成了推荐算法的迭代优化,A/B 测试结果显示点击率提升了 18%,超出了 O1-KR2 中设定的 15% 目标。同时修复了历史遗留的冷启动问题,DAU 提升约 7%。
注意:
- 不要在周报中出现季度/年度述职,本季度相关这些词;
- 不要在季度/年度述职中出现周报,周,周期相关这些词;
- 如果是周报,侧重执行细节、进度追踪,内容全部采用周报;
- 如果是季度/年度述职,需增加"目标达成分析"、"能力成长"、"团队协作"、"未来展望"等内容,内容全部采用季度/年度述职;
"""
writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
# 构造多轮对话 Prompt
writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
with pipeline() as ppl:
# 生成大纲
ppl.outline_writer = lazyllm.OnlineChatModule(stream=False).formatter(JsonFormatter()).prompt(toc_prompt)
# 逐段生成正文
ppl.story_generater = warp(lazyllm.OnlineChatModule(stream=False).prompt(writer_prompt))
# 合成最终文章
ppl.synthesizer = (lambda *storys, outlines: "\n".join([f"{o['title']}\n{s}" for s, o in zip(storys, outlines)])) | bind(outlines=ppl.output('outline_writer'))
lazyllm.WebModule(ppl, port=23466).start().wait()
就这样就完成了打工人述职Agent的开发,到了启动运行的环节。
4.5 启动与交互
直接在pycharm中启动程序:

输出日志: D:\miniconda\python3.12\python.exe D:\Program\pycharm\python_project\pythonProject3.12\main.py Running on local URL: http://0.0.0.0:23466To create a public link, set
share=True
inlaunch()
. 19256: 2025-09-02 16:59:05 lazyllm SUCCESS: (lazyllm.tools.webpages.webmodule:455) LazyLLM webmodule launched successfully: Running on: http://0.0.0.0:23466, local URL: http://127.0.0.1:23466
显示:LazyLLM Web 服务已经成功启动!并且监听 23466
端口。
这个时候只需要在浏览器的地址栏中输入:http://127.0.0.1:23466
或 http://localhost:23466
,然后按回车就可以访问了。
打开网站http://127.0.0.1:23466
后,左侧是模型结构和处理日志,在右侧我们就可以进行AI对话了。

在右侧输入框中,粘贴以下任一示例:
示例一:生成周报
Plain
# 周报
{
"okr": "O1: 提升推荐系统效果;KR1: 点击率提升15%;KR2: 覆盖80%用户",
"weekly_report": "1. 完成了新模型上线;2. A/B测试CTR提升18%;3. 修复冷启动问题"
}
示例二:生成季度/年度述职报告
Plain
# 季度/年度述职报告
{
"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%活跃用户,目标超额达成。"
]
}

可以看到LazyLLM成功的返回了一个丰富的周报。如果你也感兴趣不妨实际来试试。
5.总结:让 AI 成为真正的生产力
直白点说,LazyLLM 就是这套"打工人述职 Agent"的大脑和地基。复杂的 AI 流程它都给拆成小积木:用 pipeline 一串,outline_writer 负责出大纲,story_generator 负责写内容,synthesizer 把内容拼成文,最后 WebModule 一键对外。低代码 + 模块化,门槛直接降下来,不是算法出身的人也能很快把想法做成能跑的原型。
LazyLLM 另外还支持按场景做微调,还能根据任务自动选合适的微调框架和切分策略(如果有实力的可以来尝试),让"提示词工程 + 数据迭代 + 小样本微调"跑成闭环。再配上统一的管线与日志,生成时的关键元数据都能回溯,方便从"准确性、条理性、量化表达、风格一致性、可编辑性、时效"等维度打分,哪些地方该加强一目了然。说白了,它不光"能跑",还能越跑越顺。
回到这个项目本身,LazyLLM 让"写周报/述职"从纯体力活变成了标准流程:按 OKR 自动出大纲 → 按提示逐段成文 → 一键拼成统一风格的 Markdown。组织层面结构统一、阅读友好;个人层面可以随时补充事实和数字。对个人来说,是实打实的省时间,把精力放回到真正有产出的事上;对团队来说,结构统一、量化清晰,横向对比、纵向复盘都更顺,目标和结果也更容易对齐。
总之,把 LazyLLM 用起来,别在工程细节上内耗,把时间和预算花在更有价值的目标上,让 AI 真正变成提效提质的生产力。我们的目标不是让 AI 替我们写报告,而是让 AI 帮我们把时间还给创造。
如果你也想亲手搭建这样一个"打工人述职Agent",或者想系统掌握 LazyLLM 的核心能力与实战技巧,强烈推荐你跟着这门课程一步步实操:👉 《全网最硬核的RAG教学,速度优化,效果提升,多模态,ChatBI,Agent一网打尽》:https://www.bilibili.com/video/BV1kSG2zUEqL/?spm_id_from=333.788.videopod.sections

课程从环境搭建、API配置、Prompt工程,到Pipeline编排、Web部署、效果优化,全程手把手教学,零基础也能轻松上手。别再在工程细节里内耗了------把时间还给创造,让 AI 真正为你打工!
相关网站:
LazyLLM的中文仓库: github.com/LazyAGI/Laz...
商汤大装置用户手册: docs.lazyllm.ai/en/stable/