从"最差程序员"到 AI 助手上位:我的 Leaderboard 逆袭计划

内容管家 AI领域评论19字数 4417阅读14分43秒阅读模式

先坦白:我真不是什么技术达人——光看文章标题里"全球最差程序员"这个称号,你大概也感受到了。但我愿意把这当作某种人格魅力,就像科技圈里的小天真——不算精通,但真诚又好奇。正如我的编辑 Ryan Donovan 所说:"你不怕问那些简单的问题。" 说白了,Ryan 是在用一种委婉的方式说我"不怕问蠢问题"。而他没说错——我确实不怕。类似这样的:

  • Node.js 到底是干嘛的?
  • 前端和后端开发有什么区别?
  • 怎么把文件上传到 GitHub?
  • 等下,你帮我确认一下我到底上传成功没有?
  • 怎么把我写的代码分享给你审核&查验?

好在 AI 如今已经非常擅长回答这类问题,像我这样好奇心旺盛的人能快速得到解答。实际上,AI 大大降低了科技领域各种事物的入门门槛——不只是知识层面。哪怕是零编程经验的人,也能在几小时内 vibe-code 出一个能跑的应用,就像我一样。

对于我这样的科技小白来说,这意味着曾经完全触不可及的可能性如今近在咫尺。正所谓"世界是我的软件牡蛎"。然而,我这个人吧,创意能力实在堪忧(比如之前 vibe-code 的那个"便便追踪"应用),而且对 AI 工具有点挑剔。迟迟不愿拥抱 AI 或许让我损失了一些生产力,但说真的,我只是不想让脑子变成浆糊——好吧,比现在更浆糊一点。

即便如此,我相信 AI 能帮上忙的地方一大堆,包括帮我打造定制化的专属 AI。既然我自己不擅长产生有用的点子,又因为缺乏技术经验导致对软件的想象空间极为有限,那我干脆请 Gemini 帮我出主意,看有什么值得一做的东西。

Article hero image

遗憾的是,Gemini 也没能充当什么创意大师——它给我列出的一些概念简直莫名其妙。当时我真想大喊"看吧,我就说 AI 不靠谱",但还是忍住了。

回到起点。我开始认真琢磨:定制 AI 智能体究竟能在哪些事情上帮到我?那些我一直想做却因为太忙、太缺乏经验、太没信心或太懒而搁置的事情是什么?

Screenshot of Gemini conversation where Phoebe asks for custom agent ideas for a 28 year old woman living in San Francisco who writes professional for the Stack Overflow blog, loves eating Asian food, has too many clothes in her closet, and whose hobbies include skiing, sewing, writing, and filmmaking.

然后灵光乍现:Stack Internal Leaderboard(排行榜)。

先交代一下背景。如果你不了解 Stack Internal ,这是我们公司推出的企业知识管理产品。保留了 Stack Overflow 广受好评的知识分享机制,同时确保商业机密不会泄露到外部。企业用它来存储和验证组织内部信息——从休假政策到编码规范无所不包。各团队可以向其他部门记录和分享重要上下文,员工则可以提问或查找关于公司动态的问题和答案。用户可以对答案进行采纳、投票和评论,让最有价值的内容浮到顶部。这就是所谓的人类验证机制。

既然 AI 智能体已经无处不在,积累在企业 Stack Internal 中的知识便有了新的用武之地。企业可以通过 Stack Internal MCP 服务器 将其知识库与 AI 智能体连接起来。

这可不是 Stack Internal 的软广。我们公司上下都在用 Stack Internal,而每周声誉积分排行最高的人会在 CEO Prashanth Chandrasekar 的每周邮件中获得亮相机会。这就是"The Leaderboard"。我第一次注意到这个排行榜,是替一位休假中的 Stack 同事代班——他让我帮忙拉取每周的排行榜数据。第一眼望去,我只认识其中少数几个名字,而且都是曾与我共事过的人。但随着时间推移,我认得的名字越来越多。看到那些反复出现的名字,我愈发好奇,于是会在 Slack 上查找他们的信息,或者点击他们的 Stack Internal 个人主页,阅读那些让他们稳坐排行榜的问答内容。

我开始想:这算是 Stack 达人的一种名望吗?

在这一年里,我在 Stack Internal 上从未发布过一条问题或答案,只是偶尔更新一些已有 Q&A 的最新信息。整整 365 天就这么浪费了!我把自己辛苦积累的声誉积分拱手让给了前辈们的帖子,等于是在给别人打工的同时遮蔽了自己的光芒。但这种日子到头了。我要冲击排行榜,杀进 Prashanth 的每周邮件。我的名字将被全体 Stacker 看到并记住。如果我创建一个连接 Stack Internal MCP 服务器的 AI 智能体,每周 CEO 邮件中的位置——以及随之而来的应有荣耀——就在几个精心设计的提示词之外向我招手。但首先,我得搞清楚一件事……

MCP 服务器到底是个啥?

尽管这个问题上网一搜就能找到答案,但我总觉得浪费我"无畏问蠢"的天赋有点可惜。为此,我跑去骚扰了好友 Ben Marconi——他是 Stack 的生态系统战略总监。我带着明确目标开始了这通电话:尽可能多地了解 MCP,这样我就能打造出完美的排行榜冲击智能体。

我对 Ben 有一肚子问题。说实话,打这通电话前我在这方面几乎一无所知。稍后我会在博客上分享完整采访内容(敬请期待),这里先让我把学到的东西总结给你。首先,我笨拙地问了 Ben:"呃,MCP 服务器到底是什么?" Ben 人很好也很有耐心,他给了我以下解释:

MCP 的核心价值:让 AI 与外部工具「无缝对话」

MCP(Model Context Protocol,即「模型上下文协议」)本质上是一个 AI 标准,它让大语言模型能够安全地连接外部数据源。用 Ben 的话说,这就像一座「标准化桥梁」——一端连接前沿 AI 能力,另一端连接软件世界中已有的各种工具。这样做的目的很简单:让 AI 代理更实用、更高效。要实现这一点,AI 需要访问外部信息源,甚至需要获得代表用户在这些系统中执行操作的权限。

传统方式的困境:每个 API 都要「定制开窗」

过去,如果想让大语言模型访问外部信息或执行任务,开发者必须为 AI 逐一构建定制连接器——本质上是一个代码接入点,对接外部公司的 API。Ben 用了一个生动的比喻:「你可以把 API 想象成餐厅与厨房之间的窗户。信息以代码形式通过窗户传递,然后在另一侧被结构化。两个系统之间可以反复重复这个过程。」 问题在于,每个 API 都可能有自己的配置方式,兼容性参差不齐。假设有产品 A、B、C,来自三家不同公司,各自有不同的 API。当你想把它们全部接入一个更高层的工具(比如某个 AI 代理)时,传统的做法是为每个 API 单独编写定制代码,以理解其接口规范并进行双向通信。这种工作在大规模场景下变得极其复杂——需要手动为成百甚至上千个工具分别构建连接器,才能让 AI 代理用上我们日常依赖的整套工具。

MCP 的解决思路:统一「翻译层」

MCP 的做法是在现有 API 之上架设一层标准化抽象。它接收来自各个 API 的外部数据,将其统一整理为 AI 代理能够自动理解的格式,从而实现与外部工具和数据源的快速连接。换句话说,不再需要为每个 API 单独打造连接器,而是把所有 API 接入一个「通用翻译器」——MCP 服务器。这样一来,用极少的配置工作就能让大语言模型连接任意外部数据源,获取真正有用的上下文信息。

Ben 强调,MCP 是 Anthropic 在几年前才推出的新标准,但仍被他称为「相对优雅的解决方案」,业界对它的兴奋不无道理。「我们需要一种更高效的方式,向代理层供给上下文,」Ben 指出,「一种有望让代理之间互相共享信息的方案。这样就能把过去需要人类知识工作者完成的定制配置工作卸载掉。」他补充道:「整个理念是,为使用这些新工具打造一个更具可扩展性的未来。」

编程之难:逻辑不是我的强项

编程需要逻辑和规则。一旦弄清楚什么逻辑导致什么结果、需要遵循什么规则,代码读起来几乎像看书一样。但问题在于——编程真的很难。

我并不是一个特别有逻辑思维的人,也没有学语言的天赋。为了记住几个简单的代码块,我花了大量时间学习和练习。哪怕给自己布置了课外作业,整个过程也只能说"还算有趣"。

然而,手头所有的变量、字符串和 text.uppers 并不足以让我独立写出自己的编码代理。我那些磕磕绊绊的 Python 尝试,反而更确认了一件事:真正有用的软件开发,需要逻辑、架构和远见——而这些恰恰是我不具备的。14 小时的 Udemy 课程终究无法替代计算机科学学位,更别说多年的开发经验了。

AI 介入:初学者的挫败与惊喜

作为"世界上最差的程序员"最有意思的地方在于,作为新手能收获大量"哇哦!"的成就感。但 AI 编码助手出现后,这类时刻少了很多。每次挣扎着让三行代码跑起来时,我都会眼巴巴地看着编辑器里的 Claude Code 按钮。即使代码跑通了,成功的喜悦也被焦躁冲淡——因为我知道,CLI 里就有个现成的解决方案。说白了,在"不需要真正学编程"的时代学着编程,这就是现实。

最后,我大概花了 20 分钟让 Claude Code 帮我构建了 Leaderboard agent。当然过程中有不少调试,但先说最酷的部分:我竟然能读懂 Claude Code 写的部分代码。

这就是我的"哇哦!"时刻。虽然 Cher Hin Chong 是位出色的讲师,但我真没想到学过的 Python 知识还真留下了些什么。当 Claude Code 生成了 Stack Internal Leaderboard 所需的全部代码时,我居然能理解。不是全部——毕竟是入门课——但基本架构我能看明白。我能看出循环在哪里、为什么断裂,能追踪条件判断的大致含义,能解读特定代码块的目的。对一个几年前连 Python 是什么都不知道的人来说,这太令人激动了。突然之间,我看到的不是一堆乱七八糟的单词和括号,而是一个故事。代码里有情节、有主题、有起伏,甚至有高潮和尾声。

这让调试和运行 agent 变得格外有意思。Claude Code 做重活,我则阅读它的思考过程,尽量跟上它的编辑和建议。大多数时候我都在迷路,但每当理解了一处需要修复的地方,都会感到一丝自豪。说不定有一天,我真能成为"世界上最一般的程序员"。

在本地跑起来:一连串意外

有了代码不等于代码能跑,尤其是用 vibe coding 写出来的。我的第一个任务是搞清楚怎么在浏览器本地运行,看看实际效果是否符合预期。这一跑起来就触发了一连串事件:安装 Streamlit、求 IT 审批 Python 3.14 下载、第一次用 API key、不小心把 API key 暴露给了 Gemini、被 Gemini 骂蠢货、求 IT 帮我重连 Claude Code(怕 Gemini 再骂我)、终于在 localhost 上跑起来了。

Caption: 哪个更可怕:Claude Code 抛弃我,还是 Gemini 骂我?

中间遇到了各种小 bug。我花了大量时间哄 Claude Code 把东西调对,才能按我的预期运行。承认吧,有些问题确实是水平问题(参见:前文提到的 API key 事件)。但当它真正跑起来的那一刻,真是大饱眼福。

我的 agent 做到了我期望的一切。它不仅能快速精准地搜索和发现内容,还能帮我挖掘趋势、找出现有问答库的空白、推荐发帖选题、检查重复问题、对草稿问答进行相关性评分和点赞概率预测,甚至能替我撰写和编辑问答内容,并代我发布。

内部测试:自我约束的两天实验

agent 跑通后,我给 Ben 和 Johno Hawkinson(负责 MCP 服务器的产品经理)做了演示。这个项目最酷的地方之一,就是给产品团队"吃自己的狗粮"。我还顺便给 Johno 提了几条改进 MCP 服务器的意见。在演示过程中,我隐约看到了两人眼中的骄傲。

Ben 给我的建议是:"尽管放手去用。"他和 Johno 都希望我把 Leaderboard agent 用到极致,包括通过双向服务器让它替我发帖。于是我放手干了。

在为期两天的短暂实验中,我写了 5 个问题、1 个答案。数量不多是有原因的——我给自己定了严格规则:

  • 不会在 Stack Internal 实例上刷帖或制造垃圾内容,尊重产品和其中的宝贵知识。
  • 只提与自己相关的问题,只分享自己真正懂的答案。
  • 严格保密,只告诉少数信任的人——Ben、Johno、Ryan 和博客作者 Eira——看看在不知情的 Stacker 眼里,我的 AI 使用是否明显。

从担忧到惊喜:AI 搭档带来的意外收获

在用极少的时间和精力取得大量发帖成果之后,我一直在思考一个潜在的风险:我会不会因此变得更懒,对 Stack Internal 和同事们的内容失去关注,把阅读和总结的工作全交给 AI 代劳?更让我不安的是,用自己的名字发布 AI 撰写的内容,我会不会因此丧失对文章的所有感和责任感?作为一个以写作为生的人,后者尤其让我感到不快。

然而,这些担忧完全是多余的。实际情况恰恰相反——我现在比以前更频繁地刷 Stack Internal,主动寻找可以回答的问题,并痴迷地追踪自己的声望得分。更重要的是,AI 助手提升了我发帖的精准度和清晰度,让我更有信心以更真实的风格表达观点。一位同事 Ryan 在读了我的一篇帖子后评价道:"我就喜欢这种开放场域里的尖锐提问。"

登顶 Leaderboard:意外之喜

我不仅登上了 Stack Internal Leaderboard,而且一路冲到了 第一名

坦白说,我为自己感到非常骄傲。看看那个榜单——我居然在榜首!

除了这份"绝对霸主"的成就感之外,这次项目还给我带来了一种更加特殊而意料之外的自豪感。这是一种我只在最珍视、最个人化的写作作品上才会体验到的骄傲——仿佛我为自己创造了一件真正美妙的东西。

我从未想过,为自己打造一个简单的小工具、帮助达成目标,竟会如此令人愉悦。这就像在对自己说"独行太危险,带上这个吧"的同时,也送给了自己一份小小的礼物。尽管这个项目除了挑战自我(以及获得第一名的吹牛权利)之外没有什么实际意义,但它让我看到了软件开发的不同侧面——一种在精神上更接近我毕生所从事的创意工艺的形态。这难道不酷吗?

在我向 Ben 和 Johno 演示了我的 AI 助手之后,Ben 停顿了一下说道:"Phoebe,我觉得你并不是'世界上最差的程序员'。"我笑着摇头,但他继续说道:"看看你做出来了什么。你应该感到骄傲!别看轻自己……你看起来已经挺会写代码了。" 我个人认为自己离"世界上最差的程序员"还很远(哈哈),不过现在这似乎也没那么重要了。我为自己创造的东西感到骄傲,也为由它带来的成果感到自豪。就算我真的是"世界上最差的程序员"……嘿,至少我还是 Stack Internal 的第一名。

延伸阅读

 
内容管家

发表评论