<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Posts on 永恒的四月博客</title>
        <link>https://9eb22f8f.myblog-ai0.pages.dev/post/</link>
        <description>Recent content in Posts on 永恒的四月博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Tue, 12 May 2026 05:38:51 +0800</lastBuildDate><atom:link href="https://9eb22f8f.myblog-ai0.pages.dev/post/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>日月反背睡不着的晚上</title>
            <link>https://9eb22f8f.myblog-ai0.pages.dev/p/260512_1/</link>
            <pubDate>Tue, 12 May 2026 03:48:21 +0800</pubDate>
            <guid>https://9eb22f8f.myblog-ai0.pages.dev/p/260512_1/</guid>
            <description>&lt;img src=&#34;https://9eb22f8f.myblog-ai0.pages.dev/&#34; alt=&#34;Featured image of post 日月反背睡不着的晚上&#34; /&gt;&lt;p&gt;这种状态已经持续很久了，每天凌晨的3-5点会醒来，白天10点后开始犯困。我的床太软了，如果我白天躺下，那么我一定不顾闹钟的作用睡到可以起床的时间，大概在下午16-18时。&#xA;我想这是由于焦虑的原因，对未来的对明天的焦虑。这样日夜颠倒的生活造成的影响反过来加重了我的焦虑和内耗。&lt;/p&gt;&#xA;&lt;p&gt;从我夜里醒来那一刻开始，耳鸣像机器运行时的轰鸣声，提醒我的大脑开始运作思考。我的头会非常酸胀和疼痛，其中的大脑想必在身体睡着的时候一直在工作。&#xA;当我醒来时就开始总结、内耗、回想，尝试给昨天总结出一个Todo，而记忆系统会说这根本不可能，因此只能空想着凭空产出某些事项去推动今天应该“焦虑待办”的事情。&lt;/p&gt;&#xA;&lt;p&gt;在此之后第一个思考的问题就是今天的早餐。假如我4点醒来，那么直到早餐店开门还有三小时。接着我开始思考有没有可能用别的方式回应肚子的抗议，开始考虑冰箱有没有食物，即食的还是需要处理？即食是否因为冻了一夜需要加热？吃完会不会伤胃变成需要加热处理？需要处理的话这个时间（凌晨四点）会不会发出声音影响其他人？想喝热水烧水时的声音会不会太吵？一系列脑子里的小人开会。&lt;/p&gt;&#xA;&lt;p&gt;当我靠在床上没做任何事情而脑子里左右互搏，否定所有让自己行动的方案，最终决定饿着肚子撑到天亮的时候便开始把思考方向转向有什么方式能够消磨时间。&#xA;在不触犯前一步思考过的规则里把注意力从饿着的肚子上转移，那么实际上我只有一个手机可刷，不过是在考虑从这些刷过千百万次的信息流里找到某些东西把注意力吸引走而已，过程还附带潜意识里对自己没有在现实做些什么有价值的事情而浪费时间的批判。&lt;/p&gt;&#xA;&lt;p&gt;上面写的那么多而客观上我的身体做了什么呢？——什么没做，只不过是醒来，然后倚靠在床头把脸对着手机而已。&lt;/p&gt;&#xA;&lt;p&gt;一个微小的动作如此，更不用说处理日常事务：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;什么时候刷牙，吃饭前还是吃饭后&lt;/li&gt;&#xA;&lt;li&gt;刷牙洗漱的顺序，洗脸用哪个毛巾，加不加洗面奶&lt;/li&gt;&#xA;&lt;li&gt;吃饭、穿鞋、剪指甲、取快递&lt;/li&gt;&#xA;&lt;li&gt;&amp;hellip; &amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;任何微小的事情在我脑子里都是一个巨大的工程。&lt;/p&gt;&#xA;&lt;p&gt;在个人作息和社会生活相背的问题上。假如一天我不需要与任何人打交道那很好，长久的这样生活已经让我摸清了如何处理我的日常需求问题的范式，它们基本上只包括什么时候周边哪家商店、外卖还在提供配送等基本生命维持的需求。&lt;/p&gt;&#xA;&lt;p&gt;假如在某天我需要和社会接触去办某些事那么我需要考虑的就更多了，首先要在白天工作时间在一个我仍能清醒并且自主思维活跃的时候，有时候常以为自己能在某个约定的时间到达，实际上因为太困忽略闹钟起不来而错过。&lt;/p&gt;&#xA;&lt;p&gt;网络和AI建议我把想法写到某个地方给脑子卸货，于是我想到了挺久没更新的博客。&lt;/p&gt;&#xA;&lt;p&gt;在我写这篇文章的当下，在这个凌晨四点，我尝试写一些什么用来理清自己的思绪，总结某些事项，做做未来计划什么的。但是我发现我并不能做到这些，其次是我的生活非常单一而我清楚应该从哪些角度整理，我能总结到的只是我自身感觉到的，我可能需要一面镜子和其他人聊聊或者把这篇文章丢给AI什么的。&lt;/p&gt;&#xA;&lt;p&gt;对于未来我已经不能看得很清晰，我想这就是我焦虑的来源。&lt;/p&gt;&#xA;&lt;p&gt;即使我像前文一样脑子里有很多的思考，把我的想法以某种形式带到现实世界是非常困难的事情。&#xA;我写这篇文章的时候一直在逐句逐字斟酌，我在想刚写下的那句话是不是和我的实际完全符合，这段和下一段衔接怎么样，写这个内容会不会太暴露自己，语言风格是不是和我个人一样，用词是否正确，写完会不会招致刻薄的评论等等。&lt;/p&gt;&#xA;&lt;p&gt;而且我在写某一句话的时候除了停下来思考这些，还会在最后直接跳过这句话开始考虑下一句，下一个内容的写法。&#xA;从客观视角看我只是写某句话停到一半开始注意力稀疏停下。&lt;/p&gt;&#xA;&lt;p&gt;这些思考并不能体现我写文章的水平上，我的文笔还是这么烂哈哈哈。&lt;/p&gt;&#xA;&lt;p&gt;即使心里明白现实世界和我脑子的想法是不同的，情况完全没有脑子想象的那么糟糕，只是稍微不注意就会被脑子控制。。。&lt;/p&gt;&#xA;&lt;p&gt;如此回想起来真的感觉我一直在水中捞月。&lt;/p&gt;&#xA;&lt;p&gt;嗯、甚至没人来看我的博客。。。&lt;/p&gt;&#xA;&lt;p&gt;啊、两分钟后的自己，你想好这篇文章的tag和categories了吗&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>谷歌 Vertex AI API 调用与 429 问题</title>
            <link>https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/</link>
            <pubDate>Wed, 25 Mar 2026 13:51:45 +0800</pubDate>
            <guid>https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/</guid>
            <description>&lt;p&gt;如果想调用市面上比较前沿的多模态模型制作一些东西，使用 GCP 中的 &lt;a class=&#34;link&#34; href=&#34;https://console.cloud.google.com/vertex-ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Vertex AI&lt;/a&gt; 是一个不错的选择。它提供谷歌最新的 Gemini 模型调用权限，一站式支持文本、图片、视频、语音模型。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;i1&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;78px&#34; data-flex-grow=&#34;32&#34; height=&#34;714&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/i1.png&#34; width=&#34;233&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如果是新注册的 GCP 账号，一般还可以配合 Free Trial 的 300 美元赠金来用。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;i2&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;836px&#34; data-flex-grow=&#34;348&#34; height=&#34;402&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/i2.png&#34; srcset=&#34;https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/i2_hu_fc22399badc8fc09.png 800w, https://9eb22f8f.myblog-ai0.pages.dev/p/260325_1/i2.png 1401w&#34; width=&#34;1401&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;大体步骤是：创建一个 Google 云服务账号 -&amp;gt; 在控制台启用 Vertex AI 的 API 功能 -&amp;gt; &lt;a class=&#34;link&#34; href=&#34;https://console.cloud.google.com/iam-admin/serviceaccounts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;开通一个服务账号&lt;/a&gt; 并授予 &lt;code&gt;Vertex AI User&lt;/code&gt; 角色。然后可以通过 ADC 调用；如果你是服务账号方式，也可以下载对应的 JSON 文件来配：&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://googleapis.github.io/python-genai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://googleapis.github.io/python-genai&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;在使用过程中会发现有时候经常返回 429 报错：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;429&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Resource exhausted. Please try again later. Please refer to https://cloud.google.com/vertex-ai/generative-ai/docs/error-code-429 for more details.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;status&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;RESOURCE_EXHAUSTED&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;一些比较新的模型，我自己用下来会更容易碰到这种情况。不过这更多是个人观察，不算官方结论。&lt;/p&gt;&#xA;&lt;p&gt;官方文档里提到，部分 Gemini 模型会使用 &lt;strong&gt;DSQ（Dynamic Shared Quota，动态共享配额）&lt;/strong&gt;。DSQ 没有固定的预定义 quota，请求会在&lt;strong&gt;共享容量池里动态分配&lt;/strong&gt;。&#xA;所以 429 不一定表示你打到了一个固定 quota，也可能只是某个时段共享资源比较紧张。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.cloud.google.com/vertex-ai/generative-ai/docs/quotas&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://docs.cloud.google.com/vertex-ai/generative-ai/docs/quotas&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;官方建议是：&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;ol&gt;&#xA;&lt;li&gt;用 global endpoint；&lt;/li&gt;&#xA;&lt;li&gt;做 truncated exponential backoff；&lt;/li&gt;&#xA;&lt;li&gt;平滑流量，避免秒级尖峰；&lt;/li&gt;&#xA;&lt;li&gt;需要更稳定容量时，改用 Provisioned Throughput（加钱买预订配额，这非常贵）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;这非常难受。不过根据我的观察，在北京时间早上 9-12 点时会好很多&lt;/p&gt;&#xA;&lt;p&gt;如果真的频繁 429，那么除了做重试和错峰，把对模型要求不高的业务先指向比较老、比较便宜或者更稳定的模型，也会缓解一些。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>我的第一篇博文</title>
            <link>https://9eb22f8f.myblog-ai0.pages.dev/p/260317_1/</link>
            <pubDate>Tue, 17 Mar 2026 12:01:08 +0800</pubDate>
            <guid>https://9eb22f8f.myblog-ai0.pages.dev/p/260317_1/</guid>
            <description>&lt;h1 id=&#34;我为什么还在写博客&#34;&gt;我为什么还在写博客？&#xA;&lt;/h1&gt;&lt;p&gt;似乎是一种情怀？在我学习计算机技术的时期，那时候还没有人工智能，我查找资料的能力仅限于使用百度搜索。结果自然是被导航到许多沾满牛皮癣悬浮窗的文章页面。我在这些牛皮癣里找到一些高质量的干货，想看看作者的其他文章，就会从转载来源链接到作者的个人博客。&lt;/p&gt;&#xA;&lt;p&gt;我会惊叹于这些网站干净、整洁、易读的界面。包括站点中作者的生活、心情分享，都让我感觉到这背后是一个个鲜活的同路人，枯燥的学习也有了一种并不孤单的感觉。即使我当时还没有“博客”“Markdown”这些概念，开源精神的种子已经在我心里种下。&lt;/p&gt;&#xA;&lt;p&gt;即使学的是计算机技术，这些年我每天也都在网上冲浪。但十几年来，我在互联网各个平台的评论区里其实很少发言，更多时候只是在看，旁观人们围绕某个观点讨论、争执、拉扯、对骂。&lt;/p&gt;&#xA;&lt;p&gt;我不太知道该怎么描述这种感觉，我只是觉得很混乱。再加上这几年社会戾气的上升、平台言论监管越来越严格，以及网络水军行业的兴起，我会觉得这些评论区已经越来越没有什么真正有价值的内容了。或许也是因为我没有找到真正高质量的社区。&lt;/p&gt;&#xA;&lt;p&gt;我喜欢 GitHub Issues 里的讨论氛围。人们会就事论事，正式而有条理地围绕一个项目讨论，并且真的推动它往前走。我想，这才是我想要的。&lt;/p&gt;&#xA;&lt;h1 id=&#34;还需要靠博客分享和获取知识吗&#34;&gt;还需要靠博客分享和获取知识吗？&#xA;&lt;/h1&gt;&lt;p&gt;我认为，当前如果从学习者的角度看，从个人博客页面获取知识的效率，远不如与人工智能直接讨论来得高。除非是某个行业前沿里一些大佬的分享，就像 AI 对 &lt;a class=&#34;link&#34; href=&#34;https://stackoverflow.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;&lt;code&gt;Stack Overflow&lt;/code&gt;&lt;/a&gt; 访问量的冲击和改变一样。&lt;/p&gt;&#xA;&lt;p&gt;个人博客更多承载的，可能是人们对某些事情的观点，而不只是技术知识；也包括对特定场景的经验分享，例如对新工具、新软件的看法。&lt;/p&gt;&#xA;&lt;h1 id=&#34;我是如何搭建这个博客的&#34;&gt;我是如何搭建这个博客的？&#xA;&lt;/h1&gt;&lt;p&gt;整个过程都是借助 AI 完成的。当我想起我那个闲置的域名，并且想搭建一个博客的时候，我只是把我的想法打进输入框。我有一个 Codex，我问它我想要搭建一个静态博客可以用什么工具，于是它向我推荐了 Hugo，并帮我完成部署。&lt;/p&gt;&#xA;&lt;p&gt;在选择和配置主题的过程中，所有的配置文件也都是使用 Codex 帮我改写的。我只是说出了我想要的效果而已。我觉得 Codex 是非常好用的工具，在 Linux 环境下办公，可以在任何地方启动 Codex，执行命令也方便，几乎等同于我的系统助手。&lt;/p&gt;&#xA;&lt;h1 id=&#34;我会分享什么&#34;&gt;我会分享什么？&#xA;&lt;/h1&gt;&lt;p&gt;我个人的技术知识肯定没有 AI 丰富，所以在技术分享层面，我可能不会有太多见解。我更多会分享一些踩过的坑、工具使用技巧等等，还有一些日常、散文。&lt;/p&gt;&#xA;&lt;p&gt;我的文笔不是很好，个人观点也不是很成熟。&lt;/p&gt;&#xA;&lt;p&gt;这些文章可能会使用 AI 调整排版，纠正语病和错别字，确保在符合我观点的情况下，只做最小的修改。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>夜渡小记</title>
            <link>https://9eb22f8f.myblog-ai0.pages.dev/p/moonlit-ferry/</link>
            <pubDate>Sat, 14 Mar 2026 17:35:00 +0800</pubDate>
            <guid>https://9eb22f8f.myblog-ai0.pages.dev/p/moonlit-ferry/</guid>
            <description>&lt;p&gt;江边的渡口很小，木牌上的字被风雨磨得发白，只剩一个模糊的“渡”字还算清楚。天刚黑，河面像一张慢慢铺开的铁灰色绸布，偶尔被船桨划开，裂出几道短暂的银光。&lt;/p&gt;&#xA;&lt;p&gt;船夫没有多话，只在我上船时点了点头，替我扶了一把晃动的船舷。船上除我之外，还有一个背竹篓的老人，一个抱着油纸包的孩子。大家都沉默着，像是怕惊动了河心刚升起的那轮月亮。&lt;/p&gt;&#xA;&lt;p&gt;船离岸后，四周的声音忽然变得很远。岸上的犬吠、茶摊的招呼、晚归人的脚步，都隔着水雾，轻得像别处传来的旧梦。只有船底触水的声音一下一下，稳稳地托着夜色往前走。&lt;/p&gt;&#xA;&lt;p&gt;老人先开了口，说今年的春天来得慢，田里的水还冷。孩子却只顾看月亮，忽然问船夫，月亮是不是也要过河。船夫笑了笑，说它不过河，它只是一直跟着有心事的人。&lt;/p&gt;&#xA;&lt;p&gt;这话一出，大家都安静了片刻。风从河面吹过来，带着湿润的草木气息。我低头看水，月影正碎在船边，又在下一瞬重新拼好，像许多说不清的念头，散了又聚，聚了又散。&lt;/p&gt;&#xA;&lt;p&gt;靠岸时，远处村口亮着两盏灯，暖黄得很。老人背起竹篓，孩子抱紧油纸包，各自走向不同的小路。船夫把缆绳往木桩上一绕，仍旧什么都没问，只说了一句：夜里风大，路上慢些。&lt;/p&gt;&#xA;&lt;p&gt;我回头看那条河，月光还落在水中央，平静得像从未有人经过。可我知道，刚才那一趟短短的夜渡，已经把许多白天说不出口的话，都悄悄带到了对岸。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
