1.背景

“把時間花在創造價值上,而不是重複造報告。”

作為一個打工人,每週、每個季度都少不了被 OKR、OR、KR 這些看起來“無用但又不得不做”的活兒折騰,季度末,翻遍了數周的筆記和記錄,只為拼湊出一份符合要求的述職報告,耗時耗力。偏偏我是一名理科生,文字功底一般,寫報告還得來回編輯潤色,只會老老實實把事說清楚。好在這幾年一直在用 AI,我乾脆做個“打工人述職 Agent”:我只需要輸入 OKR + 一周的工作 → 周報;輸入 OKR + 若干周的周報 → 季度/年度述職報告。這樣不就把麻煩事交給機器了?那就開幹,初步計劃用LazyLLM這個低代碼框架構建一個打工人述職 Agent大模型應用。

2.效果展示——讓 AI 替你“寫材料”

這個 Agent 的效果如何?直接看圖。

2.1 打工人述職Agent的使用

Agent生成周報效果圖:

img

Agent生成季報效果圖:

img

2.2 朋友的體驗效果

在製作完成後,我對效果挺滿意的,但是一個人說了不行,我邀請朋友試用。作為同樣需要頻繁寫材料的“牛馬”,他反饋生成結果完全可以,準備下個 OKR 週期直接用這套流程。如果你也想製作這樣的一個打工人述職Agent,可以跟著我下面來,接下來,我將手把手教你如何搭建打工人述職Agent。

img

3.LazyLLM: 低代碼構建多Agent大模型應用

為什麼選擇LazyLLM?

LazyLLM的中文倉庫:github.com/LazyAGI/LazyLLM

img

在實現這個 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/LazyLLM

在倉庫中提供了2種安裝:源碼安裝pip安裝(推薦新手)

源碼安裝

git clone [email protected]:LazyAGI/LazyLLM.git
cd LazyLLM
pip install -r requirements.txt
pip install -r requirements.full.txt # 如果想進行微調、推理部署或搭建rag應用等

pip安裝(推薦新手)

pip3 install lazyllm # 注意,如果安裝失敗可以換國內鏡像安裝
lazyllm install full

img

安裝方式對比表

方式 優點 適用人群
源碼安裝 可讀源碼、便於自定義與調試 需要二次開發或深度定制的團隊
pip安裝 上手快、環境簡單、一鍵補齊組件 只想儘快跑通業務的個人/團隊

在倉庫中還提供了4個例子,包括:對話機器人,檢索增強生成,故事創作,AI繪畫助手【感興趣的也可以來試試】。

4.2 流程圖及分析流程

程序流程圖

img

執行流程詳解

  1. 使用者在 Web 端輸入 OKR 與工作事實;
  2. outline_writer 先判斷“周報”或“季度/年度述職”,並給出 JSON 大綱;
  3. story_generator 逐段生成正文,保證語言風格一致且量化表達;
  4. synthesizer 將標題與段落拼裝成完整 Markdown;
  5. Web 服務返回文本,用戶快速得到可直接複製或少量潤色後提交的文案。

4.3 獲取API_KEY

在本地寫的代碼,我們要讓他有AI功能,無外乎就2種方法,第1種本地部署大模型,第2種API_KEY調用。

本次我們採用API_KEY。

第一步:打開console.sensecore.cn/home,進行註冊並登錄。

img

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

img

第三步:打開console.sensecore.cn/iam/Security/access-key,點擊創建訪問密鑰,並將其複製保留。

img

就這樣我們就得到了API_KEY。

如果有其他問題,可以查看用戶手冊:docs.lazyllm.ai/en/stable/

⚠️⚠️⚠️【注意】一定要先完成實名認證!!!否則無法調用。

4.4 提示詞設計及代碼

提示詞的作用:就是我們給大模型賦予定位,就是讓它作為什麼來處理問題。

本次關鍵在於設計兩個精準的提示詞(Prompt):第一個 toc_prompt 為生成大綱,第二個 completion_prompt 為生成正文。下面是我的提示詞:

toc_prompt 提示詞(作用:判斷周報或季度/年度述職,生成大綱):

你現在是一個職場智能助手。你的任務是根據用戶的 OKR 目標和實際工作內容,先判斷是周報還是季度/年度述職,再根據判斷結果對應的將大綱以列表嵌套字典的列表。每個字典包含一個 `title` 和 `describe`,其中 `title` 中需要用Markdown格式標清層級,`describe` 是對該部分的寫作指導,說明應包含哪些內容、如何組織語言

請根據以下用戶輸入,先判斷是周報還是季度/年度述職,再生成相應的列表嵌套字典:

---

輸出示例:
[
    {{
        "title": "# 本周/本季度工作總結",
        "describe": "概述本周/本季度整體工作完成情況,突出與 OKR 的對齊程度。"
    }},
    {{
        "title": "## 重要成果",
        "describe": "列出最重要的 2-3 項成果,結合數據說明其影響和價值。"
    }},
    {{
        "title": "## 問題與挑戰",
        "describe": "描述遇到的主要困難,以及採取的應對措施或需要的支持。"
    }},
    {{
        "title": "## 下一步計劃",
        "describe": "明確後續行動項,確保與 OKR 保持一致,並設定可衡量的目標。"
    }}
]

注意:

  • 不要在周報中出現季度/年度述職,本季度相關這些詞;
  • 不要在季度/年度述職中出現周報,周,週期相關這些詞;
  • 如果是周報,側重執行細節、進度追蹤,內容全部採用周報;
  • 如果是季度/年度述職,需增加“目標達成分析”、“能力成長”、“團隊協作”、“未來展望”等內容,內容全部採用季度/年度述職;
  • 輸出必須為合法 JSON 格式。

completion_prompt 提示詞(作用:強調量化、避免空話套話):

你現在是一名資深職場人士,正在撰寫正式的工作匯報材料。你的語言風格應專業、簡潔、結果導向,避免空話套話。

你的任務是:根據給定的標題和寫作指導,結合提供的 OKR 和工作內容,生成一段高質量的文字內容。

要求:
- 內容緊扣 OKR,體現目標對齊
- 成果儘量量化(如“提升 30%”、“節省 5 人日”)
- 語言客觀、條理清晰
- 不要添加額外標題或格式
- 不要在周報中出現季度/年度述職,本季度相關這些詞,不要在季度/年度述職中出現周報相關這些詞;

在代碼的最開頭,需要加載API_KEY(也可以直接加載到本地),這是AI回覆的關鍵,代碼如下:

import os
os.environ["LAZYLLM_SENSENOVA_API_KEY"] = "你的API_KEY"

構造多輪對話 Prompt,會生成大綱,然後逐段生成正文,最後合成最終文章,並且開放了一個端口:23466,核心管線代碼如下:

writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
# 構造多輪對話 Prompt
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()

完整代碼如下:

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` 是對該部分的寫作指導,說明應包含哪些內容、如何組織語言

請根據以下用戶輸入,先判斷是周報還是季度/年度述職,再生成相應的列表嵌套字典:

---

輸出示例:
[
    {{
        "title": "# 本周/本季度工作總結",
        "describe": "概述本周/本季度整體工作完成情況,突出與 OKR 的對齊程度。"
    }},
    {{
        "title": "## 重要成果",
        "describe": "列出最重要的 2-3 項成果,結合數據說明其影響和價值。"
    }},
    {{
        "title": "## 問題與挑戰",
        "describe": "描述遇到的主要困難,以及採取的應對措施或需要的支持。"
    }},
    {{
        "title": "## 下一步計劃",
        "describe": "明確後續行動項,確保與 OKR 保持一致,並設定可衡量的目標。"
    }}
]
"""

#completion_prompt:生成正文
completion_prompt = """
你現在是一名資深職場人士,正在撰寫正式的工作匯報材料。你的語言風格應專業、簡潔、結果導向,避免空話套話。

你的任務是:根據給定的標題和寫作指導,結合提供的 OKR 和工作內容,生成一段高質量的文字內容。

要求:
- 內容緊扣 OKR,體現目標對齊
- 成果儘量量化(如“提升 30%”、“節省 5 人日”)
- 語言客觀、條理清晰
- 不要添加額外標題或格式
- 不要在周報中出現季度/年度述職,本季度相關這些詞,不要在季度/年度述職中出現周報相關這些詞;
"""

writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
# 構造多輪對話 Prompt
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中啟動程序:

img

輸出日誌:
D:\miniconda\python3.12\python.exe D:\Program\pycharm\python_project\pythonProject3.12\main.py Running on local URL: http://0.0.0.0:23466 create a public link, set share=True in launch().
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:23466http://localhost:23466,然後按回車就可以訪問了。

打開網站http://127.0.0.1:23466後,左側是模型結構和處理日誌,在右側我們就可以進行AI對話了。

img

在右側輸入框中,粘貼以下任一範例:

範例一:生成周報

# 周報
{
  "okr": "O1: 提升推薦系統效果;KR1: 點擊率提升15%;KR2: 覆蓋80%用戶",
  "weekly_report": "1. 完成了新模型上線;2. A/B測試CTR提升18%;3. 修復冷啟動問題"
}

範例二:生成季度/年度述職報告

# 季度/年度述職報告
{
  "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%活躍用戶,目標超額達成。"
  ]
}

img

可以看到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

img

課程從環境搭建、API配置、Prompt工程,到Pipeline編排、Web部署、效果優化,全程手把手教學,零基礎也能輕鬆上手。別再在工程細節裡內耗了——把時間還給創造,讓 AI 真正為你打工!

相關網站:

LazyLLM的中文倉庫:github.com/LazyAGI/LazyLLM

商湯大裝置用戶手冊:docs.lazyllm.ai/en/stable/


原文出處:https://juejin.cn/post/7548042861841842211


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬8   ❤️12
446
🥈
我愛JS
📝1   💬6   ❤️4
92
🥉
酷豪
📝1   ❤️1
54
#4
AppleLily
📝1   💬4   ❤️1
44
#5
💬3  
10
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次