<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>技术博客</title>
<link>https://gw.ch3n2k.com/tech/</link>
<atom:link href="https://gw.ch3n2k.com/tech/index.xml" rel="self" type="application/rss+xml"/>
<description>关于软件工程、AI 编程与工程团队协作的文章。</description>
<generator>quarto-1.10.18</generator>
<lastBuildDate>Sun, 20 Sep 2026 16:00:00 GMT</lastBuildDate>
<item>
  <title>从爱立信到 Codex：重新审视远程开发的效率</title>
  <link>https://gw.ch3n2k.com/tech/posts/2026-09-21-remote-development-revisited/</link>
  <description><![CDATA[ 




<p>听 Syntax #1023 之前，我已经用 Codex 远程编程一段时间了。这期播客让我想起了十几年前在爱立信的远程开发经历。</p>
<p>那时，那种方式曾被认为极其低效。如今，我自己又在使用类似的方式。这种熟悉感，让我想重新审视当年的判断。</p>
<p>远程开发的基本思路一直很直接：把开发环境和任务放在另一台机器上，连接过去操作。那台机器可以是云服务器，也可以是家里的一台 Mac mini。</p>
<p>节目里提到的好处也很实在：</p>
<ul>
<li>合上笔记本，远程任务还能继续运行。</li>
<li>后台进程移到另一台机器上，笔记本更省电、负担更轻。</li>
<li>换一台设备，仍然可以接着查看和操作同一批任务。</li>
</ul>
<p>我觉得，值得关注的变化是开发者与机器之间的工作节奏。</p>
<p>当开发过程需要人持续操作、即时反馈时，远程连接中的延迟和摩擦会不断打断思路。一次很小的等待，重复几百次，就会成为明显的效率损失。</p>
<p>使用 Codex 这类编程工具后，工作中多了一种节奏：描述任务，让它执行，再回来检查结果、调整方向。对于能够独立运行一段时间的任务，开发环境持续在线、随时可以接入，就更有价值。</p>
<p>当然，长时间构建和后台任务十几年前就存在，今天的开发也仍然需要大量即时交互。AI 并没有让过去的问题自动消失。</p>
<p><strong>同一种架构是否高效，需要放回具体的工作方式里判断。</strong></p>
<p>这次听播客，也让我开始用更完整的尺度看待自己的远程开发体验：从布置任务到检查、修正和验收结果，整个过程究竟节省了多少时间，又增加了多少维护成本？</p>
<p>十几年前的体验值得记住，今天的实践也值得重新衡量。</p>
<p>你经历过早期的远程开发吗？AI 编程工具改变了你的看法吗？</p>
<p>播客原文：<a href="https://syntax.fm/1023" class="uri">https://syntax.fm/1023</a></p>
<p>#RemoteDevelopment #Codex #DeveloperExperience</p>



 ]]></description>
  <category>软件工程</category>
  <category>AI 编程</category>
  <category>远程开发</category>
  <category>开发者体验</category>
  <guid>https://gw.ch3n2k.com/tech/posts/2026-09-21-remote-development-revisited/</guid>
  <pubDate>Sun, 20 Sep 2026 16:00:00 GMT</pubDate>
</item>
<item>
  <title>AI 代写代码之后，如何避免编程能力退化？</title>
  <link>https://gw.ch3n2k.com/tech/posts/2026-09-19-ai-coding-skills-atrophy/</link>
  <description><![CDATA[ 




<p>一位开发者向 Syntax 播客提问：项目里 80%–90% 的代码都由 AI 生成，现在连一个 HTTP 请求都很难独立写出来了，该重新补基本功吗？</p>
<p>这个问题，把 AI 编程带来的效率提升和能力焦虑放在了一起。</p>
<p>在 Syntax #1031 中，Scott Tolinski 和 Wes Bos 的讨论，有几个值得认真思考的观点。</p>
<p><strong>Scott 强调的是：技能需要持续使用。</strong></p>
<p>当我们不再亲自练习，也不再主动理解实现过程，相关能力就会逐渐生疏。他反复提到一个词：active participant——主动参与者。</p>
<p>即使代码由 AI 写，我们也需要参与推理、理解过程，并判断结果。</p>
<p><strong>Wes 则区分了两种容易混淆的“退化”。</strong></p>
<p>一种是忘记语法细节，比如 <code>reduce</code> 回调的参数顺序。</p>
<p>另一种是不再理解程序如何工作：一个请求如何流经应用，API 如何调用，各个模块怎样协作，性能问题可能出在哪里。</p>
<p>前者可以借助工具补足，后者直接影响解决问题的能力。</p>
<p>他尤其担心一种变化：AI 让“不读代码也能推进项目”变得容易，我们可能慢慢失去追问“它为什么这样工作”的习惯。接受第一版输出，也就替代了原本的研究、判断和学习。</p>
<p><strong>注意力的变化，会进一步放大这个问题。</strong></p>
<p>Scott 坦言，等待 AI 回复时，他很容易切换到其他事情，甚至同时打开了 13 个项目。任务看起来都在推进，自己却越来越难深入其中。</p>
<p>Wes 也更难找回过去的编程心流。不过，在研究问题、设计架构、选择技术，以及借助 AI 探索陌生领域时，他仍然能获得那种专注和兴奋。</p>
<p>这段讨论给我的启发是：评价自己有没有成长，需要同时看交付结果和理解程度。</p>
<p>面对 AI 生成的代码，可以给自己留三个检查点：</p>
<ul>
<li>我能解释它为什么这样工作吗？</li>
<li>它出问题时，我知道从哪里开始排查吗？</li>
<li>我能判断这个方案的取舍，以及它需要怎样验证吗？</li>
</ul>
<p><strong>代码可以交给 AI 生成，理解和判断仍然需要持续练习。</strong></p>
<p>你在使用 AI 编程时，会刻意保留哪些自己动手或独立思考的环节？</p>
<p>播客原文：https://syntax.fm/1031</p>
<p>#AI编程 #软件工程 #开发者成长</p>



 ]]></description>
  <category>软件工程</category>
  <category>AI 编程</category>
  <category>开发者成长</category>
  <category>开发者体验</category>
  <guid>https://gw.ch3n2k.com/tech/posts/2026-09-19-ai-coding-skills-atrophy/</guid>
  <pubDate>Fri, 18 Sep 2026 16:00:00 GMT</pubDate>
</item>
<item>
  <title>AI 时代的 Code Review：把意图讨论提前</title>
  <link>https://gw.ch3n2k.com/tech/posts/2026-09-18-ai-code-review-intent/</link>
  <description><![CDATA[ 




<p>代码生成得越快，关于“为什么要这样改”的讨论，就越应该提前。</p>
<p>Codex 联合创建者 Tibo Sottiaux 在 The Pragmatic Engineer 的访谈中，提出了一个值得思考的观点：Code Review 同时承担着检查正确性、交换知识和对齐意图的职责。AI 正在改变这些职责的分工。</p>
<p>据他介绍，OpenAI 已将 AI 安全检查纳入 PR 流程，发现安全问题时会阻止合并。模型还能沿着依赖关系深入检查，发现文档描述与实际实现之间的差异——这些问题往往需要人工花很长时间才能定位。</p>
<p>他认为，正确性和安全检查会越来越多地被自动化。而团队仍然需要认真讨论：</p>
<ul>
<li>我们究竟想解决什么问题？</li>
<li>这个改动是否值得做？</li>
<li>系统应该保证什么，又接受哪些取舍？</li>
</ul>
<p>这些讨论，最好在写代码之前发生。</p>
<p>过去，PR 经常成为需求和设计讨论的最后一道关口：代码已经写完，大家才开始追问目标是否合理。AI 加快实现速度后，如果团队仍然等到 Review 才对齐意图，返工也可能随之加速。</p>
<p>这给工程团队一个很具体的启发：在加强自动审查的同时，把需求、接口契约和验收标准讨论得更清楚、更早。</p>
<p>代码审查的演进，也需要协作方式一起改变。</p>
<p>#CodeReview #SoftwareEngineering #AI #EngineeringLeadership</p>
<p>来源：<a href="https://newsletter.pragmaticengineer.com/p/building-codex-with-tibo-sottiaux">The Pragmatic Engineer｜Building Codex with Tibo Sottiaux</a></p>



 ]]></description>
  <category>软件工程</category>
  <category>AI 编程</category>
  <category>Code Review</category>
  <category>团队协作</category>
  <guid>https://gw.ch3n2k.com/tech/posts/2026-09-18-ai-code-review-intent/</guid>
  <pubDate>Thu, 17 Sep 2026 16:00:00 GMT</pubDate>
</item>
<item>
  <title>AI 写代码更快了，开发者却未必更轻松</title>
  <link>https://gw.ch3n2k.com/tech/posts/2026-09-18-ai-coding-fatigue/</link>
  <description><![CDATA[ 




<p>Syntax 第 1039 期里，一位听众提到：使用 AI 后，自己和同事的代码产出都增加了，工作却越来越像连续审查 PR，让他感到疲惫。</p>
<p>这个例子提醒我，生成代码只是交付过程中的一个环节。</p>
<p>自己逐步实现功能时，也在建立对需求、数据流和边界的理解。接收 AI 生成的结果后，这些理解可能需要重新补上。</p>
<p>比如，一个导出功能很快就写好了，但数据范围是否正确、失败时如何处理、是否符合现有接口约定，仍需要有人判断和验证。</p>
<p>再加上不断回答问题、查看进度、在多个 Agent 之间切换，节省下来的实现时间，可能变成了更密集的审查和决策。</p>
<p>团队也会遇到同样的问题：如果待审改动增加的速度持续超过审查完成的速度，积压就会越来越多。</p>
<p>所以，我更关心的是：从提出需求到完成交付，团队总共投入了多少实现、理解、审查和返工的时间。</p>
<p>几个调整值得尝试：</p>
<ul>
<li>让每份改动有明确的目的和验证方式，减少一次接收大量陌生代码的负担。</li>
<li>提前约定常规事项的处理方式，把人的注意力留给重要取舍，减少反复确认。</li>
<li>按团队的审查能力控制并行任务，给已有工作留出完成的空间。</li>
</ul>
<p>对于熟悉的小改动，直接动手写也可以是高效选择。AI 参与到什么程度，可以随任务调整。</p>
<p>在你的团队里，哪些调整让 AI 编程更省力？</p>
<p>讨论来源：Syntax #1039，26:19 起 <a href="https://syntax.fm/1039" class="uri">https://syntax.fm/1039</a></p>
<p>#AICoding #SoftwareEngineering #DeveloperExperience</p>



 ]]></description>
  <category>软件工程</category>
  <category>AI 编程</category>
  <category>Code Review</category>
  <category>开发者体验</category>
  <guid>https://gw.ch3n2k.com/tech/posts/2026-09-18-ai-coding-fatigue/</guid>
  <pubDate>Thu, 17 Sep 2026 16:00:00 GMT</pubDate>
</item>
</channel>
</rss>
