[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvzp1H-mN14jkKmK-nZmuKN3DjQpV9FPGnjxVOrY-z64":3},{"item":4,"related":54},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":43,"sourceName":44,"sourceUrl":45,"status":46,"seoTitle":47,"seoDescription":47,"canonicalUrl":47,"isFeatured":48,"sno":49,"sortOrder":50,"publishedAt":51,"updatedAt":52,"createdAt":53},"1f746915-fff0-4199-86e5-df8ad6c3f272","article","半年，从复制粘贴到Agent管项目","copypaste-to-agent","当执行逐渐交给 agent，开发者真正重要的能力从“写得快”变成了“判断、调度和决定下一步做什么”","2025年11月，我打开DeepSeek网页端，把我的模组代码一段段复制进去，问它“这段逻辑哪里有问题”，等它生成修改建议，再复制回来粘贴到IDE里。遇到报错就把错误日志再复制过去，来回往复。我觉得自己挺高效的。\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002F52a9ab7a-f69b-4604-8eb4-4cf4a0c70708.jpg\" alt=\"IMG_7190\">\n\n2026年8月，我盯着屏幕上DeepSeek Harness的对话框发呆。基于Kimi K3的多个子agent同时在维护我的模组在多个游戏版本和不同加载器上的更新。我只需要在关键节点确认一下方向，剩下的全是agent自己干。\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002F11ba347f-9f4c-4d89-ac19-91f0a207a755.jpg\" alt=\"5796\">\n\n## 一、复制粘贴时代\n\n> 回想2025年底的模组开发流程，最让我印象深刻的不是它有多慢，而是它有多浪费精力。\n\n一个典型的开发日下午是这样的：上午看到社区发现了新bug或需求，下午开始做。打开IDE，另一个窗口开着DeepSeek网页端。把出错的代码块复制进去，告诉AI：“这段代码在游戏启动时抛出异常，请分析可能的原因……”等它输出，觉得有道理，再把代码复制回来。跑一遍测试，没解决，就把新的错误日志再复制回去。如此循环。\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002Fcbdc1b71-46df-4526-a700-ddff3d78ef73.jpg\" alt=\"IMG_7389\">\n\n后来我发现Kimi对游戏模组开发理解更准确，于是又把所有问题搬到Kimi上去问。我像一个在不同AI网站之间来回跑腿的快递员，DeepSeek管Java语法，Kimi管游戏逻辑，遇到复杂问题还得两边问完对比答案。\n\n整个下午，我的核心工作不是设计模组玩法，而是搬运代码和错误日志。\n\n我的价值体现在“我能把需求准确地转述给AI”以及“我能判断AI输出的代码对不对”。前者是机械劳动，后者才是真正的开发能力，但后者只占了我不到20%的时间。\n\n> 这就像工业革命前夕的手工作坊——你以为自己在使用工具，其实工具在使用你的时间。\n\n## 二、当下载量开始增加\n\n2026年初，玩家多了，反馈也多了，bug不断出现。不同的玩家用不同的游戏版本、不同的模组加载器，每一个环境组合都可能出现不同的问题，而开发者只有我一个。\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002F5616fd91-8fe9-461d-82c2-f2766b93ad64.jpg\" alt=\"d1fdd07e-cf9d-42be-b118-80378e1bce9a\">\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002F85d8cc7f-ffb6-4c72-a67d-5ccfb117a85e.jpg\" alt=\"dbb4677a-640f-450b-8919-9963c7d24116\">\n\n那种压力下的无力感，我到现在还记得。按照原来那种复制粘贴的工作方式，我可能连bug都修不完，更别说开发新内容了。\n\n好在那时候各家agent工具开始爆发式迭代。我先后试了Claude Code、Codex、Trae、Pi等各家agent，Opus、GPT、Deepseek、Kimi、MiniMax等模型。直到现在使用DeepSeek Harness+Kimi K3。\n\n由K3构建的多端多版本同步更新：\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002Fb837555a-8d00-4006-9849-8439f7dee7f3.jpg\" alt=\"1b4e5679-363e-4aa1-8906-00f31ddb07fb\">\n\n从此，我不再是“用AI辅助写代码的人”，而变成了“管理agent开发模组的人”。\n\n## 三、除了效率\n\n以前我一次只能修一个版本的问题，一个新的bug往往需要在多个游戏版本（1.19.3、1.20.1、1.21.1）的多个加载器（fabric、forge、neoforge）中同步修复，切换版本又需要重新加载环境、重新定位代码、重新进入状态。现在我同时管理多个版本的模组更新，agent在维护一个版本时，我在审核另一个版本的改动，同时其他版本的更新agent在各自跑各自的流程。\n\n\u003Cimg src=\"\u002Fuploads\u002F2026-09-02\u002F9fb6d7f0-03c9-4f6e-94b5-4e2c9a9f242b.jpg\" alt=\"89b4f9b9-04d8-4525-b252-4bb09bb2f535\">\n\n> 我的精力从“写代码”转移到了“调度”和“决策”。\n\n现在我的大部分精力花在“判断对不对”和“想清楚下一步做什么”——这个新功能的交互设计是否合理？agent提出的优化方案会不会引入新问题？下个版本应该优先做什么内容？\n\nagent把大部分执行工作扛走了，我终于有空去处理玩家反馈里那些建议，去考虑模组的整体平衡性，去规划我一直想做的新内容。\n\n我意外地找回了“做游戏”的乐趣。\n\n## 四、发展速度\n\n2025年，我在用DeepSeek网页端问Java语法问题，用代码补全工具做简单的补全，用AI笔记软件管理开发计划。那时候我已经觉得自己“全面拥抱AI开发”了。\n\n但仅仅过了半年多，这些行为在今天的我看来，就像拿着算盘做微积分一样。\n\n这也让我意识到我们对“未来工作方式”的想象，永远赶不上工具迭代的速度。\n\n2025年我们讨论的是“AI能不能帮程序员写代码”，2026年我们讨论的是“一个人用agent能同时维护多少个版本”。问题本身已经变了，前一个问题的答案是“能，但需要人来判断”，后一个问题的答案是“取决于你搭agent的能力和判断力”。\n\n而2027年，可能连“版本适配”这个概念都会被AI重新定义。\n\n这个速度意味着任何基于“当前工具形态”制定的职业规划，都有可能在落地之前就已经过时。\n## 最后\n\n从2025年11月的第一行代码，到现在2026年9月，模组下载量接近五十万，多个版本的更新还在持续。也许几个月后，agent的形态又会发生翻天覆地的变化，也许某些我现在赖以生存的技能会再次过时。不论如何，我们无法阻止这一切，也无需阻止。","\u002Fuploads\u002F2026-09-02\u002F09b76b2e-8398-496c-be1b-eacabe357613.jpg",[],[],"龙家轩","https:\u002F\u002Fweatheraintbad.com","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"8649729c-92bf-4ec7-b98b-3bae4271318b","思考","thought","从项目或实操经验中延伸出的思考",[23,27,31,35,39],{"id":24,"name":25,"slug":26},"541aaa1f-7a45-4fd7-b0f4-8798d3cef066","《我的世界》","minecraft",{"id":28,"name":29,"slug":30},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":32,"name":33,"slug":34},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":36,"name":37,"slug":38},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":40,"name":41,"slug":42},"1404d044-7b7e-4cdc-b703-a5e6df8fda50","游戏","game","浏览模组","Modrinth","https:\u002F\u002Fmodrinth.com\u002Fuser\u002FWeatheraintbad","published",null,false,5,0,"2026-09-02T00:00:00.000Z","2026-09-02T11:57:21.405Z","2026-09-02T06:54:38.282Z",[55,65,74],{"id":56,"type":6,"title":57,"slug":58,"summary":59,"coverUrl":60,"authorName":61,"sno":62,"publishedAt":63,"createdAt":64},"525e9d4d-50ba-48c4-be55-4810590d714b","AI Agent 可观测性：如何知道它到底在哪一步出错","genai-agent-observability-with-opentelemetry","Agent 的一次回答可能经过多次模型调用、检索、工具执行和重试。本文从日志、指标与 Trace 的分工讲起，介绍 OpenTelemetry 的 GenAI 语义约定、失败排查方法、敏感内容采集边界，以及如何把 AI 运行变成可解释的执行链路。","\u002Fuploads\u002F2026-08-05\u002F19586c04-7c5c-483a-8cdf-0860e7a03918.jpg","Foundit AI",64,"2026-07-31T00:00:00.000Z","2026-08-05T02:13:45.344Z",{"id":66,"type":6,"title":67,"slug":68,"summary":69,"coverUrl":70,"authorName":61,"sno":71,"publishedAt":72,"createdAt":73},"a3c11b62-9668-40cf-822d-25787f994c75","A2A：当 Agent 开始互相「递名片」","a2a-agent-to-agent-protocol","MCP 让 AI 统一接上工具，却没解决 Agent 之间怎么分工。A2A（Agent-to-Agent 协议）用「Agent Card 名片」让智能体互相发现、委派任务、协作交付。","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-19\u002F7819028f-dd6f-4988-9964-56134773dc53.jpg",75,"2026-07-17T00:00:00.000Z","2026-07-19T16:17:09.511Z",{"id":75,"type":6,"title":76,"slug":77,"summary":78,"coverUrl":79,"authorName":14,"sno":80,"publishedAt":81,"createdAt":82},"eec54a98-e74a-4ea9-9957-4f8dda6bc92a","从简单的尝试到三十万次下载","minecraft-mods-300k","一些最初靠着网页对话框和代码编辑器反复复制粘贴完成的 Minecraft 小模组，下载量突破了 30 万","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-24\u002Fc886b0f0-cc36-41ad-a187-db373db9c42e.jpg",2,"2026-07-24T00:00:00.000Z","2026-07-24T10:33:37.919Z"]