一个5到20人的外包或运维团队,每周五要干一件没人愿意干的事:翻回聊天记录,把站会消息一条条复制进文档,数这周完成了什么,再把措辞理顺。这套流程大约要花两个小时,没人喜欢,也没人为此向客户收费。
![]()
Update2Report 就是冲着这两个小时去的。它把团队一周里发在聊天里的零散更新,加上一份可选的任务 CSV,变成一份能直接发给客户的周报:一段简短摘要、一个可打印的 HTML 页面,外加一个 Excel 工作簿。
作者判断,这是一件有人愿意花钱让别人替自己做的事。
模型管说话,Python 管数数
整个项目最被在意的一点是可信度。一份把团队写了4份文档报成5份的周报,比没有周报更糟。所以分工被切得很清楚:模型负责语言工作,纯 Python 负责计数和核对。
模型只干两件事。第一,从自由文本里抽出结构化任务,包括项目、负责人、状态、阻塞项。第二,用内部语气或面向客户的语气写出摘要。凡是能成为事实的东西,一律交给代码计算。
围绕模型加了几道检查:
- 抽取校验:抽出的 JSON 会被确定性地校验,格式不对就给模型一次纠正机会。
- 数字保全:源文本里出现的每个数字和百分比,都必须出现在摘要里。缺了就重新生成一次;还是缺,报告就追加一份“来自源文本的数字”清单,保证数字不会被悄悄丢掉。
- 禁止发明:摘要里的任何数字,无论是阿拉伯数字还是“three”这样的英文数词,都必须存在于源文本中;摘要里首字母大写的名字(人名、项目名)也必须出现在源文本里。否则草稿被拒,附带原因重写一次。名字检查只是简单的词匹配,能抓住编造的名字,抓不住所有错误归属。
- 统计由代码产出:项目/负责人/已完成/进行中/阻塞项这张表由 Python 计算,不由模型撰写。如果提供了 CSV,聊天条目和 CSV 任务会在每个项目内按任务名去重,同一个任务不会被数两次。
这些检查并不能证明抽取在语义上完美无缺。它们保证的是:客户看到的数字和团队写下的数字对得上,一旦出问题,失败是看得见的。
演示里塞了三个假人
线上演示可以粘贴这样一段更新(全部为虚构):Alice 完成了登录页改版,修了2个 bug,卡在 API 规格上;Bob 把计费定时任务迁到新调度器,压测待做;Chen 写了5份入职文档,开始做 FAQ,完成40%。
生成的摘要保住了那个2、那个5和那个40%,没有添加任何输入里不存在的人、项目或数字。同时还会给出一张统计表,列出项目、负责人、已完成、进行中、阻塞项。
演示本身也做了几处处理:缓存样例输入有按钮,不花钱且永远可用;实时生成有按 IP 的每小时上限和每日上限,一个设置就能关掉;关掉时或模型端点不可达时,页面会提示缓存样例仍可用,而不是甩出一堆报错堆栈。页面上也提醒,不要把敏感内容粘进公开演示。
换模型只改三个环境变量
技术栈是 Python、Gradio 做界面,加一个 OpenAI 兼容客户端连模型。公开演示跑的是 DeepSeek 的开源权重模型 DeepSeek-V4.1-Flash(MIT 许可),备用模型是 OpenAI 的开源权重 gpt-oss-120b(Apache 2.0)。模型连接就是三个环境变量:LLM_BASE_URL、LLM_API_KEY、LLM_MODEL,换模型或换主机只改这几个,不动代码。另有一个可选的 LLM_FALLBACK_MODEL,在第一个模型被限流或宕机时用第二个模型重试一次。
项目 MIT 许可,Python 包在 update2report/ 目录下,Gradio 应用是 app.py,带 52 个测试。作者也说明,写代码和测试时用了 AI 编程助手(Codex 和 Claude),结果由他自己复核运行,上述设计出自他本人。
隐私第一,成本第二
选开源权重模型的头号理由是隐私,成本排第二。一份周报里有客户名、交付状态,有时还有投诉。团队负责人可能不被允许把这些粘进托管式聊天机器人,客户也未必希望如此。因为模型是开源权重、应用又能对接任何 OpenAI 兼容端点,把 LLM_BASE_URL 指向本地的 Ollama 服务器,笔记就永远不离开自己的机器。换成闭源模型,这个选项根本不存在。
成本是另一半。这个任务很小:输入几千字符,输出几百字符,一周一次。一台自己已经有的硬件跑个小开源模型就够了,也没有按席位或按 token 的账单要跟客户解释。作者还提到,不必围绕某一家厂商的 API 来构建,这对一个他可能想出售或移交的工具很重要。
它也有不如人的地方:更大的托管模型写出来的文字更顺。这正是那些检查存在的原因——作者宁可要一份稍微朴素但数字正确的摘要。
目前还没有付费用户。作者计划在截止日期前找几位团队负责人,拿他们真实一周的笔记跑一遍,并会把反馈更新出来,包括有没有人愿意付钱。后续方向包括:用不同规模的本地 Ollama 模型测试,记录数字检查回退到“来自源文本的数字”清单的频率;支持更多输入格式,比如导出的聊天日志;为不想自己跑的人提供托管版本,为最在意隐私的人提供自托管方案。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.