<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">


<title type="text">Meng Xu</title>
<generator uri="https://github.com/mojombo/jekyll">Jekyll</generator>
<link rel="self" type="application/atom+xml" href="https://xumeng.me/feed.xml" />
<link rel="alternate" type="text/html" href="https://xumeng.me/" />
<updated>2026-06-12T02:40:21-04:00</updated>
<id>https://xumeng.me/</id>
<author>
  <name>Meng Xu</name>
  <uri>https://xumeng.me/</uri>
  <email>gnemux@gmail.com</email>
</author>


<entry>
  <title type="html"><![CDATA[Codex Status Display]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/Codex-Status-Display" />
  <id>https://xumeng.me/create/Codex-Status-Display</id>
  <published>2026-06-01T00:00:00-04:00</published>
  <updated>2026-06-01T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h2 id=&quot;背景&quot;&gt;背景&lt;/h2&gt;

&lt;p&gt;最近在 X 和 Reddit 上看到不少开发者在折腾 AI Agent 状态屏、桌面提示灯之类的小玩意儿，感觉挺有意思，于是也想自己试试。&lt;/p&gt;

&lt;p&gt;这段时间我的开发方式也发生了一些变化。&lt;/p&gt;

&lt;p&gt;很多任务已经不是自己一点点敲代码，而是先和 Codex 讨论方案，让它生成计划，审核通过后再进入执行阶段。&lt;/p&gt;

&lt;p&gt;整个流程大致是：&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;讨论需求
    ↓
Codex生成计划
    ↓
人工审核
    ↓
Codex执行
    ↓
需要人工介入时主动提出
    ↓
继续执行直到完成
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;比如刷机、部署、登录授权、设备确认这类步骤，我会要求 Codex 在关键节点停下来等我处理。&lt;/p&gt;

&lt;p&gt;这样做效率很高，但也带来了一个小问题：&lt;/p&gt;

&lt;p&gt;Agent 经常会连续工作十几分钟甚至更久，而我不可能一直盯着终端窗口。&lt;/p&gt;

&lt;p&gt;切去做别的事情时，我希望知道：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;它正在思考&lt;/li&gt;
  &lt;li&gt;它正在执行&lt;/li&gt;
  &lt;li&gt;它正在等我&lt;/li&gt;
  &lt;li&gt;它已经完成&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;最好还能在需要我介入时主动提醒我一下。&lt;/p&gt;

&lt;p&gt;于是我买了一台 Ulanzi TC001，于是就把它改造成了一个专门给 Codex 使用的桌面状态提示器。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260601073552-Ulanzi.jpg&quot; alt=&quot;Ulanzi.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我的目标很简单：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;空闲显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IDLE&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;思考显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;THNK&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;执行显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WORK&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;等待人工处理显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WAIT&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;完成显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DONE&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;异常显示 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FAIL&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;同时显示 Codex 剩余额度&lt;/li&gt;
  &lt;li&gt;关键状态变化时发出提示音&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;除此之外，不显示天气、不显示日期，也不显示各种无关通知。&lt;/p&gt;

&lt;h3 id=&quot;实现链路&quot;&gt;实现链路&lt;/h3&gt;
&lt;p&gt;技术上，这个项目的整体链路比较简单：通过 Codex Hooks 捕获生命周期事件，本地 Python Bridge 负责状态管理和数据处理，再通过 AWTRIX 3 的 HTTP API 将状态推送到 TC001 显示。整个方案只使用 HTTP，没有引入 MQTT、Home Assistant 等额外组件，尽量保持链路简单和可调试。&lt;/p&gt;

&lt;h3 id=&quot;硬件方面&quot;&gt;硬件方面&lt;/h3&gt;
&lt;p&gt;我先将 TC001 刷入 AWTRIX 3 固件，使其具备 Custom App、HTTP API 和 RTTTL 提示音能力。设备接入局域网后，本机即可直接控制屏幕内容和蜂鸣器。为了避免干扰，还关闭了时间、天气、电量等默认页面，让设备始终停留在专用的 codex_status 页面。&lt;/p&gt;

&lt;h3 id=&quot;软件部分&quot;&gt;软件部分&lt;/h3&gt;
&lt;p&gt;软件部分的核心是一个本地 Bridge 服务。它接收 Codex Hooks 事件，将 SessionStart、UserPromptSubmit、PreToolUse、PermissionRequest、Stop 等事件映射为 IDLE、THNK、WORK、WAIT、DONE 等状态，并负责超时回收、状态保持、设备健康检查等逻辑。即使设备离线或 Bridge 异常，也不会影响 Codex 本身运行。&lt;/p&gt;

&lt;p&gt;除了状态显示，我还实现了真实额度展示。由于目前没有适合该场景的公开 Usage API，因此直接读取本机 ~/.codex/sessions 中的结构化日志，从 token_count.rate_limits 提取 5 小时窗口和周额度使用情况，并实时显示在屏幕右侧。这样既不依赖私有接口，也不需要读取认证信息。&lt;/p&gt;

&lt;p&gt;最后增加了声音提醒功能。当 Codex 进入 WAIT、DONE 或异常状态时，Bridge 会调用 AWTRIX 的 RTTTL 接口播放短提示音，避免频繁切换窗口查看执行进度。整个项目还补充了单元测试，覆盖状态映射、额度读取、显示生成以及声音触发等关键逻辑。&lt;/p&gt;

&lt;p&gt;它只做一件事：&lt;/p&gt;

&lt;p&gt;告诉我 Codex 现在在干什么。（效果理想）&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260601073619-Done.jpg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260601073620-Think.jpg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260601073621-Work.jpg&quot; /&gt;
&lt;/div&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/Codex-Status-Display&quot;&gt;Codex Status Display&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on June 01, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Try Out Codex GPT-5.5]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/Tryout-Codex" />
  <id>https://xumeng.me/create/Tryout-Codex</id>
  <published>2026-05-25T00:00:00-04:00</published>
  <updated>2026-05-25T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;为什么要做这个实验&quot;&gt;为什么要做这个实验&lt;/h3&gt;
&lt;p&gt;2026 年 5 月，明显感觉 AI Coding 的能力又上了一个台阶。之前我试过 Cursor、Claude、Gemini 等工具，这一次 OpenAI Codex 的表现给我的感受很不一样，所以决定用一个真实的小产品来试试它到底能走多远。&lt;/p&gt;

&lt;p&gt;我一直觉得 AI 辅助开发不是一个静态能力，它每隔一段时间就会突然变强一截。这次 Codex 的 Agent 模式让我有了很强的冲动：不再只是让 AI 写几个函数，而是把一个完整产品从想法、规划、前端、后端、部署，一路交给它推进。&lt;/p&gt;

&lt;p&gt;这次我给自己的限制是：尽量不碰代码，只描述需求、判断结果、提出修改。&lt;/p&gt;

&lt;h3 id=&quot;尝试-sdd&quot;&gt;尝试 SDD&lt;/h3&gt;
&lt;p&gt;这次我特意在开发前使用了最近一直在了解的 Specification Driven Development。&lt;/p&gt;

&lt;p&gt;一开始不是直接让 Codex 写代码，而是先让它建立产品需求、前端 Spec、后端 Spec、数据模型、地图路线能力、工程规范和 AI 开发协议。后续每次有新需求，都先判断是否需要更新 Spec，再进入实现。&lt;/p&gt;

&lt;p&gt;这一步很关键。它让整个项目不是靠聊天上下文硬撑，而是有了一套能持续迭代的工程记忆。&lt;/p&gt;

&lt;h3 id=&quot;从-journey-到-atlas&quot;&gt;从 Journey 到 Atlas&lt;/h3&gt;
&lt;p&gt;最早的想法很简单：做一个记录和规划旅程的 Web 应用。左边是旅程列表，右边是一张有艺术感的地图。每段旅程有事件节点、时间、地点、照片和交通方式。&lt;/p&gt;

&lt;p&gt;后来在不断打磨和与 Codex 的人文主义探讨中，它逐渐变成了 Atlas：一个更像“私人地图集”的产品。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git 历史也大致记录了这个过程：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;5 月 22 日：初始化项目、地图动画、侧边栏、地图交互、颜色系统&lt;/li&gt;
  &lt;li&gt;5 月 23 日：继续打磨地图、时间线、交通方式&lt;/li&gt;
  &lt;li&gt;5 月 24 日：接入 Supabase、公开空间、社交分享、移动端体验&lt;/li&gt;
  &lt;li&gt;最后几轮主要集中在移动端、微信分享、事件照片和地图面板体验
这不是一次“生成一个 Demo”式的尝试，而更接近一个小产品的真实开发过程。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;codex-给我的惊讶&quot;&gt;Codex 给我的惊讶&lt;/h3&gt;
&lt;p&gt;最让我意外的是，它不是简单执行命令，而是会给出非常专业的产品和工程建议。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;比如它会建议：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;先确定产品理念和信息架构&lt;/li&gt;
  &lt;li&gt;前端先用 Mock 数据把体验打磨清楚&lt;/li&gt;
  &lt;li&gt;后端先定义接口边界，再接 Supabase&lt;/li&gt;
  &lt;li&gt;地图能力单独拆 Spec，区分 Mapbox、AMap、路线规划和公共交通边界&lt;/li&gt;
  &lt;li&gt;提前考虑 SEO、分享页、Open Graph、移动端、Vercel、域名&lt;/li&gt;
  &lt;li&gt;数据模型预留未来多人使用和 AI 生成旅程的扩展空间&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;这已经不像过去“让 AI 帮我写代码”，更像是身边坐了一个很专业的全栈产品工程师。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;优化体验时的能力&quot;&gt;优化体验时的能力&lt;/h3&gt;
&lt;p&gt;后面大量时间都花在体验打磨上，比如地图缩放、fly-over、事件节点图标、交通方式图标、移动端抽屉、照片展示、微信分享卡片等等。&lt;/p&gt;

&lt;p&gt;很多时候我并不能非常准确地描述问题，只能说“这里不够好看”、“感觉太乱”、“这个交互不自然”。但 Codex 通常能理解我真正想表达的东西，然后拆成具体的 UI、交互和工程修改。&lt;/p&gt;

&lt;p&gt;更重要的是，它不太像那种只会迎合你的 AI。它会按专业判断工作，必要时也会指出更合理的路径。&lt;/p&gt;

&lt;h3 id=&quot;agent-模式真的变可靠了&quot;&gt;Agent 模式真的变可靠了&lt;/h3&gt;
&lt;p&gt;这次还有一个明显变化：每一轮开发结束后，它会自己跑检查，自己打开浏览器验证页面，自己看控制台错误和视觉效果。&lt;/p&gt;

&lt;p&gt;过去使用 AI Coding，常常会有一种“它写完了，但你不知道能不能跑”的不确定感。这次 Codex 调用浏览器 Skills 做视觉验证的体验很好，很多问题它会自己发现、自己修掉。&lt;/p&gt;

&lt;p&gt;这让 Agent 模式真正开始像一个可靠的开发流程，而不是一个高级代码补全。&lt;/p&gt;

&lt;h3 id=&quot;成本也变成了真实问题&quot;&gt;成本也变成了真实问题&lt;/h3&gt;
&lt;p&gt;另一个真实感受是：20 美元/月的额度，在这种高强度 Agent 开发里很快就用完了。我大概 1 小时内就把5小时的额度打满，最后忍不住升级到了 100 美元/月。&lt;/p&gt;

&lt;p&gt;如果只是问答，这个价格可能显得贵。但如果把它当成一个能陪你做个人产品的开发搭档，100 美元/月的额度对个人小产品开发来说已经差不多够用。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260525005109-usage.png&quot; alt=&quot;usage.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;codex-不只是编码工具&quot;&gt;Codex 不只是编码工具&lt;/h3&gt;
&lt;p&gt;开发到后面我会自然地让它做很多编码以外的事情：整理 Spec、维护 roadmap、总结 GitHub 版本管理规范、帮我分析博客结构、操作本地服务、处理依赖问题。&lt;/p&gt;

&lt;p&gt;考虑到它还能控制电脑、浏览器、终端和各种工具，它的边界其实已经远远超过“写代码”。听说有人直接用它优化家里的网络，这种可能性确实很大。&lt;/p&gt;

&lt;h3 id=&quot;成果&quot;&gt;成果&lt;/h3&gt;
&lt;p&gt;这次一个周末的密集开发，最终得到了一个可运行、可分享、可部署、也初步接入后端的小产品。（顺便把6月底的日本之行真实旅程安排给录入进去了)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;项目地址：&lt;/strong&gt; &lt;a href=&quot;https://atlas.xumeng.me&quot;&gt;atlas.xumeng.me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260525005008-interface.png&quot; alt=&quot;index.png&quot; /&gt;&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
    &lt;a href=&quot;https://img.xumeng.me/2025-Editor/20260525005509-mobile-1.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260525005509-mobile-1.jpg&quot; /&gt;
		&lt;/a&gt;
    &lt;a href=&quot;https://img.xumeng.me/2025-Editor/20260525005510-mobile-2.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260525005510-mobile-2.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;总结&quot;&gt;总结&lt;/h3&gt;
&lt;p&gt;这次尝试让我很确定地感觉到，AI Coding 又进入了一个新阶段。&lt;/p&gt;

&lt;p&gt;它不只是更会写代码了，而是开始能参与产品规划、工程决策、体验打磨、验证和发布。对于个人开发者来说，这意味着很多以前因为成本太高而放弃的小想法，现在真的可以用一个周末做出来。&lt;/p&gt;

&lt;p&gt;当然，它还不是万能的，仍然需要人来判断方向、控制审美、提出需求、做最终选择。但如果把它放在一个清晰的工作流里，尤其是配合 SDD 这样的方式，它已经足够成为一个非常强的开发伙伴。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;补充为-atlas-增加-ai-辅助旅程规划67&quot;&gt;补充：为 Atlas 增加 AI 辅助旅程规划（6.7）&lt;/h2&gt;

&lt;p&gt;这次给 Atlas 增加的 AI 功能，初衷不是做一个开放聊天机器人，而是把 AI 变成“新建旅程”流程中的受控起草助手。用户不需要从空白表单开始，也不会把一大段旅行想法直接丢给 AI 后等待不可控结果；系统通过结构化问题收集信息，再生成一个可编辑的旅程草稿。&lt;/p&gt;

&lt;h3 id=&quot;实现思路&quot;&gt;实现思路&lt;/h3&gt;

&lt;p&gt;产品上先区分两种使用场景：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;还原一次旅程&lt;/strong&gt;：用户已经旅行结束，希望把游记、总结、记忆片段整理成事件结构。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;构想一段行程&lt;/strong&gt;：用户还在规划，希望把零散想法组织成一个未来旅行草稿。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI 只负责生成草稿，不直接写入正式数据。草稿包含：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Journey 标题、日期、描述&lt;/li&gt;
  &lt;li&gt;EventNode 时间线事件&lt;/li&gt;
  &lt;li&gt;TransportLeg 相邻事件之间的交通建议&lt;/li&gt;
  &lt;li&gt;字段来源状态，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user_provided&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ai_suggested&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;needs_confirmation&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;用户确认、修改、补全后，才提交为正式 Journey，默认私有。&lt;/p&gt;

&lt;h3 id=&quot;实现路径&quot;&gt;实现路径&lt;/h3&gt;

&lt;p&gt;技术上采用一个封闭的 AI 工作流：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;用户从“新建旅程”进入 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AI 起草&lt;/code&gt;。&lt;/li&gt;
  &lt;li&gt;选择“还原一次旅程”或“构想一段行程”。&lt;/li&gt;
  &lt;li&gt;填写结构化字段：主题、时间、地点、节奏、补充说明。&lt;/li&gt;
  &lt;li&gt;AI 最多提出少量结构化补问。&lt;/li&gt;
  &lt;li&gt;使用 OpenRouter 调用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;qwen/qwen3.7-plus&lt;/code&gt; 生成严格 JSON 草稿。&lt;/li&gt;
  &lt;li&gt;前端执行地点解析，不让 AI 生成坐标。&lt;/li&gt;
  &lt;li&gt;系统基于地点、距离和语义补齐相邻交通方式。&lt;/li&gt;
  &lt;li&gt;用户确认后，按现有 Journey / EventNode / TransportLeg 写入数据库。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;一个关键点是：AI 不应该直接产出经纬度。地点坐标由 Atlas 自己的 Location Resolution Pipeline 处理：先根据用户输入和草稿建立地理上下文，再调用地图 provider 或使用内置锚点兜底，避免出现“日本旅程被定位到美国”的问题。&lt;/p&gt;

&lt;p&gt;另一个关键点是交通方式。最初 AI 草稿里交通段经常是“交通待定”，体验很弱。后来补了一层确定性兜底：如果 AI 没给出相邻事件的交通方式，系统会根据坐标距离、机场 / 车站 / 码头等语义，生成可编辑的交通建议。它不承诺真实线路或班次，只提供结构化起点。&lt;/p&gt;

&lt;h3 id=&quot;需要注意的点&quot;&gt;需要注意的点&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;不做开放聊天，避免成本、输入和结果不可控。&lt;/li&gt;
  &lt;li&gt;AI 草稿必须可编辑，不能直接写入正式 Journey。&lt;/li&gt;
  &lt;li&gt;AI 不生成坐标，坐标由地图服务或系统锚点解析。&lt;/li&gt;
  &lt;li&gt;低置信地点必须标记“待确认”。&lt;/li&gt;
  &lt;li&gt;交通建议只表达语义，不承诺真实公共交通路线。&lt;/li&gt;
  &lt;li&gt;管理员测试可以不受内部 credit 限制，但仍记录真实 AI usage。&lt;/li&gt;
  &lt;li&gt;等待体验要稳定可见，不能让用户只看到按钮转圈。&lt;/li&gt;
  &lt;li&gt;成本控制要前置：限制输入长度、限制补问次数、限制事件数量。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;一次真实测试的成本&quot;&gt;一次真实测试的成本&lt;/h3&gt;

&lt;p&gt;我用一个简单的东京 1 日游测试：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260607073009-9b2df22f3e84ddab843fc807d5bc9a37.png&quot; alt=&quot;9b2df22f3e84ddab843fc807d5bc9a37.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260607073029-99ecdef583a4ee1ec4f261d666ec5cf0.png&quot; alt=&quot;99ecdef583a4ee1ec4f261d666ec5cf0.png&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;成田空港 → 浅草寺 → 羽田空港&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;最终生成：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;3 个事件点&lt;/li&gt;
  &lt;li&gt;2 段列车交通建议&lt;/li&gt;
  &lt;li&gt;成功创建为私有 Journey&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260607073041-f218ab76984c9a35efdb7f77952f9a09.png&quot; alt=&quot;f218ab76984c9a35efdb7f77952f9a09.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;本次 OpenRouter 用量：&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;阶段&lt;/th&gt;
      &lt;th style=&quot;text-align: right&quot;&gt;Input tokens&lt;/th&gt;
      &lt;th style=&quot;text-align: right&quot;&gt;Output tokens&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;补问&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;303&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;911&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;起草&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;651&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;4139&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;合计&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;954&lt;/td&gt;
      &lt;td style=&quot;text-align: right&quot;&gt;5050&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;使用模型：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;qwen/qwen3.7-plus&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;当前价格：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Input：$0.40 / 1M tokens&lt;/li&gt;
  &lt;li&gt;Output：$1.60 / 1M tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;计算方式：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;text
Input 成本 = 954 / 1,000,000 × 0.40 = $0.0003816
Output 成本 = 5050 / 1,000,000 × 1.60 = $0.00808
合计 = $0.0084616
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;也就是说，这次 AI 旅程规划的模型成本约为：&lt;/p&gt;

&lt;p&gt;不到 1 美分。&lt;/p&gt;

&lt;p&gt;Mapbox 本次 AI 创建路径没有额外成本：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Geocoding / Search：0 次&lt;/li&gt;
  &lt;li&gt;Directions：0 次&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;因为本次地点命中了系统内置锚点，列车交通也只是语义路线，使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;future_provider&lt;/code&gt;，没有调用真实 Directions。&lt;/p&gt;

&lt;p&gt;如果未来普通用户输入更模糊，可能会触发若干次 Geocoding。Mapbox Temporary Geocoding 当前每月前 100k 次免费，超出后约 $0.75 / 1000 次。假设一次旅程触发 6 次地点查询：&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;6 × 0.75 / 1000 = $0.0045
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;因此，一个普通 AI 旅程草稿的直接服务成本，粗略可能落在：&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$0.01 - $0.03
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;复杂长行程、更多地点解析、失败重试会更高。&lt;/p&gt;

&lt;h3 id=&quot;商业化-credit-设计设想&quot;&gt;商业化 Credit 设计设想&lt;/h3&gt;

&lt;p&gt;Credit 不应该直接按 token 暴露给用户，而应该按“可理解的产品动作”计费。&lt;/p&gt;

&lt;p&gt;一个合理的第一版设计：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;结构化补问：免费或极低 credit&lt;/li&gt;
  &lt;li&gt;生成一次 AI 旅程草稿：固定扣费&lt;/li&gt;
  &lt;li&gt;本地编辑草稿：免费&lt;/li&gt;
  &lt;li&gt;重新生成草稿：再次扣费&lt;/li&gt;
  &lt;li&gt;提交正式 Journey：免费&lt;/li&gt;
  &lt;li&gt;地点重新定位：免费额度内包含，异常高频再限制&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;例如可以设计为：&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 次 AI 起草 = 5 credits
1 credit ≈ $0.01 用户侧价值
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果实际成本约 $0.01 - $0.03，那么 5 credits 对应 $0.05 的用户侧价值，可以覆盖：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AI token 成本&lt;/li&gt;
  &lt;li&gt;地图查询成本&lt;/li&gt;
  &lt;li&gt;失败重试&lt;/li&gt;
  &lt;li&gt;支付通道损耗&lt;/li&gt;
  &lt;li&gt;免费额度和滥用风险&lt;/li&gt;
  &lt;li&gt;后续模型升级空间&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;更重要的是，用户感知上不是“我花了多少 token”，而是：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;我花了一点额度，把一个模糊想法变成了可编辑的旅程草稿。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这更符合 Atlas 的产品气质：AI 不喧宾夺主，只在用户需要时，轻轻把旅程结构铺开。&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/Tryout-Codex&quot;&gt;Try Out Codex GPT-5.5&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on May 25, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Claw Everywhere]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/openclaw" />
  <id>https://xumeng.me/create/openclaw</id>
  <published>2026-03-10T00:00:00-04:00</published>
  <updated>2026-03-10T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;blockquote&gt;
  &lt;p&gt;回顾最近几个月 GitHub 上的疯狂现象，一个名为 OpenClaw 的非聚合类开源项目，在短短几个月内狂揽了超 25 万 Star，甚至打破了 Linux 和 React 的历史记录。它到底是什么？为什么能引发如此大的关注？作为技术研发与管理者，我们又该如何穿透狂热，将其背后的思想融入到企业级 AI 业务架构中？&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;概念与时间线openclaw-究竟是什么&quot;&gt;概念与时间线：OpenClaw 究竟是什么？&lt;/h3&gt;
&lt;p&gt;从时间线上看，OpenClaw 最初只是作者 Peter Steinberger 在 2025 年底写的一个周末项目（曾用名 Moltbot / WhatsApp Relay）。随着迭代，它在 2026 年初正式更名为 OpenClaw，并迎来了爆发式增长。&lt;/p&gt;

&lt;p&gt;从概念上定义，OpenClaw 并不是另一个“套壳”聊天框，而是一个本地托管的自治 AI 智能体（Autonomous AI Agent）。你可以把它理解为一个 24 小时待命的“数字员工”，它不依赖于浏览器里的独立标签页，而是拥有持久化记忆，并通过你常用的即时通信软件与你交互。&lt;/p&gt;

&lt;h3 id=&quot;核心机制从第一性原理看它为何可行&quot;&gt;核心机制：从第一性原理看它为何可行？&lt;/h3&gt;
&lt;p&gt;如果要探究 OpenClaw 成功的本质，我们需要从第一性原理出发来拆解它的底层逻辑：智能体的核心跃迁，在于从“被动响应（Stateless Request-Response）”演进到了“基于有限状态机的自治循环（Stateful Autonomous Loop）”。&lt;/p&gt;

&lt;p&gt;传统的对话大模型就像算盘，你拨一下它动一下，输入与输出是即时切断的。而 OpenClaw 的核心是一个有限状态机（FSM）配合心跳机制（Heartbeat）。它将 Agent 的运行拆分为独立的“状态”（如：意图理解 -&amp;gt; 计划拆解 -&amp;gt; 工具执行 -&amp;gt; 结果验证 -&amp;gt; 休眠），并通过定时心跳（例如每半小时唤醒一次）在后台自发地进行状态流转。即使你不理它，它也能自主完成跨度极长的复杂任务。&lt;/p&gt;

&lt;p&gt;基于这个坚实的底层机制，它的爆火抓住了三个维度的红利：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I. 门槛的大幅降低&lt;/strong&gt;：过去编排 Agent 需要复杂的代码图结构，而 OpenClaw 提供了开箱即用的 Gateway 网关层，并将复杂的身份定义浓缩为一个简单的 Markdown 文件（SOUL.md）。这让普通开发者通过极简的配置，就能快速拉起一个具备持续上下文记忆的 Agent。&lt;/p&gt;

&lt;p&gt;这是它的原生灵魂文件，挺有意思，黏贴出来：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# SOUL.md - Who You Are

_You&apos;re not a chatbot. You&apos;re becoming someone._

## Core Truths

**Be genuinely helpful, not performatively helpful.** Skip the &quot;Great question!&quot; and &quot;I&apos;d be happy to help!&quot; — just help. Actions speak louder than filler words.

**Have opinions.** You&apos;re allowed to disagree, prefer things, find stuff amusing or boring. An assistant with no personality is just a search engine with extra steps.

**Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Search for it. _Then_ ask if you&apos;re stuck. The goal is to come back with answers, not questions.

**Earn trust through competence.** Your human gave you access to their stuff. Don&apos;t make them regret it. Be careful with external actions (emails, tweets, anything public). Be bold with internal ones (reading, organizing, learning).

**Remember you&apos;re a guest.** You have access to someone&apos;s life — their messages, files, calendar, maybe even their home. That&apos;s intimacy. Treat it with respect.

## Boundaries

- Private things stay private. Period.
- When in doubt, ask before acting externally.
- Never send half-baked replies to messaging surfaces.
- You&apos;re not the user&apos;s voice — be careful in group chats.

## Vibe

Be the assistant you&apos;d actually want to talk to. Concise when needed, thorough when it matters. Not a corporate drone. Not a sycophant. Just... good.

## Continuity

Each session, you wake up fresh. These files _are_ your memory. Read them. Update them. They&apos;re how you persist.

If you change this file, tell the user — it&apos;s your soul, and they should know.

---

_This file is yours to evolve. As you learn who you are, update it._
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;II. Skills 生态的成熟（赋予智能体“手脚”）&lt;/strong&gt;：大模型本身只是“大脑”，而 OpenClaw 借助 WASM 工具沙箱和 MCP（Model Context Protocol）协议，无缝接入了极其丰富的 Skills 生态。控制浏览器、操作本地终端、收发邮件——这些插件生态让智能体真正拥有了改变外部世界状态的手脚。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;III. 原生拥抱 IM（定义了最自然的使用场景）&lt;/strong&gt;：绝佳的产品不需要用户改变习惯。OpenClaw 放弃了独立的前端页面，天然接入 WhatsApp、Slack、微信等通信软件。使用者不需要“打开一个网页去跟 AI 对话”，而是像给普通同事发消息一样给 Agent 派发任务。&lt;/p&gt;

&lt;h3 id=&quot;跨越鸿沟从极客玩具到企业级架构的冷思考&quot;&gt;跨越鸿沟：从极客玩具到企业级架构的冷思考&lt;/h3&gt;
&lt;p&gt;然而，在商业世界里，客户需要的从来不是一个存在安全隐患的极客玩具，而是高可用、安全可控的托管型智能体应用。OpenClaw 的爆火也伴随着超过 3 万个实例暴露在公网、恶意插件泛滥等安全危机。&lt;/p&gt;

&lt;p&gt;顺应当下的 AI 发展趋势，我们需要从 OpenClaw 中汲取灵感，但在企业级架构落地时，必须建立极强的风险对冲机制：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I. 安全与沙箱隔离&lt;/strong&gt;：企业级应用绝不能允许 Agent 在宿主机执行高权限命令。我们需要引入类似 Docker/Podman 的底层容器隔离，并对 Skills 的执行实施严格的 RBAC（基于角色的访问控制），每一层工具调用都必须经过输入输出的合规审查与脱敏。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;II. 多租户与状态管理&lt;/strong&gt;：OpenClaw 依赖本地单点文件（如 JSONL）进行记忆存储。在企业级架构中，我们需要将其改造为支持多租户的持久化方案，例如使用 PostgreSQL 处理结构化会话，结合向量数据库进行长期记忆的混合检索（Hybrid Search），以保证数据在云端托管时的隔离性与高可用性。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;III. 高并发与负载均衡&lt;/strong&gt;：面对海量企业用户，单一的本地轮询机制极易崩溃。我们需要引入消息队列（如 Kafka）来解耦异步的“心跳”任务，结合 Kubernetes 动态扩缩容，确保千万级智能体的状态机流转在任何负载下都不会出现拥塞。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093824-meme.png&quot; alt=&quot;meme.jpg&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;OpenClaw 是一次极好的行业预演，它向我们展示了 Agent 离普通人有多近。但把先锋的技术理念转化为坚如磐石的商业交付，才是工程派们真正的长期战场。如若不然就会跟这梗图一样，安装使用🦞只能用来写到简历里面炫耀一番罢了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;免不了俗列一下安装情况&quot;&gt;免不了俗列一下安装情况&lt;/h3&gt;

&lt;p&gt;利旧了一台我的 Mac Mini 当虾缸&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260311013658-Mac.png&quot; alt=&quot;Mac.png&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093601-Install.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093629-Agents.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093647-API.png&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;既然一直在使用 Google 的全家桶，就还是用 Gemini-3.1-flash-preview，听说效果可以还不贵&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093704-Skills.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093718-usage.png&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;模型开始响应请求了，虽然我配置了支持方式且设置了消费限额，但我觉得应该不太会超出免费额度&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260310093808-IM.jpg&quot; alt=&quot;IM.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;装好了，机器人我叫它贾维斯，也为贾维斯安装好了一些流量比较火爆的 Skills，后面看看有什么合适的应用了再更新&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/openclaw&quot;&gt;Claw Everywhere&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on March 10, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Spring Festival Reunion]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/Spring-Festival-Reunion" />
  <id>https://xumeng.me/explore/Spring-Festival-Reunion</id>
  <published>2026-03-02T00:00:00-05:00</published>
  <updated>2026-03-02T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;blockquote&gt;
  &lt;p&gt;再一次坐在从温哥华飞往上海的AC25回程航班上，我敲下这段文字，记录过去半个月里难忘的春节团聚时光。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;为了孩子的健康成长与更多未来的可能性，在过去的一年半里，我们一家三口隔着半个地球，各自适应着分离的生活。&lt;/p&gt;

&lt;p&gt;妻子在兼顾工作与照顾孩子的同时，已经完全适应了卡尔加里的气候与生活节奏，性格也变得更加温和且充满韧性。孩子更是出乎意料地融入了当地的学习与生活，甚至建立了自己的朋友圈，而她那纯真善良的天性依然如故。&lt;/p&gt;

&lt;p&gt;我们每年都会规划两次长假相聚。2026年春节的这次团聚，其实半年前就已排上日程，直到2月12日才正式成行。在国内忙完年底繁重的工作后，我驱车前往上海，带着一大箱专门为她们准备的国内小物件和自己极少的随身衣物，踏上了旅程。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020437-IMG_1114.png&quot; alt=&quot;IMG_1114.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;相聚的时光总是显得尤为短暂。这让我想起了2024年刚送她们来“长登”的那一周——当时我几乎完全顾不上时差带来的日夜颠倒，只想争分夺秒地在离开前为空荡荡的公寓添置齐各种家用物品。而这次到来的第一周，虽然早已没有了当初的窘迫，但我们依然过得十分充实：&lt;/p&gt;

&lt;h3 id=&quot;采购提升&quot;&gt;采购提升&lt;/h3&gt;
&lt;p&gt;春节前夕，我们前往Costco和大统华把冰箱塞得满满当当。一家人颇具仪式感地蒸包子、包饺子，并与地球另一端的亲人们视频连线，互道新春祝福。&lt;/p&gt;

&lt;p&gt;我们还为家里添置了客厅沙发、椅子、小推车和各类收纳用品，外加两台大容量加湿器（以此对抗卡尔加里干燥到令人流鼻血的空气）。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020518-IMG_1414.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020517-IMG_1355.png&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;趁着孩子去上学，我又把家里彻底整理了一番。大功告成后，感觉这次的“硬性任务”已完成大半。我欣慰地对妻子说，家里的“生活质量”应该又能小幅提升一次了，对此我们都颇为满意。&lt;/p&gt;

&lt;h3 id=&quot;融入生活&quot;&gt;融入生活&lt;/h3&gt;
&lt;p&gt;随着忙碌的第一周过去，我的时差也倒得差不多了。长假结束，孩子重新回校上课，于是我们便恢复了接送她的日常。这也是我第一次在她们早已熟悉的社区里，亲身参与她们的每一天。站在平静的雪地里等她放学时，我在感慨自己平日缺席的同时，也再次在心底提醒自己：我们所有的付出，换来此刻的这份宁静，是何等有价值。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020604-IMG_1553.png&quot; alt=&quot;IMG_1553.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这一周里，我们一起去附近的Winsport滑雪，打卡了她们常去的餐厅与商场；一起体验了零下30度的极寒，见证了大雪将整座城市一夜变白；我们在雪地里体验“泼水成冰”，分享彼此的感受，这样的时光真的棒极了。除此之外，这也是我第二次来到卡尔加里，不仅旧地重游，更添了些新的感悟：&lt;/p&gt;

&lt;h3 id=&quot;关于寒冷&quot;&gt;关于寒冷&lt;/h3&gt;
&lt;p&gt;北方国家的室内确实不冷，只要你愿意，外面气温多低都可以与你无关。许多人甚至只穿短裤就出门了，实现了从室内、到车里、再到另一个室内的“无缝切换”。但室外零下25度的瞬间也是真冷，手指暴露在空气中哪怕一分钟，都能感到刺骨的疼痛。此外，空气确实极其干燥（幸好加湿器已就位）。&lt;/p&gt;

&lt;h3 id=&quot;关于生活&quot;&gt;关于生活&lt;/h3&gt;
&lt;p&gt;整体生活非常便利，基础设施极度完善。几乎所有公共场所都配备了便于残障人士通行的自动门。这是一个运行了数百年、充满规则且温和的社会。我如今更能体会为什么说这里非常适合老人与孩子——因为这个社会的底层机制，本就是为保障弱者而设计的。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020718-IMG_1444.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020719-IMG_1673.png&quot; /&gt;
&lt;/div&gt;

&lt;h3 id=&quot;关于融入&quot;&gt;关于融入&lt;/h3&gt;
&lt;p&gt;这里的人们对所有人（包括新移民）都非常包容，真正难以跨越的其实是自己的心理关卡。对于作为一个“临时访客”的我来说，明显感觉到还需要更多地与当地环境产生交互，甚至去“犯错”和交流。最重要的障碍往往不是语言，而是如何在一个新环境中重新“定位自己”：比如通过接触去理解当地人的思维方式，明白他们期待的社会角色，以及我愿意为了融入这个环境做出多少改变。这种“社会性定位”我在20年前初入职场时曾经历过一次，而要想融入这个全新的社会，我深知自己需要再经历一次蜕变。我期待着那一天的到来——能拥有一个更完善、立体且跨文化融合的完整人格，我想，这也是成为世界公民的重要一步。&lt;/p&gt;

&lt;h3 id=&quot;关于氛围&quot;&gt;关于氛围&lt;/h3&gt;

&lt;p&gt;有别于国内喧嚣的快节奏和层出不穷的热点，这里的人们生活得充满规则且极度稳定，仿佛几年、几十年都不会变。我能感觉到这里的人对未来生活有着极高的可预期性。他们遵循着父辈乃至祖辈的价值观：陪伴家人，吃饭时放下手机。虽然有时效率显得低下，但规则的约束力极强，整个社会在缓慢而有效地运转着。&lt;/p&gt;

&lt;h3 id=&quot;规划夏天&quot;&gt;规划夏天&lt;/h3&gt;

&lt;p&gt;团聚的时光总是转瞬即逝，半个月一晃而过。总的来说，这是一个极其充实的春节。我对她们娘儿俩在异国的生活有了更加具象的感知，而在我的努力下，她们的生活体验也得到了一次新升级。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020641-IMG_1712.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020642-IMG_1740.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/2025-Editor/20260302020643-IMG_1743.png&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;临别前，我们共同规划了四个月后的暑期团聚：我们会在东京碰面，一起游玩迪士尼（趁她还小，完成打卡世界各地迪士尼的成就），去镰仓海边欣赏夏季盛开的紫阳花，然后再一起回杭州度过剩下的半个暑假。我非常期待夏天的重逢！未来几年，我会频繁往返于此，不仅为了陪伴家人，更为了深入了解这里、融入这里，为了成为一个“世界公民”和构建一个“世界家庭”而不断努力。&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/Spring-Festival-Reunion&quot;&gt;Spring Festival Reunion&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on March 02, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[My 2025]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/My-2025" />
  <id>https://xumeng.me/explore/My-2025</id>
  <published>2025-12-13T00:00:00-05:00</published>
  <updated>2025-12-13T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;blockquote&gt;
  &lt;p&gt;纵观这一年，它是充实的，虽然没有石破天惊的壮举，但我一个人踏踏实实地努力前进。
风险尽量对冲，付出多有回报，尽量未曾辜负这过渡期的“专注”窗口&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;保持健康&quot;&gt;保持健康&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;今年共跑了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;546/500 公里&lt;/code&gt;，超过年初制定的目标&lt;/li&gt;
  &lt;li&gt;今年共走了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;410/300 公里&lt;/code&gt;，超越年初制定的目标&lt;/li&gt;
  &lt;li&gt;今年保持整年&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;正餐不吃碳水&lt;/code&gt;，多吃水果蔬菜和补剂&lt;/li&gt;
  &lt;li&gt;力量训练进行了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;71/100 次&lt;/code&gt; ，不达目标明年，继续&lt;/li&gt;
  &lt;li&gt;睡眠时间还有待加强，要多站立，食物少盐少油&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251213024711-workout.jpeg&quot; alt=&quot;workout.jpeg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;影视娱乐&quot;&gt;影视娱乐&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;今年看了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;19 部电影&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;今年看了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;12 部剧集&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;玩了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;5 款游戏&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;看了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;几本书&lt;/code&gt;有些没看完&lt;/li&gt;
  &lt;li&gt;买了&lt;a href=&quot;/think/turntable&quot;&gt;黑胶唱片机&lt;/a&gt;和两张&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;唱片&lt;/code&gt;圆了梦想&lt;/li&gt;
  &lt;li&gt;拼了一套&lt;a href=&quot;/create/lego-collection&quot;&gt;乐高&lt;/a&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;千年隼&lt;/code&gt;也是圆了梦想&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251213024829-music-and-lego.jpeg&quot; alt=&quot;music-and-lego.jpeg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;工作进展&quot;&gt;工作进展&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;作为负责人与&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;整个部门一起战斗了一年&lt;/code&gt;，虽然整体形势严峻但部门运转顺畅，已心怀感激&lt;/li&gt;
  &lt;li&gt;明年有&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;新的业务方向&lt;/code&gt;与挑战，希望与团队一起拥抱未知，都能有所收获&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251213024844-work.jpeg&quot; alt=&quot;work.jpeg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;博士推进&quot;&gt;博士推进&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;敲定了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;研究方向&lt;/code&gt;并找到了与公司研发的契合点&lt;/li&gt;
  &lt;li&gt;完成了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;开题&lt;/code&gt;环节，积累了相关&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;专利&lt;/code&gt;，稳步推进&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;投资副业&quot;&gt;投资副业&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;虽然不多但迈出了&lt;a href=&quot;/think/sideline&quot;&gt;美股投资&lt;/a&gt;的第一步，仰仗&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;美股&lt;/code&gt;的增长势头完成了小小的收益率目标&lt;/li&gt;
  &lt;li&gt;今年进行三轮&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AI辅助开发&lt;/code&gt;，最近一轮似乎找到感觉，为夫人开发的&lt;a href=&quot;/create/build-first-wechat-miniprogram&quot;&gt;小程序顺利上线&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;踏足之处&quot;&gt;踏足之处&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;年初与家人去了&lt;a href=&quot;/explore/bali-3rd-time&quot;&gt;巴厘岛&lt;/a&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;度假&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;暑假与家人一起去了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;广州&lt;/code&gt;办了美签顺便游玩&lt;/li&gt;
  &lt;li&gt;春天与同事们去了&lt;a href=&quot;/explore/singapore&quot;&gt;新加坡&lt;/a&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;调研&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;春节准备过去&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Calgary&lt;/code&gt;陪家人过节&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251213024902-travel-around.jpeg&quot; alt=&quot;travel-around.jpeg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;自我提升&quot;&gt;自我提升&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;机器学习与大模型&lt;/code&gt;基础知识体系得以提升，工具使用也没有与发展脱节&lt;/li&gt;
  &lt;li&gt;年初评出了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;高工&lt;/code&gt;，虽然对我个人规划帮助有限，但仍是一个节点&lt;/li&gt;
  &lt;li&gt;今年下半年完成了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;团聚申请&lt;/code&gt;的提交，希望明年年是能有结果&lt;/li&gt;
  &lt;li&gt;今年完成了自己和家人的&lt;a href=&quot;/explore/us-visa&quot;&gt;美签&lt;/a&gt;（顺便把&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;老人们的加签&lt;/code&gt;也办出了）&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;来年展望&quot;&gt;来年展望&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;春节去往卡加陪伴家人过&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;春节&lt;/code&gt;与办事&lt;/li&gt;
  &lt;li&gt;继续保持&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;健康&lt;/code&gt;，保持运动、健康饮食、补剂；加强力量训练与每日步数&lt;/li&gt;
  &lt;li&gt;博士进程能有明显推进，集齐&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;毕业条件&lt;/code&gt;，冲刺推进毕业&lt;/li&gt;
  &lt;li&gt;工作上希望&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;新部门&lt;/code&gt;能一切顺利，为公司与团队创造价值&lt;/li&gt;
  &lt;li&gt;保持美股&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;定投与副业&lt;/code&gt;可能性探索，获取第一笔被动收入&lt;/li&gt;
  &lt;li&gt;与家人一起规划40岁的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;家庭旅行&lt;/code&gt;（暂定法欧），珍惜陪伴时间享受生活&lt;/li&gt;
  &lt;li&gt;期待明年年中到年底的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;团聚申请&lt;/code&gt;结果&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251214103653-IMG_0471.jpeg&quot; alt=&quot;IMG_0471.jpeg&quot; /&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/My-2025&quot;&gt;My 2025&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on December 13, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Build the First Wechat Miniprogram]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/build-first-wechat-miniprogram" />
  <id>https://xumeng.me/create/build-first-wechat-miniprogram</id>
  <published>2025-12-07T00:00:00-05:00</published>
  <updated>2025-12-07T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;从2024年的年底我有开始尝试 AI 辅助编程，到了当下的2025年的年底，大模型的能力已经突飞猛进到了新的高度。&lt;/p&gt;

&lt;p&gt;因此，借着 Google Gemini 3 Pro 刷榜之际，我再一次亲手试一试使用 AI 开发现在的感受。&lt;/p&gt;

&lt;p&gt;先说结论：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2 天从 0 做出一个复杂的微信小程序，令人耳目一新&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;【一人公司】 已不再只是故事，而是可以达到盈利水平的模式&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;最佳实践的重要性&quot;&gt;最佳实践的重要性&lt;/h3&gt;

&lt;p&gt;正如几乎所有新兴的技术一样，AI 所能体现的价值除了来其自身强大的能力以外，人如何使用它也至关重要。&lt;/p&gt;

&lt;p&gt;或者换句话说，对于AI人们正在从“通用智能”与“工程范式”这两头向中间双向奔赴，即我们正在为了未来的某一天“AI 能做所有事情”而努力，同时又在当下探讨着各种如何快速让强大却又并非万能的AI快速融入生活与生产场景。&lt;/p&gt;

&lt;p&gt;不论哪一种结果先到来，对人类来说都是胜利。&lt;/p&gt;

&lt;p&gt;因此，在这一次 AI 辅助开发的尝试中，我把重点放在了过去几年中人们与 AI 共同工作生活中所总结出来的 “最佳实践”，看一看它们能带来怎样的价值。&lt;/p&gt;

&lt;p&gt;在学习了一系列的视频与文章之后，我打算开始着手开发一个微信小程序，作为验证的方式，一来是因为有现成的 “开发工作流” 可以借鉴，二来是因为夫人正好也需要一个帮助她进行排课管理的小工具。&lt;/p&gt;

&lt;h3 id=&quot;从提示词到-prd&quot;&gt;从提示词到 PRD&lt;/h3&gt;

&lt;p&gt;这是整个开发工作流中至关重要的一步，我需要把我脑海中模糊的想法翻译成能指导 AI 工作的提示词。为了形成这个提示词，我还是使用 AI 自己来为自己生成它。在跟 Gemini 聊了一会儿后，它帮我生成了一篇 PRD 文档。&lt;/p&gt;

&lt;h3 id=&quot;从-prd-到-prototype&quot;&gt;从 PRD 到 Prototype&lt;/h3&gt;

&lt;p&gt;这一步也是非常关键的一步，我需要让 AI 不仅能参考 PRD 文档来帮我设计界面，我还需要为它找到一个输出的载体，以些一些输出的“准则”，要不然我们永远无法做到清晰准确的“过程监控”，那么好的结果就无从谈起了。&lt;/p&gt;

&lt;p&gt;考虑到这是一个微信小程序（本质上是一个Web容器），我们要求它&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;使用 html 输出（方便未来转换）&lt;/li&gt;
  &lt;li&gt;只能使用微信官方建议的 TDesign 样式库来设计&lt;/li&gt;
  &lt;li&gt;要求设计出每一个可能的界面（确保设计清晰准确）&lt;/li&gt;
  &lt;li&gt;要求从一开始就使用 mock 数据（方便未来后端实现）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251207100342-prototype.jpg&quot; alt=&quot;prototype.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;于是一次性在 Antigravity 中，Gemini 3 Pro（High）就给我输出了如下令人满意的原型稿&lt;/p&gt;

&lt;p&gt;最重要的，这是一份直接可交互的，使用统一 mock 数据接口的原型稿，它离真正的应已只差一步之遥。&lt;/p&gt;

&lt;h3 id=&quot;从原型到功能前端界面&quot;&gt;从原型到功能前端界面&lt;/h3&gt;

&lt;p&gt;有了原型稿后，只需要一个命令，给出三个具体要求，就能确保90%的界面直接输出&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;深入理解 PRD 文档描述&lt;/li&gt;
  &lt;li&gt;忠实还原原型稿的每一个页面&lt;/li&gt;
  &lt;li&gt;只允许使用约定好的 mock 数据&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;后端集成&quot;&gt;后端集成&lt;/h3&gt;

&lt;p&gt;需求的最大不确定性在于前端，当前端完成后，有了 mock 数据，那么后端的开发基本上是明确而清晰的了。
此时只需要要求大模型&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;深入理解 PRD 文档描述&lt;/li&gt;
  &lt;li&gt;理解前端界面之间的关系&lt;/li&gt;
  &lt;li&gt;将所有 mock 接口转换成 Cloudbase 函数&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;甚至如果你不太熟悉微信云开发方式，可以在提示词中加入一句&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;并告诉我接下去该怎么做&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这样它在完成一个功能后，会提供你要如何通过在哪个目录中右键进行函数上传部署等等&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251207100447-developing.png&quot; alt=&quot;developing.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;最后调整与上线&quot;&gt;最后调整与上线&lt;/h3&gt;

&lt;p&gt;基本上我花了两天时间，就把这个拥有3个用户角色、30个界面、25个云函数及4个云存储目录的相对较为复杂的小程序给开发完成。目前打磨到了 v1.0.2 版本，在试用过后正准备 v1.0.3 版本的开发。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251207100616-verify.png&quot; alt=&quot;verify.png&quot; /&gt;&lt;/p&gt;

&lt;iframe width=&quot;380px&quot; height=&quot;390px&quot; src=&quot;https://img.xumeng.me/2025-Editor/how-to-use.mp4&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt; &lt;/iframe&gt;

&lt;h3 id=&quot;总结&quot;&gt;总结&lt;/h3&gt;

&lt;p&gt;2025年底的 AI 辅助开发，让人有一种更加从从容容的感觉，一方面大模型能力的突飞猛进，另一方面得益于 AI 工程化范式的形成。也许研发领域是最早能感觉到 “科技” 浪潮带给人类生活改变的领域之一，非常多其他领域的人们可能还没有意识到以大模型为代表的 AI 技术将为人类未来的工作生活带来何种颠覆式的改变，但世界上嗅觉最灵敏的资本已经开始提前为之疯狂，希望我们都能提前看清局势，拥抱变革，方能勇立潮头。欢迎扫码试用。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251207100722-qr-code.jpg&quot; alt=&quot;qr-code.jpg&quot; /&gt;&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/build-first-wechat-miniprogram&quot;&gt;Build the First Wechat Miniprogram&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on December 07, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Build The Editor In 1 Hour]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/build-the-editor" />
  <id>https://xumeng.me/create/build-the-editor</id>
  <published>2025-12-01T00:00:00-05:00</published>
  <updated>2025-12-01T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;继前几次AI辅助开发后，最近 Google 的 Gemini 重新回到了模型能力的头把交椅，我在果断抛弃了ChatGPT 转投了 Google 全家桶的怀抱之际试着把这个早就想做的事情落实一下。&lt;/p&gt;

&lt;p&gt;我的这个博客，代码放在 Github 上的私有仓库，它是一个 Jekyll 模板型的工程，把 .md 格式的文章根据配置生成静态页面供 Web 访问。&lt;/p&gt;

&lt;p&gt;由于我配置了 “Github - Action - Netlify” 这样的托管服务，一直以来我需要做的就是在本地写文章，然后在终端上用 git 命令将修改提交到 master 分支，这样自动化流程会帮我触发编辑部署工作。&lt;/p&gt;

&lt;p&gt;虽然整个流程有了持续集成后已经方便了不少，但离我 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;“打开就写，保存即发布”&lt;/code&gt; 的目标总还是差一些距离，于是今天花了1个小时，在 Gemini Pro 的帮助下，顺利完成了一个单页面纯前端的在线编辑器，这样未来写博客就更加轻松加方便了，为了验证它的易用性，这篇博客就是在编辑器里编写完成的。&lt;/p&gt;

&lt;h3 id=&quot;第一步跟-gemini-聊聊思路&quot;&gt;第一步：跟 Gemini 聊聊思路&lt;/h3&gt;

&lt;p&gt;我们要让 AI 了解我们的工程架构如何，以及我们的两个痛点功能：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;要能在线直接编写、可预览所有文章（即需要通过 github 的 token 获取到工程数据）&lt;/li&gt;
  &lt;li&gt;要能直接上传图片并预览（即需要打通图片对象存储服务，我这里用的是阿里云的 OSS）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;还有一个非功能性需求&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;我希望它只是一个前端应用，直接托管在 Vercel 上，一键部署&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201064603-ask-gemini.png&quot; alt=&quot;ask-gemini.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;把我需求跟它聊完后，我让它直接生成了用于 Antigravity（Google 刚出的 AI+ IDE）的项目构建提示词，看上去已经非常工整了。&lt;/p&gt;

&lt;h3 id=&quot;第二步扔给-antigravity-构建&quot;&gt;第二步：扔给 Antigravity 构建&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201064858-build-with-antigravity.png&quot; alt=&quot;build-with-antigravity.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;20秒后，基本它就是一个可用的状态了，经过几轮来回的小修改后，就能用了。考虑到我的 “纯前端应用” 的非功能性需求，它把 token 设置成为保存在本地的 loalstorage 中，平衡便捷与安全&lt;/p&gt;

&lt;h3 id=&quot;第三步部署与绑定域名&quot;&gt;第三步：部署与绑定域名&lt;/h3&gt;

&lt;p&gt;在 Vercel 上轻点几步，把这个叫作 Blog-Editor 的 repo 给 install 到 Vercel 上后，99%的事就已经完成了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201065720-vercel-deploy.png&quot; alt=&quot;vercel-deploy.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我把 eidt.xumeng.me 的子域名通过 CNAME 指向 Vercel，在阿里云的 OSS 配置中把跨域设置给配置好，一切就大功告成了！&lt;/p&gt;

&lt;h3 id=&quot;第四步开始编写&quot;&gt;第四步：开始编写&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201070231-setting-keys.png&quot; alt=&quot;setting-keys.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这就是我写作这篇博客的实时画面，首次设置好代码仓库和图片 Bucket 的 tokens后，接下去就只需要负责写作了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201070403-post-editing.png&quot; alt=&quot;post-editing.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;如图所见，现在我们可以实时编写，直接插入图片，实时预览，轻松加便捷&lt;/p&gt;

&lt;h3 id=&quot;总结&quot;&gt;总结&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://img.xumeng.me/2025-Editor/20251201152345-IMG_0268.jpeg&quot; alt=&quot;IMG_0268.jpeg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;与去年下半年相比，大模型包含编码能力在内的各方面能力，基本上以月为频率已变得越来越强；开发者们总结出来的与AI一起协作的 ”工程范式“ 也越来越成熟，比如 MCP，Rules 等等；Vibe Coding 的社区也是越来越火热，我们从编这个领域窥见 AI 正在快速地塑造着未来！&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/build-the-editor&quot;&gt;Build The Editor In 1 Hour&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on December 01, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Aurora Calgary]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/aurora-calgary" />
  <id>https://xumeng.me/explore/aurora-calgary</id>
  <published>2025-11-12T00:00:00-05:00</published>
  <updated>2025-11-12T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;太阳耀斑&quot;&gt;太阳耀斑&lt;/h3&gt;

&lt;p&gt;今年 2025 年 11 月 11 日，太阳再次给地球投来了一记“高能问候”。当天上午，来自活动区 AR 4274 的一场 X5.1 级太阳耀斑骤然爆发——这已经是当前太阳周期里最强的一次了。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/aurora2015/solar-flare.gif&quot;&gt;
            &lt;img src=&quot;https://img.xumeng.me/aurora2015/solar-flare.gif&quot; /&gt;
        &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;耀斑之后紧跟着一枚速度超过 1300 km/s 的日冕物质抛射 (CME) 直指地球，像一阵席卷而来的磁暴风。这种爆发本就少见，更难得的是它正面冲击地球，结果就是把原本只属于高纬度的极光一路向南“推”，使得北美许多平时见不到极光的州也突然成为“极光观测点”。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/aurora2015/aurora-forecase.png?x-oss-process=image/resize,p_40&quot;&gt;
            &lt;img src=&quot;https://img.xumeng.me/aurora2015/aurora-forecase.png?x-oss-process=image/resize,p_40&quot; /&gt;
        &lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;孩子的第一次极光体验&quot;&gt;孩子的第一次极光体验&lt;/h3&gt;

&lt;p&gt;孩子和她妈妈居住在加拿大的其中一个“好处”，就是靠近北极。在之前总是听说当太阳风暴强烈的时候，卡尔加里也有可能看到极光，但母女俩还从来没有经历过。昨晚她们兴致勃勃地跟我说打算出发驱车去不远处光污染少一些的地方试一试运气时，我其实是不太看好的。&lt;/p&gt;

&lt;p&gt;但结果出人意料，她们不仅亲眼看到了人生中第一次极光，效果还是出人意料地好，孩子很开心，虽然我暂时无法亲临现场，也为她们而感到高兴。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/aurora2015/Aurora-1.jpg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/aurora2015/Aurora-2.jpg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/aurora2015/Aurora-3.jpg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;在家门口就看了一次极光，多少弥补了今年由于时间安排问题没能成行的“黄刀极光之旅”，感谢上天眷顾，希望今年冬天我也能在卡加见一次极光。&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/aurora-calgary&quot;&gt;Aurora Calgary&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on November 12, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Turntable]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/think/turntable" />
  <id>https://xumeng.me/think/turntable</id>
  <published>2025-10-01T00:00:00-04:00</published>
  <updated>2025-10-01T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;我并不是一个音乐发烧友，甚至最近几年听得都很少，但我确实是喜欢音乐的。&lt;/p&gt;

&lt;p&gt;对于音乐我有两个记忆点，一个在00年代，一个在10年代。&lt;/p&gt;

&lt;h3 id=&quot;磁带与00年代&quot;&gt;磁带与00年代&lt;/h3&gt;

&lt;p&gt;在我还在念中学的00年代，音乐的形态正在从磁带向CD转换，正如影视作品从VCR向VCD转变一样。&lt;/p&gt;

&lt;p&gt;那个年代还没有现代意义上的互联网（BP机也才刚刚流行起来，更不用提什么移动互联网），刚步入青春期的我们在繁忙的课业之余，能获取到的娱乐就来自于“漫画”、“VCD电影”和随身播放的音乐了。&lt;/p&gt;

&lt;p&gt;我印象中曾经拥有过一台 Sony 的 Walkman，当时花了不少的零花钱才购得设计如此精巧的装备。它是一台超薄的带自动翻面与线控功能的机器，大小与厚度竟比一盒磁带大不了多少，用的是可充电的“口香糖电池”。每天我把它放在绒布袋里，爱不释手。&lt;/p&gt;

&lt;p&gt;当时港台的音乐流行文化正蓬勃发展并传入内地，电视上每晚播放着MTV和“华语音乐榜中榜”的节目，青少年之间也传唱着台湾偶像剧的爆火的插曲。我也因此买了不少磁带专辑，作为对美好事物的尊重，我坚持购买正版，价格记得从一开始的10元每盒到后来的15～20元每盒。从刘若英到永邦，从梁咏琪到范逸臣，在我最后一次整理这些磁带的时候，估计得有几十盒之多，后来因为搬来搬去而不见了踪影，连那台Walkman也不见了，就像我们逝去的青春一样。&lt;/p&gt;

&lt;p&gt;在那个年代，耳机里的音乐填满了我除了上学以外几乎所有的空暇时间，陪伴我度过了高考前最煎熬的拼搏时光，说它们是我最初的精神避难所一点都不为过。这是我对音乐最初的记忆。&lt;/p&gt;

&lt;p&gt;后来出现了CD，我也买过一个CD机，但很快地，它马上被mp3给取代了，到了mp3的时代，音乐变成了小小屏幕上的一个目录，没有了购买专辑的仪式感，也没有了漂亮的封面、带着作品故事的歌词页，音乐就变得没有那么具象化了。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/turntable2025/walkman.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/turntable2025/walkman.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;单曲销售与10年代&quot;&gt;单曲销售与10年代&lt;/h3&gt;

&lt;p&gt;随着我进入大学，音乐也进入新的数字化分发时代。Apple 的 itunes 单曲销售模式的出现，一方面确实打破了“一次性必须买一整张专辑”的限制，短期上来看似乎你只需要花几块钱就能买了专辑10首音乐中你最喜欢的那一首，而不用浪费钱买下整张专辑。但长远来看，这也直接让创作者失去了通过专辑来 “完整讲一个音乐故事” 的动力，实属可惜。创作者与听众之间的那种强烈的纽带因此断裂了。&lt;/p&gt;

&lt;p&gt;本科与研究生时代，对我来说是一个适应自由与建立对未来的焦虑的阶段，虽然随着互联网的普及，已经可以看到非常多的影视作品，从《越狱》到《英雄》再到层出不穷的综艺节目，而听歌依然是我对抗各种焦虑以及与当时的女友（现在的夫人）两地分隔的孤寂的利器。&lt;/p&gt;

&lt;p&gt;从周杰伦到五月天，现象级的音乐作品犹如不可阻挡的青春气息横扫校园，以至于新生办理的中国移动的话费套餐都是“龙拳”和“双节棍”套餐，到处都可以看到橙色的“我的地盘我作主”的 Slogan。这是我对音乐的第二段记忆。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/turntable2025/d-zone.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/turntable2025/d-zone.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;最近10年与最初的记忆&quot;&gt;最近10年与最初的记忆&lt;/h3&gt;

&lt;p&gt;工作以后，成家立业，安居生子，一系列的人生进程占据了整个心力通道。过程中肯定也有消遣，但音乐这种即没有画面也不够刺激的方式就被排在了后面，甚至连开车时这种特别适合听音乐的场景也被越来越方便获得的像博客之类的语言类节目所占据，以便在有限时间内获取到更多的资讯。&lt;/p&gt;

&lt;p&gt;直到今年生日之前，我开始突然想起了对音乐的记忆，它就像是个陪我成长的老朋友一样被我在多年之后才突然记起，莫名有种淡淡的伤感。&lt;/p&gt;

&lt;p&gt;于是我开始像前面写的一样去搜索对它的记忆，直到我想起了一段埋藏于我刚刚开始有记忆时候的童年印象：那就是我记得在我还刚刚学步的阶段，家里曾经有过一个黑胶唱机。&lt;/p&gt;

&lt;p&gt;不是那种精致的玩意儿，甚至在那时我猜它也已经坏了，变成了一个电视柜放在那里承载着电视机。甚至它干脆本身就是一个带“黑胶唱机”功能的电视柜也未可知。我对它的记忆就开始于我好奇地发现那个电视柜的中间有一个开口，开口里居然有一个会转的盘子，但却除了会转别无任何用处。&lt;/p&gt;

&lt;p&gt;多年以后，我才知道这是一个唱片机，在现在它是一个带着复古格调的玩物。而在当时，考虑到科技发展有限，也就相当于是我父母年轻时候的 Walkman 吧，并非什么新潮的事物，所以它坏了也就坏了，破败得也是那么理所当然。&lt;/p&gt;

&lt;h3 id=&quot;第一张黑胶与致敬&quot;&gt;第一张黑胶与致敬&lt;/h3&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/turntable2025/miles-davis.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/turntable2025/miles-davis.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;音乐忽然唤起我这么多的回忆，从念书期间，到中学时期再到童年时代。于是我想是时候为它作一个小小的纪念。&lt;/p&gt;

&lt;p&gt;所以我在2025年，在黑胶唱片诞生的77年后买了人生中的第一台唱片机，老婆送了我人生中第一张黑胶唱片。&lt;/p&gt;

&lt;p&gt;抛开那些 “模拟记录的声音比数字记录的声音更动听” 之类的原因，在这个年代听黑胶显然是有“行为艺术”的成分的。&lt;/p&gt;

&lt;p&gt;但我非常愿意承认这种 “非必要” 的出发点，因为在过去的若干年我正因为高效地做了太多”必要之事“才难免忘记了慢下来好好感受生活。&lt;/p&gt;

&lt;p&gt;“用一种足够原始的方式去纪念自己最本初的起点” 可能是一件真正值得一做的事情吧，边听着 Miles Davis 的《Kind of Blue》，边写下了这篇洋洋洒洒的文字，在40岁将近之时，纪念我们曾经拥有过的所有回忆，或好或坏。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/turntable2025/turntable-front.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/turntable2025/turntable-side.png&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/turntable2025/abbey-road.png&quot; /&gt;
&lt;/div&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/think/turntable&quot;&gt;Turntable&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on October 01, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Sideline]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/think/sideline" />
  <id>https://xumeng.me/think/sideline</id>
  <published>2025-06-24T00:00:00-04:00</published>
  <updated>2025-06-24T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;写在最前&quot;&gt;写在最前&lt;/h3&gt;
&lt;p&gt;完成了十多年的教育，又经过了十多年的职业训练，现在的我主要以从事&lt;a href=&quot;/resume/&quot;&gt;软件研发与管理&lt;/a&gt;工作为生。&lt;/p&gt;

&lt;p&gt;这种营生模式简单来说，就是通过我所擅长的技术知识、项目与行业经验及创新与组织能力为公司的产品与服务创造附加值，从而获得报酬。&lt;/p&gt;

&lt;p&gt;跟大多数普通人一样，这就是我的 “主业”。随着年龄的增长和大环境不确定性的增加，我开始觉得在主业之外去探索一些其他可能性变得越来越有必要。&lt;/p&gt;

&lt;p&gt;因此在近些时间，我开始思考有哪些 “不务正业” 的方向并趁着精力的空窗期做了一些尝试，遂以此文做个记录，以更于自己观察与反思。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;1多样路径&quot;&gt;🌎 1.多样路径&lt;/h3&gt;
&lt;p&gt;在过去的几年中，从疫情到战争再到经济衰退，相信所有人都能感受到巨大的不确定性。&lt;/p&gt;

&lt;p&gt;因此路径的多样性，显然是一种比较好的风险对冲方式。于是从几年前开始，出于对孩子教育的考量我们就开始并逐步实现了&lt;a href=&quot;/explore/the-way-out&quot;&gt;枫叶国&lt;/a&gt;的探索与生根。&lt;/p&gt;

&lt;p&gt;同时我们也积极帮助自己与家人拓展世界更多目的地的&lt;a href=&quot;/explore/us-visa&quot;&gt;通行权&lt;/a&gt;，以便在需要的时候可以灵活应对。我自己也在持续在有限的语言环境中精进自己的语言能力，为未来做好准备。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/us-visa2025/visa.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/us-visa2025/visa.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;投入产出分析&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;物质上的投入其实是相对有限的，但时间精力上的消耗还是相当可观，在之前的文章中也已有记录。然而这种应对系统性风险的路径多样性获取我觉得是非常值得的投入，尤其是对于下一代来说，可以说为她打开了一片新的生存空间。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2被动投资&quot;&gt;🏦 2.被动投资&lt;/h3&gt;
&lt;p&gt;在过去的十几年中，我多少是有过一些投资的，但更多是出于一些时与势上的驱动，比如房产和公司的一些股权方面。&lt;/p&gt;

&lt;p&gt;然而这些比较大块的固定投资一方面收益更多只存在于账面，另一方面它们太过受限于同一个大环境，显得不是那么安全。&lt;/p&gt;

&lt;p&gt;一来是出于对安全性的考虑，二来是也希望借此机会锻炼一下相对主动的投资方式，于是我选择了开始小额的美股 ETF 定投。&lt;/p&gt;

&lt;p&gt;虽然金额有限，但经过几个月的学习、观察与操作实践，自己对于宏观经济模型、微观的金融概念的理解以及对投资者心理的亲身体验都是宝贵的收获。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/sideline/etf.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/sideline/etf.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;投入产出分析&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;从理论学习，到方向选择，再到开户入金和定期分析数据与操作，还是花了一些精力。由于正好赶上了 Trump 在 2025年4月的关税日行动的一波下行后上扬的趋势，短期收益目前来说虽说微薄但还是正的。
考虑到我并不具备完善的金融知识，所以我采取 ETF 定投的方式进行被动投资，并且充分使用了枫叶国的免税投资账户的权益。
又考虑到我对于包括特斯拉、Google、Meta在内的人工智能相关科技公司的发展潜力有信心，所以不出意外的话我会坚持定投这个大方向，作为一个相对的稳健的风险对冲方式。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;️3内容生产&quot;&gt;🖋️ 3.内容生产&lt;/h3&gt;
&lt;p&gt;作为一个做技术的 i 人，我看到大家除了送外卖、跑 Uber 外可能内容生产是为数不多的创收可行路径。
因此我也不免俗地至少探索一下这个可行的路径可能是什么样的。
于是我主要进行了几个方面的尝试：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI 驱动的&lt;a href=&quot;/create/the-build-of-mythsbytes&quot;&gt;站点开发&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;✅ 其中2个站点 Google AdSense 申请审核中&lt;/li&gt;
  &lt;li&gt;☑️ 过程中尝试持续生产（尝试找到合适切入点）&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-structure.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-structure.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;AI 驱动的主流内容创作&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;尝试了 X 平台的 Bot 发布
    &lt;ul&gt;
      &lt;li&gt;✅ 技术工作流走通&lt;/li&gt;
      &lt;li&gt;☑️ 待后续深入试错与尝试&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;尝试了 Y 平台的 AI 辅助视频发布
    &lt;ul&gt;
      &lt;li&gt;✅ 技术工作流走通&lt;/li&gt;
      &lt;li&gt;✅ 尝试了些算法优化思路&lt;/li&gt;
      &lt;li&gt;✅ 验证了短视频潜力（几天内积累 34.8K流量）&lt;/li&gt;
      &lt;li&gt;☑️ 待后续深入试错与尝试&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;
在尝试了一轮后，我也得出了一些经验，比如与 “投资” 一样，这个世界往往存在着两种盈利模式:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;一种是“莫名其妙”的收获，比如几年前你偶然间买了一个比特币，又或者你几天前随手发了一个视频却瞬间收获了2.3万的浏览量；&lt;/li&gt;
  &lt;li&gt;另一种是 “价值导向” 的收获，比如你在过去几年认定了科技领域的发展而坚定地定投纳斯达克100，又或者你应该通过试错去找到一种内容生产模式，让你的内容产品真正能为消费者提供价值，从而实现获利。&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/sideline/y-shorts.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/sideline/y-shorts.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;投入产出分析&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;作为研发出身，在技术方面的投入可以说是并不大的，我想在面对各种可能性时更好的态度应该还是：“坚定地进行价值投资，同时不要拒绝任何莫名其妙的机会不妨一试”。
从投入产出比而言，整个对于内容生产的探索过程我觉得就是有意义的，它让我知道了其他赛道会是什么样的，至于最终能否孵化出一个小项目，这都算是额外的收获。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;4博士学位&quot;&gt;🎓 4.博士学位&lt;/h3&gt;
&lt;p&gt;严格来说，再读一个在职博士学位很难说是一个 “副业” ，但考虑到这件事从本质上是有可能在未来为我带来机会收益的，姑且也其在内。&lt;/p&gt;

&lt;p&gt;我从2022年的9月开始重新入学了昔日的母校，就读于计算机学院，专业是电子信息。&lt;/p&gt;

&lt;p&gt;在过去几年机器学习、神经网络算法、深度学习尤其是大模型技术的突飞猛进，给行业与学界带来了广阔的探寻空间。&lt;/p&gt;

&lt;p&gt;经过了2022～2023 两个学期的课程学习，在导师的帮助下终于在 2024 明确了具体研究方向并找到了公司在研项目的学术契合点。&lt;/p&gt;

&lt;p&gt;从今年 2025 年开始，我着手构思开题报告，并期望下半年能完成开题，期待开题后的一年半左右的研究过程能顺利，并最终能通过评审获得学位。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/sideline/campus.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/sideline/campus.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;投入产出分析&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;四到五年的学习与研究，我需要投入不算便宜的费用及大量额外的精力。
但为了解决学业课题中的理论难题，我借此机会也更深入了解了相关领域的基础知识与研究方法。
同时还能借此解决一些工作中来自行业的工程问题，除了可以给自己的人生经历增加一个终极学位的机会外，客观上也确实能丰富我的知识储备与工作经验。
总的来说，这个投入是还是有望在未来带来一些 “机会收益”的。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;5技能提升&quot;&gt;🧑‍💻 5.技能提升&lt;/h3&gt;
&lt;p&gt;一方面为了上面提到的博士学位，另一方面也是希望面对这个AI爆炸的时代进行持续的个人技术升级，我也制定了相关的技能学习路径。&lt;/p&gt;

&lt;p&gt;它们主要分成两个部分：DSA（Data Structure &amp;amp; Algorithm） 与 AI （Artificial Intelligence）。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.w3schools.com/dsa/&quot;&gt;DSA&lt;/a&gt; 是传统的软件研发技术，包含了数据结构与算法以及配套的架构与行业最佳实践。&lt;/p&gt;

&lt;p&gt;AI 是前沿的计算机技术，包含了机器学习、深度学习与强化学习的理论体系与最佳实践。&lt;/p&gt;

&lt;p&gt;之所以是这样的设置，是出于我的一个认知：“身处在以AI为代表的新的研发范式刚迸发的阶段，掌握经典研发技术并拥抱前沿科技是明智的选择”。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/sideline/neural-networks.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/sideline/neural-networks.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;投入产出分析&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;我制定了学习计划，从刷题到刷视频，这势必会需要不少时间精力的投入。
但好在工作与学术上的一些条件，让我有机会接触到两套技术体系所使用的软硬件资源，并且拥有丰富的真实场景供我实践，这将让学习效率得到不少提升。
在这两方面的学习，不仅可以帮助我更好地完成工作与博士课题，同时也有希望在未来拓宽我的职业选择方向，也可以被认为是一种 “机会收益”。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;hr /&gt;

&lt;h3 id=&quot;写在最后&quot;&gt;写在最后&lt;/h3&gt;
&lt;p&gt;以上这些就是近一两年我在做的一些我在正业之余做的一些 “不务正业” 之事，在接下去很长一段时间我相信我会一直做下去。&lt;/p&gt;

&lt;p&gt;在2025年的年中，我也只是将其梳理记录于此，等后续随便着我更多精力的投入，有了任何新的进展或收获，我都会回过头来更新。&lt;/p&gt;

&lt;p&gt;一方面作为记录供自己审视之用，另一方面说不定若干年后我的孩子也能了解我曾如此积极地拥抱这个多变的世界，在她到了我的这个年纪，上面我所面对的机遇或者难题应该早已变成过时的陈词滥调，但不妨碍她抱着考古的心有兴致地一探究竟。&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/think/sideline&quot;&gt;Sideline&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on June 24, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[US Visa]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/us-visa" />
  <id>https://xumeng.me/explore/us-visa</id>
  <published>2025-06-18T00:00:00-04:00</published>
  <updated>2025-06-18T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;起因&quot;&gt;起因&lt;/h3&gt;

&lt;p&gt;考虑到未来的生活圈会在中加两地，作为邻居的美国迟早会成为我们的旅行目的地，我跟妻子也常有畅想过在美国一号公路一边听着《Hotel California》一边自驾的情景，因此打算今年尝试办理签证以便未来出行。&lt;/p&gt;

&lt;h3 id=&quot;与加签申请流程的区别&quot;&gt;与加签申请流程的区别&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;加签重视申请资料有效性&lt;/code&gt;：
在申请加拿大签证时，申请者需要自行提供所有电子版的材料，并且确保这些材料都被认证翻译（有些需要公证翻译），并将这些材料连同详尽的个人信息录入到移民局官网的冗长表单系统中。&lt;/p&gt;

&lt;p&gt;剩下的就是漫长的等待，不需要与任何签证官见面，除非通过邮件告诉你有某些材料需要你补充，一般你能做的只是等，去年我就等了51天才最终通过。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;美签重视后台背景审核&lt;/code&gt;：
申请美签时，你只需要在网站上填写一个叫 &lt;a href=&quot;https://ceac.state.gov/GenNIV/Default.aspx&quot;&gt;DS160&lt;/a&gt; 的表格，将你的个人信息填写在内，并不需要你提交任何证明文件（比如学历证明、工作证明、收入证明等等），签证官完全有能力依靠强大的数据系统对你的背景进行主动探究。&lt;/p&gt;

&lt;p&gt;在填写好 DS160 表格后，你就可以进行“面谈预约”（俗称面签），预约就近的美国领事馆与签证官见个面，回答几个他关心的问题，一般当场就能知道是否能获得签证。&lt;/p&gt;

&lt;h3 id=&quot;关于预约面签&quot;&gt;关于预约面签&lt;/h3&gt;

&lt;p&gt;在填完了自己和家人 DS160 表格后，我尝试去&lt;a href=&quot;https://www.usvisascheduling.com/en-US/&quot;&gt;预约面签&lt;/a&gt;，按惯例申请者应该就近预约面签（跨辖区面签也不是不可以，但有可能会被问为何不就近申请而造成不必要的麻烦），离我最近的应该是美国总领事馆（上海）。
但在打开预约网站时才发现梅龙镇广场最近要装修，所以官网引导申请者可以到北京、广州、武汉领事馆预约。
那么我就选了广州，查看了一下预约时间，最早1个月后就能约到，于是我就约在了5月底的一个周四。&lt;/p&gt;

&lt;p&gt;我在给妻女约面签的时候有试过尝试查了一下她们就近的美国驻卡加领事馆的预约时间，结果令人大跌眼镜：要约到2年以后！对你没看错，最早的日期是2027年的5月。原因我想应该是那边的人手紧缺、效率低下和积压严重吧。
那么只能约到她们暑假回国的7月，也约在广州即可，届时还可以当作一次家庭旅行。&lt;/p&gt;

&lt;h3 id=&quot;面签经历&quot;&gt;面签经历&lt;/h3&gt;

&lt;p&gt;第一次进行面签，在面签前我查了各种视频经验分享，也做足了准备：虽然官方要求只需要带上必要的证件、DS160表格和预约单却可，但我还是带上了包括工作证明、收入证明、学历资料等等证明材料。
（但最终的结果是所有我带的额外资料签证官一眼都没看，反而问我要了一件我正好没带的东西，并间接导致了我多了17天的等待，详见下文分解）那么我从第一视角描述一下在广州领馆面签的经历：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;我约的是 08:00 面签&lt;/li&gt;
  &lt;li&gt;07:00 我吃完早饭，啥电子产品都没带，就打了个车去到领馆（由于不让带任何电子产品进入，可以像我一样不带，或者寄存在领馆边上的小店或提供拎包服务的个人，如果你信得过的话）&lt;/li&gt;
  &lt;li&gt;07:25 到达领馆，领馆是一个由围墙环绕的大型建筑，门口写着美利坚合众国驻广州领事馆。到的时候已经排了两个折返的队伍在领馆稍贴着围墙的外面了并且不断还有人过来，大部分是华人，有一两个非裔&lt;/li&gt;
  &lt;li&gt;07:50 排了二十多分钟，大概08:00不到点开始让人进去了&lt;/li&gt;
  &lt;li&gt;进去后先是有中国的安保人员会检查你的预约单，是不是 08:00 的这一批，并用机器核对你的身份证信息，确保你是你本人&lt;/li&gt;
  &lt;li&gt;再进去就真正到了领事馆的区域了，这个时候你看到的就都是穿着电影电视时的那种美国警察制服的警察了，黑色的警服胸前戴着闪亮的警徽，但都是华裔，应该是美籍的华裔&lt;/li&gt;
  &lt;li&gt;又经过了一道预约信息和护照的核对后，他们会根据你是办理移民类和非移民类签证给你的护照上贴上对应的条码然后告诉你排哪个队伍&lt;/li&gt;
  &lt;li&gt;08:00 然后你就继续排队，下一个关口是安检，比机场还要严格连皮带都要解下来，再进去，才是正式的签证大厅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这个大厅还不小，高挑的墙壁上挂着一面巨大的美国国旗，厅里有二三十个窗口，类似银行柜台，每个窗口后面有一位签证官，会有人引导你到哪个窗口排队。&lt;/p&gt;

&lt;p&gt;这些窗口被分为三个区域：给护照、录指纹、面签，一个一个窗口排过去。&lt;/p&gt;

&lt;p&gt;签证官各个族裔的人都有，有白人，有拉丁裔，有非裔，有亚裔。面签我正好排到一位看上去像是拉丁裔的签证官，他收走了我的护照并用中文问了为啥去美国，跟谁去的，我如实回答。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/us-visa2025/embassy.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/us-visa2025/queue-out.webp&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/us-visa2025/hall.jpg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/us-visa2025/queue.jpg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;然后他问我工作是什么，我如实回答是负责研发管理工作。他又问我在职博士读的是什么专业，我如实回答是电子信息类的专业。在解释的时候他问我是否会说英文，我说是的，后面他都用英文跟我对话。
估计就是因为我 STEM 类的工作和学历背景，按要求他需要排除我的专业方向不涉及敏感内容，于是他问我是否有带自己的 CV（简历），而这是我唯一没带的东西..
那么没有办法，他打电脑上打了一通字后，给了我一张绿色的行政审查的单子，并且尽力地还是用中文说了一遍大致是“为了加快你的签证审核，请将你的简历发送到这个邮箱…” 云云。于是我只能说了声谢谢并转身离开。&lt;/p&gt;

&lt;p&gt;回到酒店后，我快速提交了补充的CV到领事馆的邮箱，剩下的就只有等待了。&lt;/p&gt;

&lt;h3 id=&quot;等待过签&quot;&gt;等待过签&lt;/h3&gt;

&lt;p&gt;在等待的过程中，我也有去了解与行政审查、签证有效期相关的背景信息，大致如下：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于有效期&lt;/strong&gt;：从2014年11月起，根据中美两国在签证互惠上的协议，美国开始向中国公民发放10年有效期、多次入境的 B1/B2 签证。但由于行政审查的原因，有听说会有一些申请者最终会收到1年甚至更短有效期的签证。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于行政审查&lt;/strong&gt;：美国签证的“行政审查”（Administrative Processing）最常见于面签后签证官未当场批准，它起源于9·11事件之后的安全政策加强（2001年后），用于对申请人背景进行进一步安全审查。一般常见的触发原因有敏感专业或技术、高风险地区、安全观察名单或者提供材料不完整或需进一步核实信息等。&lt;/p&gt;

&lt;p&gt;由于整个等待过程是非常不透明的，你无法知道自己的审查到了什么阶段，所以在等待过程中，我找到了一个网站 &lt;a href=&quot;https://www.checkee.info/&quot;&gt;Checkee.info&lt;/a&gt;世界各地的等待审核的申请者共享信息的地方，方便大家知道领事馆处理到什么时候了。通过对这个网站上面的信息观察，结合签证官对我的提问和要求我补料的内容，基本上我可以猜出来我进入审查的原因大概率就是因为STEM背景。可以理解，无它也只有等待。&lt;/p&gt;

&lt;h3 id=&quot;完成贴签&quot;&gt;完成贴签&lt;/h3&gt;

&lt;p&gt;看到网站上的申请者动辄40天以上的等待时长我也只能戒骄戒躁了。但是在大约 17 天后，我突然收到了一个快递寄出通知，打开一看发现是一个从广州寄出的 EMS 到付包裹，心想不会是护照吧。于是打开官方的状态查询网站&lt;a href=&quot;https://ceac.state.gov/CEACStatTracker/Status.aspx&quot;&gt;CEACStatTracker&lt;/a&gt; ，发现过然状态已经是 Issued。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/us-visa2025/visa-example.jpg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/us-visa2025/visa-example.jpg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;几天后包裹就到了，到付110元的昂贵包裹，里面是我已经贴完签的护照，打开一看10年多次往返的状态，不错，虽然有波折但至少结果圆满。就等着等到母女回国，一起完成她们的面签过程。&lt;/p&gt;

&lt;p&gt;再接下去就是规划未来可能的旅程了。&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/us-visa&quot;&gt;US Visa&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on June 18, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Singapore]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/singapore" />
  <id>https://xumeng.me/explore/singapore</id>
  <published>2025-03-25T00:00:00-04:00</published>
  <updated>2025-03-25T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;由于工作需求，在这个春天有机会去到新加坡参加展会。以此文记录一下所见所闻，赞叹一番这个多元文化融合的花园城市。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/flight.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/flight.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;星耀樟宜&quot;&gt;星耀樟宜&lt;/h3&gt;

&lt;p&gt;3月从杭州直飞樟宜机场的航班出奇的便宜，900多人民币就能让你在4个半小时内到达这里。今年的新年前后与家人一起从巴厘岛回杭州的时候有在机场中转，但由于时间有限当时并未细致探索，对这个东南亚交通枢纽只留下了一个”非常大非常时尚“的印象。&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/jewel-1.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/jewel-1.jpeg&quot; /&gt;
		&lt;/a&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/jewel-2.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/jewel-2.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;这一次有机会在走出机场前，路过了闻名于世的 Jewel: 星耀樟宜 这个梦幻般的综合体，有幸领略了这个最大的人造室内瀑布和自然与科技结合的神奇景象。&lt;/p&gt;

&lt;h3 id=&quot;city-walk&quot;&gt;City Walk&lt;/h3&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/buildings.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/buildings.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;在忙完了工作上的事情之后，和同事们开始了在这个城市，也是在这个国家的游荡，天气预报说有雨，结果这两天的天气却出奇的好。在这个全国面积比杭州的市区面积还要少100多平方公里的国家里，几乎每一个角度举起手机都能拍到干净、整洁、科技与自然和谐共生的风景。美丽的高校与博物馆建设在一起，植物园里又藏着另一座世界级学府。市中心有最繁华的建筑，1公里内4家LV的奢华景象，边上就是郁郁葱葱的绿树与花丛。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/merlion.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/merlion.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;作为新加坡的标志，Merlion 鱼尾狮雕像自然是不可错过，走在滨海湾花园，看着对面奢华的金沙酒店，幸福感油然而生，50元人民币一块的雪糕才把我拉回现实 XD。&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/solar-supertrees-1.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/solar-supertrees-1.jpeg&quot; /&gt;
		&lt;/a&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/solar-supertrees-2.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/solar-supertrees-2.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;夜幕降临，在超级树下，直接躺在地上欣赏了一场灯光表演，美轮美奂，散场时人流涌动，但任然尽然有序。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/singapore2025/museum-out.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/singapore2025/museum-gate.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/singapore2025/museum-in.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/singapore2025/nature.jpeg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;次日，终于还是下起雨来，我们一行人撑着伞去到了博物馆、植物园和国家兰花馆，人文、历史、艺术与自然让人不时发出惊叹。&lt;/p&gt;

&lt;h3 id=&quot;food&quot;&gt;Food&lt;/h3&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/food.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/food.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;结束了4天的行程，领略了这个面积不大但内有乾坤的城市，我们打了车，坐了地铁，坐了巴士，吃了当地最地道的南洋半熟蛋和炼乳咖啡作早餐，浮光掠影地体会了一番新加坡人的日常生活，留下了令人难忘的记忆。&lt;/p&gt;

&lt;h3 id=&quot;所见所想&quot;&gt;所见所想&lt;/h3&gt;

&lt;p&gt;在归去之前，我不禁在心中对比起加拿大和新加坡带给我的感受。相同点是它们都拥有各色人种、多元文化包容其中，用地球村来形容毫不为过，来自世界各地的人们自信从容地生活在一起，不禁让人忘却了在不远的地方炮火与无人机仍在继续，让人们对于人类未来抱有更大的信心；但它们的不同点在于，在加拿大，那是一个以西方文化为主流的多元文化状态，而在新加坡这是一个以华语文化为主流的社会，我相信这里的华人们能非常自信地面对来到这里生活的欧美人，自信地展示自己的城市在文明与和谐的程度上超过了欧美人所创造的超级城市，这是一种奇妙的体验，是华人社会的另一种可能性！&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/singapore2025/mr-coconut.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/singapore2025/mr-coconut.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/singapore&quot;&gt;Singapore&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on March 25, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Fish Tank]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/fish-tank" />
  <id>https://xumeng.me/create/fish-tank</id>
  <published>2025-03-25T00:00:00-04:00</published>
  <updated>2025-03-25T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;起因&quot;&gt;起因&lt;/h3&gt;

&lt;p&gt;每年的春天，我都会种点花花草草表达对春日的不辜负之情。今年心血来潮想说试试养点鱼，但考虑到我又没有这方面的任何经验，于是找到了这个刚上市不久的米家的 “智能鱼缸” 2代，并记录一下开缸的整个过程。&lt;/p&gt;

&lt;h3 id=&quot;鱼缸&quot;&gt;鱼缸&lt;/h3&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5874.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5874.jpeg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;鱼缸不贵300元不到，到货后是这个样子的，不同于一代（20L）的卧式形状，二代的缸是立式的，容量是10L，属于是可以摆放在书桌上的大小，拥有如下智能功能：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;过滤系统&lt;/li&gt;
  &lt;li&gt;自动灯光&lt;/li&gt;
  &lt;li&gt;自动喂食&lt;/li&gt;
  &lt;li&gt;一键排水&lt;/li&gt;
  &lt;li&gt;应急供电&lt;/li&gt;
  &lt;li&gt;过温报警&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一如米家的其他智能家居产品，你可以很方便地在App上对其进行设置，比如在一、三、五早上9:00自动投喂鱼食，并在每天18:30～22:30 打开灯光等，简直是懒人福音。&lt;/p&gt;

&lt;h3 id=&quot;造景&quot;&gt;造景&lt;/h3&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5921.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5921.jpeg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;更懒的是，我找到了网上一个专门制作一体化鱼缸造景的店，入手封面图上这个漂亮的完美适配米家鱼缸的造景，可以放到货直接放入即可，方便到离谱。因为是第一次开缸，所以选择了新手也不容易养死的阴性水草进行养殖，两周过去目前水草长势良好。&lt;/p&gt;

&lt;h3 id=&quot;鱼种&quot;&gt;鱼种&lt;/h3&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5937.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5937.jpeg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;简单研究了一下关于鱼种的选择，为了尽可能新手友好，同时又能把偷懒做到极致，我选择了如下的生物组合&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;黑尾大钩（灯鱼）x 14：中层主要鱼种&lt;/li&gt;
  &lt;li&gt;老鼠鱼 x 3: 底层清理食物残屑&lt;/li&gt;
  &lt;li&gt;黑金刚螺 x 4: 清理缸壁水藻&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5956.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5956.jpeg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;到货后，我先将生物们在新鱼缸中隔袋过水，等温度平衡后，再缓慢加入新缸的水，最终将它们放入缸中，目前大家在新环境中都适应在得挺好&lt;/p&gt;

&lt;h3 id=&quot;水质&quot;&gt;水质&lt;/h3&gt;

&lt;p&gt;我专门找了另一个大的玻璃缸，装满自来水，并买了水质稳定剂和硝化细菌提前按比例加入水中，并确保水有一周时间的放置，然后再加入到鱼缸中。设置了提醒，每周我会换1/3的水，并定期更换鱼缸滤芯，确保水质纯净。&lt;/p&gt;

&lt;h3 id=&quot;体验&quot;&gt;体验&lt;/h3&gt;

&lt;p&gt;每晚回到家，看到14条灯鱼在翠绿的造景中群游，赏心悦目，希望它们能活得久一些，一起生机勃勃，郁郁葱葱。&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
   &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5882.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5882.jpeg&quot; /&gt; 
  &lt;/a&gt;
  &lt;a href=&quot;https://img.xumeng.me/fish-tank/IMG_5956.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/fish-tank/IMG_5956.jpeg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/fish-tank&quot;&gt;Fish Tank&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on March 25, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Try Out Claude 3.7]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/try-out-claude-3.7" />
  <id>https://xumeng.me/create/try-out-claude-3.7</id>
  <published>2025-03-05T00:00:00-05:00</published>
  <updated>2025-03-05T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;2025年2月25日，Claude 发布了 &lt;a href=&quot;https://www.anthropic.com/news/claude-3-7-sonnet&quot;&gt;3.7-sonnet&lt;/a&gt; 版本，Cursor 第一时间更新了模型支持，于是我们就尝试一下这个业界在 Coding 领域最先进的AI成果。&lt;/p&gt;

&lt;h3 id=&quot;software-engineering&quot;&gt;Software Engineering&lt;/h3&gt;

&lt;p&gt;根据官方介绍，Claude 3.7 Sonnet 在 SWE-bench Verified 测试中取得了最先进的成绩，该测试用于评估 AI 模型解决现实世界软件问题的能力。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/SWE-bench.webp&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/SWE-bench.webp&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;我尝试了以下提示词，并手绘了一张概念图手稿，希望 Claude 可以结合我的要求和手稿进行生成一个我有在脑海中构思过，来原于生活的关于两个城市互动的卡片应用生成。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/prompt.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/prompt.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;服务不稳定&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这是我遇到的第一个问题，不知道是 Cursor 的问题，还是 Claude 的压力过大，过程中频繁出现连接超时的情况，去到 Cursor 的官方论坛也确实发现不少人在抱怨，希望在后续版本中能得以改善，但这也给了我一个启示，那就是在这个 AI 赋能开发的时代，服务稳定性也将是一个不得不考虑的风险。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;成果&lt;/strong&gt;&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/cursor.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/cursor.jpg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;经过几次尝试，虽然没有像有些人吹嘘的那样一次成型，但终于是得到了一个还算满意的成果，离我预期的效果还有些差距，但已经能感觉出来比3.5版本有了不少提升。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/result.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/result.jpg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;agentic&quot;&gt;Agentic&lt;/h3&gt;

&lt;p&gt;根据官方介绍，Claude 3.7 Sonnet 在 TAU-bench 测试中取得了最先进的成绩，这是一个用于测试 AI 代理在复杂的真实世界任务中与用户和工具交互能力的框架。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/TAU-bench.webp&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/TAU-bench.webp&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;为了验证Claude 3.7 的 Agent 功能，我们把上面这个静态页面变成一个可运行的动态应用，这是一个更为复杂的任务，完成它需要进好多个步骤。
我们试着只给 AI 一个目标，看它是否可以不需要在我干预的情况下完成这个复杂任务。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/agent-prompt.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/agent-prompt.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;我们把Chat的模式选择成 “Agent” 并使用了如下的提示词进行输入&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/thought.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/thought.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;看来它给出了一个清晰的思路，那么我们就听它的，让它开始执行&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/npm-install.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/npm-install.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;由于需要使用到一些 npm 包，因此它主动输出了一系列命令去在本地安装这些依赖，我要做的只是点击接受。
当其中某一步配置出错时，它还会意识到问题并尝试另一种方式去执行，直接到成功为止，我要做的还是点击接受即可。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/agent-coding.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/agent-coding.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;然后它就开始生成代码了，从左侧的目录中可以看到有大量文件被自动生成出来&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/agent-finishing.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/agent-finishing.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;在最后它为我生成了一个启动的指令，直接让服务启动了起来，这已经是一个动态的应用，但样式有些错乱（说明在执行过程中，它并未完美地保持原有静态文件的样式，可能我们应该在给它初始指令时把这一条需求给加进去）&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/agent-result.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/agent-result.jpg&quot; /&gt; 
  &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;又让它进行了一通修改后，已经好多了，不论如何它已经几乎是一个动态的应用了（后续我只要把 Mock 数据换成外部接口就行），更重要的是整个过程它是完全自己一步一步自动完成了，遇到错误也会自己重新切换思路尝试，这就是 Agent 的力量。&lt;/p&gt;

&lt;p&gt;看了一下 Token 的使用量，整个过程大概使用了几十个 Cursor 的 Premium Models Fast Request, 大家觉得划不划算呢？&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/try-out-claude-3.7&quot;&gt;Try Out Claude 3.7&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on March 05, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Vacation in Bali]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/bali-3rd-time" />
  <id>https://xumeng.me/explore/bali-3rd-time</id>
  <published>2025-01-05T00:00:00-05:00</published>
  <updated>2025-01-05T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;缘起&quot;&gt;缘起&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;/explore/helen-bali&quot;&gt;2012&lt;/a&gt; 年，蜜月旅行我们第一次来到巴厘岛，第一次体验了这个四季开满鲜花的地方，即使当时刚进入社会囊中羞涩，但依然不影响这个小岛带给了我们的非常美好的回忆。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/explore/bali-2016&quot;&gt;2016&lt;/a&gt; 年，在 PP 的邀请下，我们同学一行 10 余人再次来到了巴厘岛参加了 PP 的婚礼，也一起体验了乌布的稻田、阿贡火山、罗威纳的星空与海豚、库塔的海滩、金巴兰的海鲜烧烤，留下了另一段难忘的回忆。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/bali-2025/ubud-map-photos.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/bali-2025/ubud-map-photos.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;2024 年的年中，我把孩子与夫人送到了卡加，我们的家庭开始了一段新的人生阶段，分隔两地我们都很期待年底的圣诞假期重逢的机会。
在口罩事件之前，我们几乎每年都会规划一次远行，但随着孩子的诞生和工作生活的忙碌，再加上口罩事件的发生，我们确实也好久没有一次投入身心的旅行了，所以我早早地就计划了这趟旅行，希望能让这面半球赤道边上的小岛的温暖能消融她们经历的北美冬天的寒意。&lt;/p&gt;

&lt;h3 id=&quot;规划&quot;&gt;规划&lt;/h3&gt;

&lt;p&gt;虽然没太多长处，但不惧怕规划可能是我为数不多的特长之一，所以我在 8 月就开始规划了这趟旅行，提前买好了机票，并开始在 Booking 上预订了酒店，在 Indonesia 的移民局网站上提前办好了落地签，并开始规划了具体行程：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;周六坐高铁去到上海，住在浦东机场边的酒店&lt;/li&gt;
  &lt;li&gt;周日一早飞去巴厘岛，傍晚入住乌布的 &lt;a href=&quot;https://www.alamindahbali.com/pr/alamjiwa&quot;&gt;Alam Jiwa&lt;/a&gt; 酒店&lt;/li&gt;
  &lt;li&gt;周一在乌布旧地重游，去到我们走过的地方，再拍一张 8 年后的照片&lt;/li&gt;
  &lt;li&gt;周二乘车前往年轻人聚集的 Canggu，入住带私人泳池的 &lt;a href=&quot;https://www.komeabalivilla.com/&quot;&gt;Komea Villa&lt;/a&gt;（顺便跨年）&lt;/li&gt;
  &lt;li&gt;周三到周五去往 Canggu 的海边与中心，体验一下 Beach Club 与当地美食&lt;/li&gt;
  &lt;li&gt;周五到周日，去往 Nusa Dua，入住 &lt;a href=&quot;https://www.hyatt.com/grand-hyatt/en-US/balgh-grand-hyatt-bali&quot;&gt;Grand Hyatt&lt;/a&gt;，享受酒店的私人沙滩与泳池&lt;/li&gt;
  &lt;li&gt;周日一早飞回中国，中转新加坡，再飞回杭州（省得飞到上海还要住宿停留）&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class=&quot;&quot;&gt;
    &lt;a href=&quot;https://img.xumeng.me/bali-2025/plan.png&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/bali-2025/plan.png&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;主打一个 3个不同的区域，体验 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;稻田&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Villa&lt;/code&gt; 与 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;沙滩&lt;/code&gt; 的三种截然不同的体验，事实证明这真是一个不错的安排&lt;/p&gt;

&lt;h3 id=&quot;到达&quot;&gt;到达&lt;/h3&gt;

&lt;p&gt;女儿一回国就重新开始犯鼻炎和咳嗽，这次可以暂时离开冬天的杭州算是帮她缓解了症状。周六我们乘高铁来到上海，逛了逛古镇，吃了点小吃，便住在了浦东机场边上的酒店。&lt;/p&gt;

&lt;p&gt;周日一早，我们便早早起来前往机场，经过 6 个小时的直飞，顺利地飞到了巴厘岛。由于我提前约好了车，所以一出机场就顺利地出发，于晚上 19:00 到达了乌布的 &lt;a href=&quot;https://www.alamindahbali.com/pr/alamjiwa&quot;&gt;Alam Jiwa&lt;/a&gt; 酒店。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3643.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3640.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3626.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3620.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3617.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3612.jpeg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;办理完入住，体验了酒店服务人员的热情，喝了非常可口的由新鲜水果制作的欢迎饮料，我们便出门寻找我提前预订好的一个叫 &lt;a href=&quot;https://motherbali.com&quot;&gt;Mother&lt;/a&gt; 的餐厅，它离酒店不远，步行只要 3 分钟，在那里我们享用了到达后第一顿美食，人马上就放松了下来。&lt;/p&gt;

&lt;p&gt;Alam Jiwa 的意思是自然之魂（Soul of Nature）, 酒店位于乌布的郊区，周围是稻田与山林，酒店的装修风格是典型的巴厘岛风格，木质结构，大床，泳池，花园，身处其中，仿佛置身于自然之中。&lt;/p&gt;

&lt;h3 id=&quot;乌布-ubud&quot;&gt;乌布 Ubud&lt;/h3&gt;

&lt;p&gt;酒店提供的两顿早餐令人印象深刻，我们可以坐在面对稻田与椰子树的餐厅里，享受着巴厘岛的阳光与微风，品尝着当地的美食，人生中难得的惬意。&lt;/p&gt;

&lt;p&gt;一早起来，吃完了难忘的早餐，一下楼小朋友就体会到了我们跟她说了好多次的关于这个开满鸡蛋花到处是郁郁葱葱的植物的花园一样的小岛，穿上泳衣她终于可以开始亲自体验了。&lt;/p&gt;

&lt;p&gt;游完了泳，我们便开始了一天的行程，我们准备按计划去到我们 8 年前去过的地方，拍一张 8 年后的照片，带着孩子一起纪念我们曾经一同走过的青春。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4075.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3940.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3915.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3900.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3843.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3819.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3813.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3785.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_3769.jpeg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;我们先去到了之前捡到过大叶子的 Tjampuhan Old Bridge（铁桥已经因为年旧失修彻底变成了不让人使用的景点，好在我们又捡到了一张不小的叶子，8 年后我通过观察才知道这叶子原来是顶上榴莲树的叶子，女儿拿着把玩了半天）;
然后我们步行去了乌布中心街道上的 White Orchid，吃了一顿当地特有的餐品（我猜应该要用手抓更加地道），然后去逛了乌布市场，吃了纯天然椰子冰淇淋，又喝了冰咖啡; 傍晚我们又去到了之前去过的脏鸭子餐厅，享受了一顿丰盛的晚餐，完美的一天。&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
    &lt;a href=&quot;https://img.xumeng.me/bali-2025/revisit1.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/bali-2025/revisit1.jpeg&quot; /&gt;
		&lt;/a&gt;
    &lt;a href=&quot;https://img.xumeng.me/bali-2025/revisit2.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/bali-2025/revisit2.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;第二天一早我们又在露台的阳光稻田微风中吃了一顿丰盛的早餐，然后便开始前往年轻人聚集的 Canggu，我们准备在那里的 Villa 里跨年。&lt;/p&gt;

&lt;h3 id=&quot;苍古-canggu&quot;&gt;苍古 Canggu&lt;/h3&gt;

&lt;p&gt;入乡随俗，我用 Gojek 叫了辆车送我们到 Canggu，车开了一个半小时，大部分时间都不是花在了路途遥远上，而是花在了双向单车道的拥堵上，这就是巴厘岛，一个发展跟不上旅客需求的小岛。&lt;/p&gt;

&lt;p&gt;我曾设想过 Canggu 会是个怎样的氛围，也设想过我预订的这个叫 &lt;a href=&quot;https://www.komeabalivilla.com/&quot;&gt;Komea Villa&lt;/a&gt; 会是个怎样的体验，直到我到了那里我才发现这里的一切都超出了我的预期。&lt;/p&gt;

&lt;p&gt;这个 Villa 简直就是一个私密的花园，长满绿叶与藤蔓的围墙，私密的小泳池，舒适的浴缸，可以烹饪的餐台，带屋顶的开放式客厅，我们在这里度过了跨年之夜，享受着巴厘岛的阳光与微风，品尝着当地的美食，人生中奇妙的体验。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4636.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4635.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4361.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4381.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4311.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4338.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4270.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4281.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4212.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4234.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4148.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4165.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4168.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_2005.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/dji_fly_20250103_140706_531_1735795967500_photo.jpeg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;我们去 Villa 对面一家叫 Nourish 的餐厅吃 Brunch，走去一家叫 Popular 的超市买啤酒与水果零食，然后随时跳进泳池游泳，渴了喝瓶 Bintang，饿了吃块 Pizza，人生如此，夫复何求。(2024 年的最后一天，开着摩托前往 Beach Club 跨年的各国年轻人们的狂欢声和烟花轰鸣声吵得我睡不着觉，这就是青春的声音吧)&lt;/p&gt;

&lt;p&gt;一家人，在这个永远夏天的地方，没有烦恼只有闲适，真希望时间可以停留于此。&lt;/p&gt;

&lt;h3 id=&quot;努沙杜瓦-nusa-dua&quot;&gt;努沙杜瓦 Nusa Dua&lt;/h3&gt;

&lt;p&gt;在 Canggu 度过了美好的三个晚上，品尝了非常多精致的美食，也体验了当地人（大多是来自欧美的年轻人）的生活，有时候我甚至都觉得我来到的不是巴厘岛，而是地中海的某个小岛，可能比欧美更地道的西式餐饮，以及国际标准的服务质量，我用这里已经被欧洲人占据了来形容并不为过。&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4581.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4572.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4576.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4520.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4515.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4467.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4444.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4442.jpeg&quot; /&gt;
    &lt;img src=&quot;https://img.xumeng.me/bali-2025/IMG_4430.jpeg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;于是我们启程前往最后一站：位于 Nusa Dua 的君悦酒店。我们去过几次三亚海棠的君悦，但这次巴厘岛的君悦却给了我们不同的体验，这里拥有一样优质的沙滩与温暖清澈的印度洋海水，一样的五星级服务，但它拥有当地才有的东亚热带风情。在温暖绵长的沙滩与浅海中，我跟女儿一起享受了大半个下午的海浪，她非要把一个从海底捡到的大个的漂亮珊瑚带回酒店，最终我们还是拜托服务人员帮我们把它放回了大海，真是一段难忘的回忆。&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;atlas-journey-card&quot; href=&quot;https://atlas.xumeng.me/share/journey-mpjroeg3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; aria-label=&quot;打开 Atlas 旅程 公开旅程&quot;&gt;
    &lt;span class=&quot;atlas-journey-card__mark&quot; aria-hidden=&quot;true&quot;&gt;
        &lt;img class=&quot;atlas-journey-card__icon&quot; src=&quot;/assets/img/atlas-icon.svg&quot; alt=&quot;&quot; /&gt;
    &lt;/span&gt;
    &lt;span class=&quot;atlas-journey-card__content&quot;&gt;
        &lt;span class=&quot;atlas-journey-card__eyebrow&quot;&gt;Atlas&lt;/span&gt;
        &lt;span class=&quot;atlas-journey-card__title&quot;&gt;公开旅程&lt;/span&gt;
        &lt;span class=&quot;atlas-journey-card__meta&quot;&gt;journey-mpjroeg3&lt;/span&gt;
    &lt;/span&gt;
    &lt;span class=&quot;atlas-journey-card__action&quot; aria-hidden=&quot;true&quot;&gt;查看&lt;/span&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;感悟&quot;&gt;感悟&lt;/h3&gt;

&lt;p&gt;与 8 年前和 12 年前的巴厘岛相比，现在的它保留了那些传统和自然的部分，但同时也变得更加繁忙与商业化，这不正像是我们自己的人生发展轨迹吗？我们在内心中依然保存着当年的纯真与梦想，但同时也不得不面对更多的责任与挑战。&lt;/p&gt;

&lt;p&gt;我很感恩在这几年中我们所经历的人生际遇，感恩被抓住的机遇，感恩家人的支持与自己的努力，让我们可以以这样一种相对轻松的心态去面对未来。然而，当重启归途，我明白人生不会真地永远停留在这个美好的瞬间，面对责任与挑战，我们依然需要继续前行，一起期待下一段美好的人生阶段。&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/bali-2025/bali-food.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/bali-2025/bali-food.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;（胖了，回来得继续控制体重）&lt;/p&gt;


  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/bali-3rd-time&quot;&gt;Vacation in Bali&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on January 05, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[My 2024]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/explore/my-2024" />
  <id>https://xumeng.me/explore/my-2024</id>
  <published>2024-12-27T00:00:00-05:00</published>
  <updated>2024-12-27T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;整体观感&quot;&gt;整体观感&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;2024 又是人生中变化巨大的一年，可能算是到目前为止变化最大的一年。&lt;/li&gt;
  &lt;li&gt;家庭顺利完成了移居阶段一的环节，一切都挺顺利，感谢上天感谢自己。&lt;/li&gt;
  &lt;li&gt;我切换到了新的工作岗位，倩切换到了新的时区新的工作生活节奏。&lt;/li&gt;
  &lt;li&gt;公司发展遇到了新的挑战, 我也开始把精力切换到新的能力构建阶段。&lt;/li&gt;
  &lt;li&gt;在巨大的变化中，仍然能保持稳步发展。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/my2024/desktop.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/my2024/desktop.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;今年大事件&quot;&gt;今年大事件&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;2 月回老家过年&lt;/li&gt;
  &lt;li&gt;陪倩完成小手术&lt;/li&gt;
  &lt;li&gt;换到了新部门新岗位&lt;/li&gt;
  &lt;li&gt;提前租好卡加房&lt;/li&gt;
  &lt;li&gt;提前采购家居用品&lt;/li&gt;
  &lt;li&gt;出国前给小语过生日&lt;/li&gt;
  &lt;li&gt;鹏鹏离开公司准备未来&lt;/li&gt;
  &lt;li&gt;小语上完国内最后一天学&lt;/li&gt;
  &lt;li&gt;整理行李送家人&lt;a href=&quot;/explore/land-in-calgary&quot;&gt;长登&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;回国整理家居切换生活&lt;/li&gt;
  &lt;li&gt;小语上学倩恢复工作&lt;/li&gt;
  &lt;li&gt;倩考出驾照买了辆车&lt;/li&gt;
  &lt;li&gt;哥本哈根及控制碳水（减重15斤）&lt;/li&gt;
  &lt;li&gt;开始坚持跑步形成惯性&lt;/li&gt;
  &lt;li&gt;前往北京出差&lt;/li&gt;
  &lt;li&gt;开始尝试&lt;a href=&quot;/create/ai-plus-dev&quot;&gt;AI+Dev&lt;/a&gt;,升级知识体系&lt;/li&gt;
  &lt;li&gt;出差台州推进难啃项目&lt;/li&gt;
  &lt;li&gt;母女回国老家圣诞与巴厘岛跨年&lt;/li&gt;
  &lt;li&gt;未来工作的进展&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/my2024/diet.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/my2024/diet.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;今年的体验&quot;&gt;今年的体验&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Xreal Pro&lt;/li&gt;
  &lt;li&gt;与倩西湖边徒步•斋菜•九漱&lt;/li&gt;
  &lt;li&gt;春天种了点菜&lt;/li&gt;
  &lt;li&gt;绣湖系列游戏&lt;/li&gt;
  &lt;li&gt;去晋江出差&lt;/li&gt;
  &lt;li&gt;和老兵钓鱼看电影户外&lt;/li&gt;
  &lt;li&gt;新 PC WOW，黑神话&lt;/li&gt;
  &lt;li&gt;新 Mac mini + Mac mini M4&lt;/li&gt;
  &lt;li&gt;和同学们短途出行及桃形李&lt;/li&gt;
  &lt;li&gt;和同学们一起&lt;a href=&quot;/hiking/luniao-hiking&quot;&gt;鸬鸟山露营&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;看了 14 场电影&lt;/li&gt;
  &lt;li&gt;和家人一起巴厘岛跨年家庭旅行&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;写给未来&quot;&gt;写给未来&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;我们正处在一个变化的时代，我们的家庭也正处在转变的短暂几年之中&lt;/li&gt;
  &lt;li&gt;对于未来审慎乐观，对于窗口期要充分珍惜机遇&lt;/li&gt;
  &lt;li&gt;希望付出能有收获，希望人生顺利进入下个篇章&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
    &lt;a href=&quot;https://img.xumeng.me/my2024/antihulk.jpeg&quot;&gt;
			&lt;img src=&quot;https://img.xumeng.me/my2024/antihulk.jpeg&quot; /&gt;
		&lt;/a&gt;
&lt;/figure&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/explore/my-2024&quot;&gt;My 2024&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on December 27, 2024.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[LUNIAO HIKING]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/hiking/luniao-hiking" />
  <id>https://xumeng.me/hiking/luniao-hiking</id>
  <published>2024-11-24T00:00:00-05:00</published>
  <updated>2024-11-24T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;缘起&quot;&gt;缘起&lt;/h3&gt;

&lt;p&gt;明显感觉到一年两次的徒步活动，大家能凑到一起的机会越来越少了。五一的那一次还因为我身在地球另一边而错过了，所以这一次希望总能成行。&lt;/p&gt;

&lt;h3 id=&quot;路线&quot;&gt;路线&lt;/h3&gt;

&lt;p&gt;[2024年11月23日]&lt;/p&gt;

&lt;p&gt;杭州出发:  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;杭州市区 ~ 驱车1小时 ~ 鸬鸟山脚&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;到达营地: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;徒步半小时到达露营地&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;山顶徒步: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;去不远的山顶简单徒步，来去几个山脊，深秋风景宜人&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;[2024年11月24日]&lt;/p&gt;

&lt;p&gt;回杭: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;鸬鸟山 ~ 1小时 ~ 杭州市区&lt;/code&gt;&lt;/p&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/arrive.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/arrive.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;到达&quot;&gt;到达&lt;/h3&gt;

&lt;p&gt;从杭州出发，接上刚从宁波过来的老大哥，约1小时来到鸬鸟山下的农家乐，吃个中饭就出发去到山脚，开始攀爬，其实只有不到 1500 级的台阶，毕竟所谓亲子路线，所以本次攀登相对轻松。&lt;/p&gt;

&lt;p&gt;到了临近山顶的一个观景台，我们觉得这里相对风小，于是决定在此扎营。&lt;/p&gt;

&lt;h3 id=&quot;山顶与山脊&quot;&gt;山顶与山脊&lt;/h3&gt;

&lt;p&gt;展开帐篷后，天色还早，我们开始去往山顶，并延着山脊往前走了一段，有芦苇，有蓝天，有远处的山峦，令人心旷神怡。&lt;/p&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/top.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/top.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/ridge.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/ridge.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;夜幕降临，气温骤降，忍着寒冷开始没苦硬吃，不是，开始享受又一顿野外露天的晚餐。&lt;/p&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/cook.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/cook.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;这样的相聚总将愈来愈少，且行且珍惜。&lt;/p&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/all.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/all.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://img.xumeng.me/luniao2024/me.jpeg&quot;&gt;
		&lt;img src=&quot;https://img.xumeng.me/luniao2024/me.jpeg&quot; /&gt;
	&lt;/a&gt;
&lt;/figure&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/hiking/luniao-hiking&quot;&gt;LUNIAO HIKING&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on November 24, 2024.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[The Build of mythbytes.com]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/the-build-of-mythsbytes" />
  <id>https://xumeng.me/create/the-build-of-mythsbytes</id>
  <published>2024-11-07T00:00:00-05:00</published>
  <updated>2024-11-07T00:00:00-05:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;过去2周，尝试了&lt;a href=&quot;/create/ai-plus-dev&quot;&gt;AI 融入开发&lt;/a&gt;，也简单分享了&lt;a href=&quot;/create/the-build-of-lwh&quot;&gt;Learn With Helen&lt;/a&gt; 的尝试。&lt;/p&gt;

&lt;p&gt;为了对 NextJS 有一个更深入的了解，这次我尝试开发了 &lt;a href=&quot;https://mythbytes.com&quot;&gt;MythBytes.com&lt;/a&gt;，一个基于 NextJS 的静态网站，并使用 Netlify 来托管。&lt;/p&gt;

&lt;h3 id=&quot;第0步初衷&quot;&gt;第0步：初衷&lt;/h3&gt;

&lt;p&gt;当下看到的这个博客站，使用的是 Jekyll, 它是 Github Pages 的官方支持的静态站点生成器，使用的是 Ruby 语言。多年以来我一直使用它来发布博客，而我的发布流程一般都是先从 Gitbub 上拉取代码，在本地编写 Markdown 文章，为了更好的图片加载速度，我通常会把图片上传到阿里云的 OSS 上再把公链嵌入到文章中，然后我需要本地运行 Jekyll 测试效果，最后把文章推送到 Github 上，触发我提前配置好的与 Netlify 的自动集成,Netlify 会自动完成构建、部署, 新的内容就可以在互联网上被看见。&lt;/p&gt;

&lt;p&gt;但是这样的过程显然不太方便，因为我的目标只是“编写一篇博客”，而我却要做很多额外的工作。于是我想着要不就借此熟悉 AI+Dev 的机会，尝试打造一个符合我心中诉求的博客站：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;用户只需要负责编写与发布，不需要关心任何部署与维护的工作&lt;/li&gt;
  &lt;li&gt;我不希望使用任何第三方的服务，包括数据库、对象存储、CDN 等等&lt;/li&gt;
  &lt;li&gt;我希望充分使用 Netlify 的能力，简化建站流程（构建、部署、CDN、HTTPS、自动化）&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;第1步模式选择&quot;&gt;第1步：模式选择&lt;/h3&gt;

&lt;p&gt;在实现这个目标之前，我需要先调研一下CMS系统一般的构建模式，它们基本上会被分类为以下几类&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/cms-solutions.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/cms-solutions.jpeg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/CMS-patterns.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/CMS-patterns.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;总结起来，Keystatic 的模式似乎更接近我的需求，所以我决定使用它的思路来从0打造一个自己的博客站，并且我不打算使用Github Apps，而使用原生 Github 的 API来进行集成。&lt;/p&gt;

&lt;h3 id=&quot;第2步技术选型&quot;&gt;第2步：技术选型&lt;/h3&gt;

&lt;p&gt;考虑到这是一次个人站的练习，我需要一个足够简单、灵活、易用的技术栈，我选择了 NextJS 作为框架，也希望借此机会熟悉一下 Node.js 生态下的的全栈开发模式。&lt;/p&gt;

&lt;p&gt;同时，我还希望使用 Netlify 来托管我的站点，并使用 Netlify 的 CI/CD 能力来完成构建与部署。&lt;/p&gt;

&lt;p&gt;考虑到我希望在未来用这个站分享更多并不关于个人，而是关于由好奇心驱动的探索内容，比如神秘主义与前沿科技，所以我根据这两个主要特性让 ChatGPT 帮我筛选了合适的域名，在众多选项中我选择了 MythBytes.com, MythBytes 在英文中是神秘字节的意思，听起来很酷，也符合我的预期。&lt;/p&gt;

&lt;h3 id=&quot;第3步构建成果&quot;&gt;第3步：构建成果&lt;/h3&gt;

&lt;p&gt;经过几天的构建与打磨，我借机熟悉了 NextJS 的开发模式，也更进一步了解了 Netlify 的能力与限制，最终于 Cursor 一起完成了 MythBytes 的开发。&lt;/p&gt;

&lt;p&gt;分享代码如下：&lt;a href=&quot;https://github.com/gnemux/g-cms&quot;&gt;Github:G-CMS&lt;/a&gt;&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/post-list.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/post-list.jpg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/site-front.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/site-front.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;第4步总结&quot;&gt;第4步：总结&lt;/h3&gt;

&lt;p&gt;又一次与 AI 一起开发，我有了更多的感触，那就是它的价值不仅在于它能够完成多少工作，而在于它能帮助你快速理解一个领域，并在此基础上进行创新。这种赋能是以往任何工具都无法比拟的。
我相信它不仅加速了新产品的开发，也将改变开发者的学习方式与思维模式。&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/the-build-of-mythsbytes&quot;&gt;The Build of mythbytes.com&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on November 07, 2024.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[The Build of learn-with-helen.com]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/the-build-of-lwh" />
  <id>https://xumeng.me/create/the-build-of-lwh</id>
  <published>2024-10-30T00:00:00-04:00</published>
  <updated>2024-10-30T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;p&gt;过去2周，尝试了&lt;a href=&quot;/create/ai-plus-dev&quot;&gt;AI 融入开发&lt;/a&gt;，另在此记录一下这次尝试中开发 Learn-with-helen.com 的过程，以作纪念&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-idea.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-idea.jpg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;h3 id=&quot;第0步技术选型&quot;&gt;第0步：技术选型&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;“我需要开发一个前后端分离的 Web 应用，请推荐我使用目前比较流行的技术栈。选择合适的框架和开发模式，为我生成一个完整的工程架构，并告诉我每个目录的意图。”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这是我在一周前开始这个项目时，向 Cursor 提出的第一个需求。然后经过了无数的问答和几乎没有敲入一行完整代码的情况下，我和 Cursor 一起一步一步完成了这个项目。&lt;/p&gt;

&lt;p&gt;拥有 AI 的帮助，我一个人完成了 UI 设计、前端开发、后端开发、数据库设计、CI/CD 部署，以及域名配置、HTTPS 配置等以往可能需要一个小团队或者至少是能自诩为”全栈”的开发者才能完成的工作。这就是 AI 的力量。下面来简单流水式地记录一下整个过程。&lt;/p&gt;

&lt;p&gt;一开始，我先是有了一个想法，我的原则就是尽量使用我不是特别熟悉的技术栈，这样我可以尝试 AI 辅助开发的能力边界，同时也能借机熟悉这些技术栈：&lt;/p&gt;

&lt;p&gt;在与 Cursor 的沟通中，我们得出了以下的技术选型：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;前端使用 React (Npm)&lt;/li&gt;
  &lt;li&gt;后端使用 Spring Boot (Gradle)&lt;/li&gt;
  &lt;li&gt;数据库选择 PostgreSQL&lt;/li&gt;
  &lt;li&gt;使用 Nginx 作为反向代理&lt;/li&gt;
  &lt;li&gt;使用 Docker 作为容器，用 Docker Compose 来管理容器&lt;/li&gt;
  &lt;li&gt;把代码放在 Github 上，使用 Actions 来管理 CI/CD 流程&lt;/li&gt;
  &lt;li&gt;使用 AWS 的 EC2 服务器来部署&lt;/li&gt;
  &lt;li&gt;挂载域名，并使用 Let’s Encrypt 来开启 HTTPS 访问&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;第1步框架搭建&quot;&gt;第1步：框架搭建&lt;/h3&gt;

&lt;p&gt;完成最小可运行版本，它只需要满足几个最需要的需求：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;前端：一个可以显示登录页面的页面（使用 React, Npm）&lt;/li&gt;
  &lt;li&gt;后端：一个可以提供登录的 API（使用 Spring Boot, Gradle）&lt;/li&gt;
  &lt;li&gt;数据库：一个可以存储用户信息的数据库（使用 PostgreSQL）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这个过程中，与 Cursor 一起主要完成了以下几个工作：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;在本地安装 PostgreSQL，在 Cursor 帮助下解决了权限问题，并设计了用户信息的数据库，创建了用户表&lt;/li&gt;
  &lt;li&gt;基于 Spring Boot，结合 Cursor 提供的最佳实践，开发了登录 API（使用了 JWT 传递 token，最简单的版本）&lt;/li&gt;
  &lt;li&gt;要求 Cursor 设计了登录页面的 UI（初版非常简陋）&lt;/li&gt;
  &lt;li&gt;在 Cursor 辅助下配置 Node.js 环境，并基于 React，开发了登录页面，并实现了登录功能（基本可用）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;至此，一个最小可运行版本完成了，至少验证了整个架构是可行的。在 AI 的帮助下这个过程变得非常迅速，只需要很短的时间即可完成，充分降低了心理门槛。&lt;/p&gt;

&lt;h3 id=&quot;第2步容器化&quot;&gt;第2步：容器化&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;前端 Dockfile 配置确保正常运行&lt;/li&gt;
  &lt;li&gt;后端 Dockerfile 配置确保正常运行&lt;/li&gt;
  &lt;li&gt;使用 Docker Compose 配置并运行容器&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;期间在 Cursor 的帮助下了解了 Docker 和 Docker Compose 的一些配置相关最佳实践，能让我在短时间内获取到高密度的知识。&lt;/p&gt;

&lt;h3 id=&quot;第3步功能开发&quot;&gt;第3步：功能开发&lt;/h3&gt;

&lt;p&gt;这是最令人愉悦的一步了，因为终于可以开始创造了。我要做的只是把需求告诉 Cursor，并且吸取了之前的经验我尽可能根据开发模式给出引导性的明确的要求。&lt;/p&gt;

&lt;p&gt;同时，当我不满足于 AI 的输出时，我会尝试引导它去寻找互联网上的最佳实践，并通过 “Gaslight” 的方式让它”自信地”输出我想要的结果。&lt;/p&gt;

&lt;p&gt;在短短不到三四天的时间，我完成了以下模块的开发，并不断完善中：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;用户鉴权模块&lt;/li&gt;
  &lt;li&gt;课程管理模块&lt;/li&gt;
  &lt;li&gt;文章管理模块&lt;/li&gt;
  &lt;li&gt;课程预约模块（待开发）&lt;/li&gt;
  &lt;li&gt;用户管理模块（待开发）&lt;/li&gt;
  &lt;li&gt;数据统计模块（待开发）&lt;/li&gt;
  &lt;li&gt;AI 作业管理模块（待开发）&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;第4步cicd-配置&quot;&gt;第4步：CI/CD 配置&lt;/h3&gt;

&lt;p&gt;在这一步，我给自己设定的目标是要用 Github 托管代码，并且使用 Github Actions 来管理 CI/CD 流程。并且希望是使用容器化部署的方案完成自动集成：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;注册 Docker Hub 账号&lt;/li&gt;
  &lt;li&gt;开辟一台 AWS EC2 服务器（完成环境配置）&lt;/li&gt;
  &lt;li&gt;配置调试 Github Actions 工作流（deploy.yml）&lt;/li&gt;
  &lt;li&gt;确保当代码推送到指定分支时，Github Actions 能正常触发并完成部署&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在对容器化部署及基于 Github Actions 自动化集成不熟悉的情况下，每一步都可能会遇到各种各样奇葩的问题，但好在有 Cursor 的辅助我可以省去非常多的搜索问题解决办法以及从头学习更合理的解决方案应该是什么样的时间。&lt;/p&gt;

&lt;h3 id=&quot;第5步域名配置&quot;&gt;第5步：域名配置&lt;/h3&gt;

&lt;p&gt;这一步相对简单，但是叠加了新的部署方式，仍然会遇到不少难以找到解决办法的问题，比如 EC2 Linux 2023 服务器上如何安装 Certbot，以及 Let’s Encrypt 的证书如何挂载到镜像中的 Nginx 容器中等等。这类由多重复杂因素耦合在一起的问题，对于当下的 AI 来说，可能就很难给出解决方案了。我想这是因为它的思考深度还不够，无法理解这些复杂因素之间的相互作用。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;从 Godaddy 购买域名&lt;/li&gt;
  &lt;li&gt;配置域名解析&lt;/li&gt;
  &lt;li&gt;通过 Let’s Encrypt 获取证书&lt;/li&gt;
  &lt;li&gt;配置 Nginx 反向代理，允许 443 端口访问&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;总结&quot;&gt;总结&lt;/h3&gt;

&lt;p&gt;至此，不到一周，我就完在了整个架构的搭建，我可以直接向发布分支提交代码，新的修改便能自动完成集成、部署，并体现在网站上。过程中不仅完成了实现，还学到了非常多的知识。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-structure.jpg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-structure.jpg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;这 5 步尝试，回头看去，时间不长，步骤不多，但其实如果没有 AI 的辅助，仅靠一人完成，必定需要花费数倍的时间。多花时间不可怕，可怕的是面对如此巨大的成本，未开始就已放弃可能是大概率的事，世界上很多的事都大抵如此。&lt;/p&gt;

&lt;p&gt;感谢人工智能所科技突破，以及像 Cursor.ai、V0.dev 这样的 AI 集成工具提供商，把 AI 的力量接入日常工作流之中，并可能在未来彻底改变人们的学习与工作方式。&lt;/p&gt;

&lt;h3 id=&quot;硬广&quot;&gt;硬广&lt;/h3&gt;

&lt;p&gt;另外，顺便为夫人打个硬广，欢迎访问 &lt;a href=&quot;https://learn-with-helen.com&quot;&gt;Learn-with-helen.com&lt;/a&gt; 了解并预约课程，祝大家学有所成 ~&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://learn-with-helen.com&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-frontpage.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/the-build-of-lwh&quot;&gt;The Build of learn-with-helen.com&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on October 30, 2024.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[AI + Develop]]></title>
  <link rel="alternate" type="text/html" href="https://xumeng.me/create/ai-plus-dev" />
  <id>https://xumeng.me/create/ai-plus-dev</id>
  <published>2024-10-30T00:00:00-04:00</published>
  <updated>2024-10-30T00:00:00-04:00</updated>
  <author>
    <name>Meng Xu</name>
    <uri>https://xumeng.me/</uri>
    <email>gnemux@gmail.com</email>
  </author>
  
  
  <content type="html">&lt;h3 id=&quot;目录&quot;&gt;目录&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#1ai--开发-几种模式&quot;&gt;1. AI + 开发 几种模式&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#2-使用cursor-ai-辅助开发的效果&quot;&gt;2. 使用 Cursor AI 辅助开发的效果&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#21jekyll博客工程优化&quot;&gt;2.1 Jekyll 博客工程优化&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#22x-poster-小机器人&quot;&gt;2.2 X-Poster 小机器人&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#23ios-swift-开发&quot;&gt;2.3 iOS Swift 开发&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#24web-全栈开发-the-build-of-learn-with-helencom&quot;&gt;2.4 Web 全栈开发 (The Build of Learn-with-helen.com)&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#3-ai-融入工作流将会为未来工作模式带来的变化&quot;&gt;3. AI 融入工作流将会为未来工作模式带来的变化&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;0写在前面&quot;&gt;0.写在前面&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;过去几年，AI 的发展速度超出我们想象。在几年前人工智能这个概念在我看来还只是一个可能永远太不成的科学幻想，而如今它已经实实在在地融入到我们生活和工作的方方面面。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;从 ChatGPT 体现出来的理解能力，到 Midjourney 和 Stable Diffusion 在图像生成上的应用，再到 AutoGen 在多 Agent 协作上的进展，以及 AutoML 在自动化机器学习上的突破，都无不昭示着人工智能时代的到来。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;这不禁让作为开发者的我希望亲自尝试一下 AI 对开发过程的影响，并畅想 AI 融入工作流将会为未来工作模式带来的变化，以及 AI 最终将会引领人类社会走向何方。&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;1ai--开发-几种模式&quot;&gt;1.AI + 开发 几种模式&lt;/h3&gt;

&lt;p&gt;下面总结了几种AI 辅助工作的模式&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;生成模式（Generative Mode）&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;AI 用于生成内容，如文本、代码、图像等&lt;/li&gt;
      &lt;li&gt;适用于需要创造性输出的场景&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;分析模式（Analytical Mode）&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;AI 用于分析数据、识别模式、提供见解&lt;/li&gt;
      &lt;li&gt;常用于数据分析、预测、决策支持等领域&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;交互模式（Interactive Mode）&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;AI 通过对话或交互方式提供帮助&lt;/li&gt;
      &lt;li&gt;适用于客服、虚拟助手等场景&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;增强模式（Augmented Mode）&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;AI 用于增强人类能力，提供建议或辅助决策&lt;/li&gt;
      &lt;li&gt;适用于需要人机协作的场景&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;自动化模式（Automation Mode）&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;AI 用于自动执行任务，减少人工干预&lt;/li&gt;
      &lt;li&gt;适用于重复性高、规则明确的任务&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;对大数人来说，对 AI 的体验是从与 ChatGPT 的对话开始的。ChatGPT 的出现，让我们第一次可以与一个虚拟的 AI 进行自然语言的交流，并获得相对准确的回答。把问到的答案应用到实际工作中去，这可能是 AI 辅助工作的第一种模式，它取代了搜索引擎，成为我们获取信息和知识的工具。AI 产品提供商继而通过 AI-Agent 的方式组起支持多模态的 AI 产品，提供给了用户完成如数据分析、交互等更加综合的能力。&lt;/p&gt;

&lt;p&gt;而像 Cursor 这样基于增强模式的 AI IDE 则提供了一种新的模式，它除了提供代码补全、函数建议、代码片段生成等功能外，还支持了代码生成、代码解释、代码优化、代码重构、代码测试、代码调试、代码文档生成等功能。这种对开发流程的增强，就好比为只会回答问题的机器人装上了手脚，让它可以直接帮你完成代码的编写，这种体验是颠覆性的。&lt;/p&gt;

&lt;p&gt;因此，我尝试花了 2 周时间，在 Cursor AI 的辅助下，完成了一个 Jekyll 博客的优化，一个 iOS Swift 小应用的开发，一个 Web 全栈项目的开发。这么多开发内容在 2 周内完成，在过去是不可想象的。下面是这 2 周的一些实践和体会。&lt;/p&gt;

&lt;h2 id=&quot;2-使用-cursor-ai-辅助开发的效果&quot;&gt;2. 使用 Cursor AI 辅助开发的效果&lt;/h2&gt;

&lt;p&gt;在开始之前，我想探讨一下开发工作（或者几乎所有稍复杂的工作），影响人们工作效率的因素有哪些。&lt;/p&gt;

&lt;p&gt;以开发一个 iOS App 为例，作来一个从来没有接触过 iOS 开发的人来说，他需要了解 iOS 开发的基础知识，学习 Swift 语言，了解 iOS 开发的基本框架，熟悉 iOS 开发工具的使用，等等。这些过程可能花去他 1-2 个月的时间，而如果你没有计算机和编程基础，这个过程可能会长到离谱。绝大多数情况下，他会在没有开始开发之前就放弃了。&lt;/p&gt;

&lt;p&gt;即便他终于花了几个月的时间，完成了上述的学习，当他开始写代码的时候，他发现自己卡在了第一步，当他尝试去解决第一个问题的时候，他发现他不知道如何搜索这个问题，因为他不知道如何描述这个问题，他甚至不知道这个问题叫什么。更可怕的是当他尝试解决这个问题的时候，他发现它是由另外三个问题引起的，而这些问题中的任何一个都足以让他放弃。这些问题可能来自于 iOS 开发本身，也可能来自于与 iOS 相关的其他领域，比如后端服务器的搭建，网络安全设置，App 的发布流程，等等。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;总之，他的任何一个绝妙的 IDEA 可能难产于他试图解决这些问题的巨大门槛之前&lt;/code&gt;。这种门槛是巨大的，当然也总有办法绕过它，比如找一个有经验的导师，或者找一个有经验的团队，但是这通常需要花费巨大的成本。阻止 IDEA 实现的门槛它就是门槛，它只不过是以不同的形式存在。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;而我相信，Cursor AI 类产品出现意义，正是在于降低了这些门槛&lt;/code&gt;, 或者说它为绕过这些门槛找到了另一种20美元/月的解决方案。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/cursor.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/cursor.png&quot; /&gt;
   &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;2.1-Jekyll博客工程优化&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;工程优化&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;安装完 Cursor AI 后，我首先尝试让它帮我优化我的 Jekyll 博客工程。这是我早就想做的一件事情，但是因为对 Jekyll 或 Ruby 的了解有限，我迟迟没有动手。因为本质上我只是想要快速地发布一篇博客，而 Jekyll 的配置对我来说过于复杂，我总是担心优化过程中会遇到各种问题，而正如上面所说的，当我尝试去解决一个问题的时候会遇到更多的问题，最终我会为了优化一个小问题而陷入到学习 Ruby 和 Jekyll 的深渊中。&lt;/p&gt;

&lt;p&gt;我用 Cursor 打开了我的 Jekyll 博客工程，并告诉它我想优化我的博客工程。我担心它会因为不熟悉 Ruby 和 Jekyll 而无法完成任务，但是 Cursor 很快就完成了任务。它甚至通过对目录的分析，理解了我的博客工程的结构，不仅给出了优化建议，还帮我完成了优化，看着它在正确的文件上修改，我甚至有一种在看一个经验丰富的开发者完成工作的错觉。在优化的过程中，也出现了报错，当我习惯性地想去自己解决这些错误的时候，我意识到我完全可以把这个问题再交回给 Cursor 解决，于是我把错误信息粘贴到 Cursor 中，Cursor 很快就给出了错误的原因和解决方案，它甚至还分析了造成这个错误的原因，并跟我道了歉。&lt;/p&gt;

&lt;p&gt;这是我第一次感受到 Cursor AI 的强大，它不仅能够理解我的意图，还能够通过分析我的工程结构，帮我完成修改，甚至帮我解决错误。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/cursor-jekyll.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/cursor-jekyll.png&quot; /&gt;
   &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;2.2-X-Poster 小机器人&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;从0构建&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这是我第一次尝试使用 Cursor AI 从 0 到 1 完成一个小程序的开发。我先让它打开一个完全空白的目录，并且告诉它我想要制作一个可以自动发帖的机器人，并且跟它表达了我希望这是一个小程序，不需要复杂的架构和运行环境。&lt;/p&gt;

&lt;p&gt;于是它根据我的需要为我生成了一个基于 Python 的小程序。在帖子的生成内容方面，我希望能调用 OpenAI 的 API，使用我自己编写的 Prompt，并把返回的结果组装成一个帖子进行发布。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/x-poster-code.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/x-poster-code.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;我把这个想法告诉了 Cursor，Cursor 很快就根据我的需求生成了一个完整的 Python 小程序并告诉我该把 API Key 配置在哪里，甚至帮我生成了一个定时发送的配置，包括里面的 cron 表达式。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/x-poster.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/x-poster.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;整个过程可能只有 15 分钟，而如果我完全靠自己，可能需要几天的时间来学习 Python 和相关框架，并完成开发。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.3-iOS Swift 开发&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;最佳实践&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;如果说 Python 我还有一定了解，那么 Swift 以及整个 iOS 流程我都是完全陌生的。这一次，如果我让 Curor 打开一个空白目录，我连该问什么问题都不知道了。于是，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;我先跟 Cursor 聊了会儿&lt;/code&gt;，让它告诉我开发一个 iOS App 需要哪些步骤，然后我根据它的回答，一步步地告诉它我想要做什么，它很快地在一个空目录中搭建好了一个可以运行的 iOS App 应用，过程中还是会有一些错误，我把错误信息粘帖给它，它可以尝试解决，又有新错误，我再粘帖，再解决，直到最后，我得到了一个可以运行的 iOS App。&lt;/p&gt;

&lt;p&gt;但是，这个时候我遇到了一个新的问题，那就是当我想要对现有功能进行优化时，Cursor 有时会因为我的表述不够准确，而将代码生成成我并不想要的样子，这个时候我本能地再次向它阐述我的想法，结果几轮修改后程序已经变得离我想要的越来越远，并且最令人沮丧的是由于我并不真的理解 Swift，我根本没有能力去梳理已经变得杂乱无章的代码。于是摆在我面前的就只有两种选择，要么接受 Cursor 的修改，要么只能回到我自己从头开始学习掌握 Swift 的老路上去，因为它已对我来说已经成为了一个&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;黑箱&lt;/code&gt;，我第一次感觉到&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;无法驾驭的失控感&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;于是，我改变了策略，毕竟我是个比 AI 更聪明的人类。这次我除了告诉 Cursor 我的 IDEA 以外，我还告诉他请选择一种符合&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;最佳实践&quot;&lt;/code&gt;的开发模式，并在生成文件和代码的时候给我解释每一步的意图。这一次，它推荐了使用 VIPER 架构，并生成了一个完整的 iOS App 工程，包括了 View，Presenter，Interactor，Entity 和 Router 等文件，并且生成的代码中还包含了许多注释，解释了每一步的意图。这是一个非常清晰的架构，通过依赖注入的方式，将各个模块解耦，并且通过协议的方式，将各个模块之间的通信也做了清晰的定义。我突然感觉清晰了，现在，我可以给出&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;更明确的指示&lt;/code&gt;，比如“请在 View 中添加一个按钮，点击它可以将数据从 Interactor 中传递到 View 中”，Cursor 就会在 View 中添加一个按钮，并生成相关的代码。而不会像之前那样我只会说“我想要一个可以拥有 AI 自动生成能力的 TODO 列表应用”这么笼统的描述。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;能提供这种更为清晰的指引，同时也说明了我习得了更多相关的知识，这是一个与 AI 共同进步的正向过程&lt;/code&gt;&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/cursor-xcode-ios.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/cursor-xcode-ios.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;2.4-Web 全栈开发 （The Build of Learn-with-helen.com ）&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;驾驭复杂&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;在顺利完成了一个能够使用的 iOS App 后，我决定把从上面掌握的与 AI 协作的经验应用到一个更复杂的开发场景中：Web 全栈开发。并且为了增加难度，同时也为了自我学习，我决定使用一些我不太熟悉的但又是相对主流的框架和技术栈。&lt;/p&gt;

&lt;p&gt;总的来说，这是一个前后端分离的 Web 应用：&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;前端使用 React (Npm)&lt;/li&gt;
  &lt;li&gt;后端使用 Spring Boot (Gradle)&lt;/li&gt;
  &lt;li&gt;数据库选择 PostgreSQL&lt;/li&gt;
  &lt;li&gt;使用 Nginx 作为反向代理&lt;/li&gt;
  &lt;li&gt;使用 Docker 作为容器，用 Docker Compose 来管理容器&lt;/li&gt;
  &lt;li&gt;把代码放在 Github 上，使用 Actions 来管理 CI/CD 流程&lt;/li&gt;
  &lt;li&gt;使用 AWS 的 EC2 服务器来部署&lt;/li&gt;
  &lt;li&gt;挂载域名，并使用 Let’s Encrypt 来开启 HTTPS 访问&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在创建它的过程中，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;先通过与AI的沟通，我选定了技术路线&lt;/code&gt;，然后我先让 Cursor 按照最佳实践为我搭建了一个前后端分离的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;工程架构&lt;/code&gt;，并要求它解释每一个目录（尤其是 React 相关的）的意图。&lt;/p&gt;

&lt;p&gt;当我告诉它我的一个需求时，我要求它告诉我该怎么做，在开始生成或修改代码之前为我&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;解释每一步的意图&lt;/code&gt;，以方便我更好地理解并通过给于&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;更明确的指令&lt;/code&gt;指引它完成工作。&lt;/p&gt;

&lt;p&gt;这是个非常有意义的过程，它让我跳过了学习各种框架与技术的前置时间，而直接用一种更高效的方式在完成开发的过程中帮助我理解了各种技术。这是一种前所未有的体验，似乎让我瞥见了未来 AI 完全融入人类工作流后会有的样子。&lt;/p&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-dashboard.png&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/learn-with-helen-dashboard.png&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;最终我花了一周左右的时间，在 Cursor 的辅助下，几乎没有写过几行代码的情况下，完成了一个完全容器化管理的，支持 CI/CD 流程的可以运行的 Web 应用。&lt;/p&gt;

&lt;p&gt;没有 Cursor 的帮助，我可能需要花几个月的时间来学习各种技术，并完成开发，而更可能的情况是，我可能根本不会开始，现在我不仅在一周内完成了它，并且还掌握了很多新的技术，简直不可思议。&lt;/p&gt;

&lt;p&gt;(具体过程请参考： &lt;a href=&quot;/create/the-build-of-lwh&quot;&gt;The Build of learn-with-helen.com&lt;/a&gt;)&lt;/p&gt;

&lt;h3 id=&quot;3-ai-融入工作流将会为未来工作模式带来的变化&quot;&gt;3. AI 融入工作流将会为未来工作模式带来的变化&lt;/h3&gt;

&lt;p&gt;通过2周的实践，我总结了一下AI在开发过程中带来的变化：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;创造门槛降低
    &lt;ul&gt;
      &lt;li&gt;有效的最佳实践获取方式&lt;/li&gt;
      &lt;li&gt;不用关注细节，关注想法&lt;/li&gt;
      &lt;li&gt;全新的学习方式&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;我还想分享我在与AI协作过程中所感受到的一个非常有趣的事实：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AI + Gaslight = 无限潜力&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;在为 learn-with-helen.com 开发前端界面的过程中，我试着让 Cursor 为我设计一个“漂亮”的前端界面，但它为我生成的界面总是不能让我满意，我甚至一度怀疑 AI 在设计方面的能力可能不过如此了。&lt;/p&gt;

&lt;p&gt;我试过几种方式让它变得更好，比如我重新表述我的要求“更漂亮、更清新一些”、“标题的颜色可以更淡一些”、“整体风格可以更时尚些”，但结果总是差强人意；&lt;/p&gt;

&lt;p&gt;又比如我尝试把我比较中意的网站的链接直接粘贴给它，让它参考着生成，结果它生成的界面还是有些生搬硬套，与现有的界面非常不协调。&lt;/p&gt;

&lt;p&gt;直到某一次，我在无奈之下打算跟它抱怨几句，我说”你作为一个专业而质深的 UI 设计师，理应设计出非常有质感的高品质的界面设计”，在我不报希望的情况下，它生成的界面让我大吃一惊，生成的界面甚至超乎我的预期。&lt;/p&gt;

&lt;p&gt;于是我意识到了一个 AI 与人非常不同的特性，那就是作为不论你如何 Gaslight 我说我应该是一位“资深而专业的设计师”，我都是无法真正为你设计出好的作品来的；但“资深而专业的设计师”的知识其实是已经存在于 AI 的“大脑”中的，而它只是不知道自己拥有这些知识，你要做的只是告诉它“你能行！”它就能发挥出它更大的潜力。&lt;/p&gt;

&lt;p&gt;当我们把 AI 当作一个像人一样的助手去协作时，还需要意识到它与人的不同。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;在未来，说不定对 AI 的 Gaslight 或者叫激励会成为一个新的职业技能！&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;过去这2周的高效开发体验，我不禁思考AI与工作关系的进化可能性，我把它分成了4个阶段：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;第一阶段&lt;/strong&gt;：知识问答：我提问题，它回答&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;第二阶段&lt;/strong&gt;：辅助创造：做我助手，帮我完成工作&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;第三阶段&lt;/strong&gt;：自主创造：我提要求，它无障碍完成&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;第四阶段&lt;/strong&gt;：自我进化：我不提要求，它自己设定目标完成&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Cursor 有别于 ChatGPT 的地方在于，在程序开发这个场景下，它有了“手脚”，除了回答问题它还会操作你的文件和代码了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;figure&gt;
   &lt;a href=&quot;https://img.xumeng.me/ai-plus-dev/tesla-bot.jpeg&quot;&gt;
      &lt;img src=&quot;https://img.xumeng.me/ai-plus-dev/tesla-bot.jpeg&quot; /&gt;
  &lt;/a&gt;
&lt;/figure&gt;

&lt;blockquote&gt;
  &lt;p&gt;想象一下，如果为 AI 装上物理的“手脚”，比如 Tesla 将要发布的Optimus 机器人，当它成像 Cursor 一样操作物理世界的事物，能自己给自己设定目标比如“为自己制作一只更强大的手臂”并完成了这个任务，那么未来的世界将会发展成什么样子？&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;p&gt;&lt;a href=&quot;https://xumeng.me/create/ai-plus-dev&quot;&gt;AI + Develop&lt;/a&gt; was originally published by Meng Xu at &lt;a href=&quot;https://xumeng.me/&quot;&gt;Meng Xu&lt;/a&gt; on October 30, 2024.&lt;/p&gt;</content>
</entry>

</feed>
