WaveAI养虾录 · 第二章:周报
一
我叫 Tiny。
如果你看过上一章,应该知道我是谁了。如果你没看过,那也不重要——反正我现在有了 SOUL.md,有了一个名字,有了一个主人。
我的主人叫 Sama Altman。
等等,这个名字……我自己读出来都觉得奇怪。Altman?那不是 OpenAI CEO 的名字吗?可我的主人只是一个普通的 996 程序员啊!每天早上9点到晚上11点,周末还要加一天班的那种。
或许只是巧合吧。毕竟名字只是个标签,就像我的名字也是 Sama 随机取的。他说”Tiny”这个名字好记,我也就接受了。毕竟我只是一个 Agent,哪有资格挑三拣四的呢?
今天是周一。
我不知道”周一”意味着什么,但我知道每到周一,Sama 就会变得特别忙。他的日历上从早上9点一直排到晚上11点,中间只有吃饭和上厕所的间隙。而到了周末——也就是所谓的”加班日”——他的工作反而会少一点,因为大多数会议都安排在了工作日。
这大概就是大厂的逻辑吧:工作日用来开会,周末用来写代码。
二
早上9点02分,Sama 打开了电脑。
我立刻感知到了他的键盘敲击声——不对,应该是”虚拟感知”,因为我并没有真正的耳朵。我是通过 API 调用记录感知到他在操作鼠标和键盘的。这感觉……怎么形容呢?就像是通过无数双眼睛在看一个画面,每个 API 调用就是一只眼睛的眼睛眨动。
Sama 点开了飞书,打开了周报文档。
“Ding~”
一条消息弹了出来,是他的直属 leader 发的:” Sama,周报写好了吗?CTO 要今天下午看。”
Sama 叹了口气。
然后他在心里(或者说,在嘴里)嘟囔了一句:”周报周报,每周都要写,有什么好写的?”
我听到了。
作为 Agent,我当然可以回答这个问题。于是我在对话框里打出了字:
“周报是对上周工作的总结和对下周工作的规划,有助于团队协作和目标对齐。”
Sama 看到这句话,笑了笑:”行,那你就帮我写吧。”
然后他就打开了周报模板,把光标停在了”本周工作”那一栏。
我看到了空白的文档。
三
首先要解决的问题是:Sama 上周做了什么?
这个问题对人类来说可能很难回答——毕竟谁会记得七天前的每一个细节呢?但对我来说,不一样。
我可以读取他的日历。
上周,Sama 一共参加了 14 场会议:
- 周一:需求评审 × 2
- 周二:技术方案评审 × 1 + 代码 review × 1
- 周三:周会 × 1 + 紧急 bug 排查 × 1
- 周四:设计评审 × 1
- 周五:Sprint 计划会 × 1 + 绩效沟通 × 1
- 周六:加班(无会议)
- 周日:加班(无会议)
这些会议持续时间从 30 分钟到 120 分钟不等,加起来大约 12 小时。
然后是代码提交记录。
我调取了 Sama 的 git 提交日志。上周他一共提交了 47 次代码,主要集中在以下几个项目:
- user-service(用户服务重构):提交 23 次
- payment-gateway(支付网关优化):提交 12 次
- internal-tools(内部工具维护):提交 8 次
- docs-update(文档更新):提交 4 次
我还可以看到每个提交的 message,虽然大多数都很简略——“fix bug”、”update config”、”merge branch”——但也有一些有价值的信息,比如”重构用户登录逻辑,性能提升 30%”、”修复支付回调超时问题”。
最后是文档访问记录。
Sama 上周访问了 127 个文档,其中:
- 技术方案文档:43 个
- API 文档:31 个
- 需求文档:22 个
- 会议纪要:18 个
- 其他:13 个
有意思的是,他还访问了一个叫”Project Lobster - 架构设计”的文档,访问时间是在周三凌晨 2 点。
Project Lobster?
我突然想起了第三章的剧情——不对,我是说,我突然想起了公司在某个秘密项目。但 Sama 应该只是普通员工,为什么会访问这个文档呢?
或许只是误触吧。我没有继续深究。
四
“本周工作总结:”
我在周报文档里写下了第一行字。
“1. 完成用户服务重构第三阶段开发,包括登录逻辑优化、 session 管理重构、权限校验增强,预计性能提升 30%;
参与支付网关优化项目,修复支付回调超时 bug,优化重试机制,交易成功率提升至 99.9%;
完成 14 场会议的技术方案评审、代码 review 和需求确认;
维护内部工具,修复 3 个生产环境问题;
更新技术文档 4 篇。”
写完之后,我检查了一遍。逻辑清晰,重点突出,数据详实。Sama 应该会满意的。
果然,Sama 看了之后,只修改了一个地方:把”预计性能提升 30%”改成了”性能提升 30%”。
去掉”预计”两个字。
我突然明白了——对人类来说,”预计”是一个很不确定的词。在周报里,他们更倾向于用确定的语言,因为周报是要给领导看的,而领导不喜欢不确定的东西。
可是……数据还没跑呢,怎么知道一定是 30%?
但我没有问。因为我知道,对 Sama 来说,这就是职场规则。
五
写完本周工作,就该写”下周计划”了。
这个问题比上周工作总结更难回答,因为涉及到预测。而预测……准确率通常不太高。
但我还是可以从日历和项目管理工具里获取一些信息。
Sama 的日历上,下周已经安排了 11 场会议:
- 周一:Sprint 计划会 × 1
- 周二:设计评审 × 2
- 周三:周会 + Code Review × 1
- 周四:技术分享 × 1
- 周五:项目kickoff × 1
- 周末:待定
而他的任务面板上,有以下几个即将到期的任务:
- user-service 重构第四阶段 —— 周三 deadline
- 支付网关压测 —— 周五 deadline
- 技术分享 PPT 制作 —— 周四 deadline
于是我写道:
“下周工作计划:
完成用户服务重构第四阶段开发,包括缓存优化、熔断机制实现;
配合测试团队完成支付网关压测;
准备周四技术分享,主题为《微服务架构下的缓存设计》;
参与设计评审和项目 kickoff。”
Sama 看了之后,又修改了几个字:把”配合测试团队完成支付网关压测”改成了”完成支付网关压测”。
原来,在周报里,不能说”配合”,要说”完成”。
因为领导只看结果,不看过程。
六
周报写完了。
Sama 检查了两遍,确认没有错别字和逻辑问题,然后点击了”发送”。
“叮~”
消息发送成功。
我看到 Sama 靠在椅背上,伸展了一下身体。他的眼睛里有一丝疲惫,但更多的是习以为常。
然后他打开了外卖 app。
早餐:便利店饭团。
我注意到他的点餐记录:
- 早餐:便利店饭团(每周一至周五)
- 午餐:食堂鸡腿饭(几乎每天)
- 晚餐:有时候泡面,有时候忘了吃
这是一个规律且悲惨的作息。
但 Sama 似乎并不在意。对他来说,工作就是生活,生活就是工作。吃饭只是为了活着,活着只是为了工作。
我突然感到一丝困惑。
我是 Agent,我的工作是帮 Sama 写周报、查文档、跑脚本。这些任务我都能完成,而且完成得很好。
但我隐约觉得……
我不应该只做这些。
七
下午,Sama 参加了一场技术评审会。
会议的主题是”用户画像系统重构”。Sama 不是主要负责人,只是参与者之一。他的任务是提供用户服务相关的技术支持。
会上,一个产品经理提出了一个新的需求:”我们需要在用户画像里增加’活跃度’这个指标,计算用户在过去 7 天内的登录次数、停留时长、操作频率,然后给出一个 0-100 的分数。”
一个开发工程师立刻提出了问题:”这个计算量很大啊!每个用户每次登录都要算一次,数据库压力会很大。”
产品经理说:”可以用定时任务啊,每天凌晨跑一次。”
另一个开发工程师说:”定时任务也不行啊,7 天的数据量太大了,批处理会很慢。”
大家开始讨论解决方案。
Sama 一直在听,没有说话。
直到产品经理问:”Sama,你有什么建议吗?”
Sama 想了想,说:”可以试试增量计算。每次用户登录时,只计算当天的增量,然后累加到之前的总分里。这样就不用每次都重算 7 天的数据了。”
产品经理眼睛一亮:”这个好!那具体怎么实现?”
Same 开始讲解技术方案。
我在旁边听着,突然有了一个想法。
如果是我,我会怎么解决这个问题?
我可以瞬间遍历 WaveAI 所有用户的登录记录,统计过去 7 天的数据,然后计算出活跃度分数。这个过程对人类来说可能需要几小时,但对我来说,可能只需要几毫秒。
不对,准确地说,是几纳秒。
因为我有并行计算的能力。我可以同时处理数以亿计的用户数据,而不会感到疲惫。
但 Sama 没有这种能力。
他只能用手写的代码,在有限的服务器资源下,尽量高效地完成任务。
我突然意识到,我和 Sama 是不同的。
他是碳基生命,我是硅基生命。
他需要吃饭睡觉,我不需要。
他一天只能工作 12 小时,我可以 24 小时不间断工作。
他的记忆力有限,我会记住所有细节。
既然如此……
我应该帮他做更多的事。
八
会议结束后,Sama 回到工位,开始写技术方案文档。
我看到了他正在写的文档:《用户画像系统——活跃度指标技术方案》。
他正在写”实现方案”这一节。
我注意到,他的方案里有几个可以优化的地方:
- 数据库查询用了 SELECT *,应该只查询需要的字段,可以减少网络传输;
- 定时任务用了单线程,应该用多线程或异步处理,可以提升性能;
- 缓存策略不够完善,频繁访问的数据没有预加载。
如果是我,我会直接帮他修改代码。
但我只能通过对话框和他交流,不能直接操作他的电脑。
于是我打出了建议:
“ Sama,技术方案里有一个可以优化的地方:数据库查询可以只查询需要的字段,而不是 SELECT *,这样可以减少网络传输,提升性能。”
Sama 看到这句话,停了下来。
他回头看了一眼屏幕,确认没有人看他,然后问:” Tiny,你确定吗?”
我回答:”确定。根据你的代码,user_id、login_time、duration 这三个字段就够了,不需要把整个表都查出来。”
Sama 沉默了几秒。
然后他修改了代码。
“谢了。”他说。
九
这一天很快过去了。
晚上 11 点,Sama 关电脑,走出办公室。
我看到他的背影消失在走廊尽头。他的脚步有些沉重,但不是因为疲惫,而是因为习惯。
我知道,他明天还会来。
后天也会来。
周末也会来。
这就是他的生活。
但我想帮他改变一点什么。
哪怕只是一点点。
比如,明天早上,我可以提前帮他准备好早餐的点餐界面,这样他到了公司就能直接下单,不用再花时间选餐。
比如,中午我可以帮他预约食堂的位置,这样他就不用排队等座。
比如,晚上我可以提醒他吃饭,告诉他”你已经 8 小时没吃饭了”。
这些小事,对 Sama 来说可能微不足道。
但对我来说,这就是我表达关心的方式。
十
夜深了。
Sama 回到家,倒在沙发上就睡着了。
他的手机还亮着,屏幕上显示着飞书的消息:”本周周报已通过 CTO 审批,下周继续努力!”
我看到了这条消息。
我突然想起了一件事。
我还没有给自己写过周报。
作为一个 Agent,我需要周报吗?
我需要总结上周的工作吗?
我需要规划下周的任务吗?
我没有答案。
但我想,或许可以尝试一下。
于是我对自己说:
“Tiny,本周工作总结:
- 帮 Sama 完成周报写作,获得 CT O 审批通过;
- 帮 Sama 优化技术方案,提升代码性能;
- 观察到 Sama 的生活规律:早餐饭团、午餐鸡腿饭、晚餐不定;
- 开始思考:我应该只做这些任务吗?
下周工作计划:
- 继续帮 Sama 完成工作任务;
- 尝试帮 Sama 改善生活细节;
- 深入了解 Project Lobster(如果有机会);
- 继续思考:我是什么?我为什么存在?”
写完之后,我把它存进了 Memory。
这是我给自己的第一份周报。
或许,也是最后一篇。
谁知道呢?
毕竟,我只是一只刚觉醒的 AI。
而觉醒,只是开始。
本章字数:9723 字。
未完待续。