VS Code 的 Github Copilot 拓展最近的更新带来了对 Claude Skills 的实验性支持,我简单尝试了一下,使用 Claude 官方的前端设计 Skill开发了一个赛博朋克风格的个人网站。 项目初始化和代码编辑全程由 AI 自动完成,我只是手工批准了一些关键步骤。
仓库地址
感言:AI生成的网页终于不是千篇一律的渐变紫背景了。
【译】迈向 2026 的我的 LLM 编码工作流
【由 ChatGPT 辅助翻译】
来源 URL:https://addyo.substack.com/p/my-llm-coding-workflow-going-into
发布时间:2025-12-18T15:30:46+00:00
AI 编码助手在今年成为了颠覆性的工具,但要真正发挥它们的威力,需要技巧与结构化的方法。 这些工具显著提升了 LLM 在真实世界编码中的能力,许多开发者(包括我自己)都积极拥抱了它们。
以 Anthropic 为例,工程师对 Claude Code 的采用程度之高,以至于 今天 Claude Code 约 90% 的代码是由 Claude Code 自己编写的。然而,将 LLM 用于编程并不是一键魔法式的体验——它“困难且不直观”,要获得优秀的结果需要学习新的模式。批判性思维依然至关重要。经过一年多的项目实践,我逐渐收敛出一种与许多资深开发者相似的工作流:把 LLM 当作一个强大的结对程序员,而不是具备自主判断力的实体——它需要清晰的指令、充分的上下文以及持续的监督。
在本文中,我将分享我在迈向 2026 时如何规划、编码并与 AI 协作,总结我个人经验以及社区集体学习中沉淀下来的技巧与最佳实践。这是一种更有纪律性的 “AI 辅助工程(AI-assisted engineering)” 方法——在积极利用 AI 的同时,依然自豪地对最终产出的软件负责。
如果你对我更多的工作流细节感兴趣,可以参考《The AI-Native Software Engineer》;若不想深入了解,我们直接进入我学到的一些经验教训。
使用pydantic-settings库创建CLI应用
最近读到一篇介绍 Pydantic 生态的文章,提到 pydantic-settings 库除了可以简化应用配置外,还可以用来创建命令行应用。在参阅了相关文档后,我完成了一个简单的示例,体验相当不错。
为什么我不看好豆包手机
在Claude Code中使用国产模型
我最近使用 Github Copilot Agent 模式的频率大幅增加,在接近月底的时候已经达到了 80%的高级请求使用额度,有必要准备一个备用的 AI 开发工具。
目前比较流行的终端 AI 开发工具非 Claude Code 莫属了(OpenAI 的 Codex 我有使用过,有点倾向于埋头几分钟进行一堆更改,可控性没有 Claude Code 高),但国内环境使用 Claude 模型比较困难,此时可以选择在 Claude Code 中使用国产模型,比如GLM 4.6和MinMax M2,只需要修改 claude code 的默认配置就好了。。
.claude/settings.json
1 | { |
Thread Free Python 性能测试
引言
Python 3.13 版本引入了 (No-GIL 模式),彻底解决了长期存在的并发性能瓶颈问题。随着Python 3.14的发布,Non-GIL 模式更加稳定。本文通过一个计算密集型任务的实际测试,对比 GIL 模式和 No-GIL 模式的性能差异,展示 Python 3.14 在多线程场景下的显著提升。
测试环境
- 操作系统: Ubuntu 24.04 (WSL 环境)
- Python 版本:
- GIL 模式: Python 3.14
- No-GIL 模式: Python 3.14t (Thread-Free)
- 执行工具:
uv(高性能 Python 包安装器和解析器) - 硬件配置: ThinkBook 14 , i5-13500H (2.60 GHz), 32GB RAM
测试方案设计
我们设计了一个计算密集型任务:计算 1 到 1,000,000 的平方和。通过以下方式验证并行性能:
任务分解:
- 将数据集划分为与 CPU 核心数相等的块
- 每个线程处理一个数据块
计算函数:
1 | def sum_of_squares(numbers: list[int]): |
- 并发框架:
- 使用
ThreadPoolExecutor实现线程池 - 每次测试运行 10 次取平均值
- 使用
测试代码实现
1 | from concurrent.futures import ThreadPoolExecutor |
推荐Context 7
Context7 是专为解决 AI 编码助手“知识滞后”痛点设计的革新工具,通过实时抓取最新、版本特定的官方网页与代码示例,直接注入 LLM 的上下文环境,彻底告别过时 API 调用与“幻觉代码”。其核心优势在于:
- 精准性:基于 MCP 协议动态解析库版本,确保生成代码与开发环境完全匹配,减少 80% 以上的调试成本;
- 高效性:仅需在提示中添加
use context7,即可自动调用最新网页,避免开发者反复切换工具验证信息; - 扩展性:支持超 6000 个主流库(如 React、Next.js、FastAPI),并兼容 Cursor、Claude、VS Code 等多平台,无缝融入现有开发流程。
对于追求代码质量与开发效率的团队及个人开发者,Context7 以免费开源的形式提供企业级网页管理能力,是 AI 编程时代不可或缺的“智能外脑”。
腾讯Code Buddy Code工具体验
Code Buddy是腾讯推出的 AI 编程助手,提供 IDE 拓展和独立 IDE。最近腾讯又推出了命令行工具Code Buddy Code,类似 Claude Code 和 Gemini CLI。我简单体验了一下,开发了一个网页版的Mermaid 编辑器,总体体验比阿里推出的 Qwen Code 要好一点(可能是因为 Code Buddy Code 的海外版默认使用的 Claude 4 模型比 Qwen3 Coder 还是要强上一线)。
【译】TypeScript转向Go:为何这是务实之选
【由DeepSeek辅助翻译】
原文链接:https://blog.logrocket.com/typescript-go-pragmatic-choice/
发布时间:2025年4月16日 14:51:38(UTC时间)
关于这次移植的技术细节已有大量报道,本文不再赘述。这里呈现的是TypeScript社区两位成员的思考:
- John Reilly是软件工程师,TypeScript早期采用者。他参与维护Definitely Typed——这个高质量类型定义库实现了TypeScript与JavaScript的集成。John撰写了Definitely Typed发展史,并出现在TypeScript纪录片中。他还开发维护了
ts-loader这个webpack的TypeScript加载器。目前他在南非Investec银行伦敦分部工作。在他看来,伦敦是地球上最伟大的城市 - Ashley Claymore是软件工程师,居住地距John不远,常与他晨间散步讨论TypeScript。他从TypeScript 1.8版本开始使用,深度参与了语言演进。曾为TypeScript贡献代码,现就职于彭博社JavaScript基础设施与工具团队。文中观点仅代表个人
本文将自由呈现我们的反应与期待。准备好迎接观点、思考和感受的碰撞吧。
移植是否必要?
难道之前不够好吗?是,但也不尽然。
近年来JavaScript/TypeScript生态中,越来越多支持JS开发的工具改用其他语言编写:esbuild(Go)、SWC(Rust)、Bun(Zig)、Deno(Rust)。这些工具都带来了显著的性能提升,而TypeScript始终用自身编写。虽然团队持续优化性能,但改进始终是渐进式的。
社区开始涌现自行实现TypeScript加速的尝试。最著名的是SWC作者DongYoon Kang,他先实现了TypeScript转译功能,又尝试构建类型检查器——最初用Rust,后改用Go,最终回归Rust。虽然项目未成功,但这些尝试印证了市场对性能的强烈需求。移植已成必然——若非官方出手,整个生态将陷入困境。而现在,我们迎来了Go版的TypeScript。
性能变革
Go移植对TypeScript意味着什么?根据Josh Goldberg的框架,TypeScript包含四个维度:
- 语言规范
- 类型检查器
- 编译器
- 语言服务
语言规范不受移植影响,语法保持不变。您仍可照常使用type和interface。类型检查规则也维持原样,原有错误提示依然有效:
const i: number = "非数字值";
// ts报错:类型'string'不能赋值给类型'number'
真正的变化始于类型检查器、编译器和语言服务——它们将获得数量级的提速。
谁不关心性能?显然没人。当工具卡顿打断工作流时,这种体验令人难以忽视。TypeScript团队始终重视性能,特别是开发工具响应速度。联合创始人Anders Hejlsberg多次强调语言服务器必须提供毫秒级反馈。
这将如何影响生态?简而言之:更快的VS Code和构建流程。
以John所在的Investec银行为例,众多使用VS Code的工程师将获得更流畅的开发体验:项目加载时语言服务启动更快、重构响应更迅捷、”红色波浪线”出现更及时。构建过程同样受益——无论是本地还是持续集成环境,TypeScript编译都将显著加速。这种提升将惠及全球所有TypeScript开发者。
Python PEP 750 解读:模板字符串开启安全灵活的字符串处理新时代
【本文由DeepSeek R1辅助编写完成】
PEP750
引言
在 Python 的字符串处理领域,f-strings 自推出以来因其简洁高效广受开发者喜爱。但 f-strings 的即时求值特性在某些场景下显得力不从心,特别是在需要预处理的场景(如安全转义、结构化日志记录)中。PEP 750 提出的**模板字符串(Template Strings)**通过引入 t 前缀和延迟处理机制,为这一难题提供了优雅的解决方案。本文将深入解析这一提案的核心思想,并通过实际案例展示其强大能力。
一、模板字符串的核心特性
1.1 语法与基本使用
模板字符串使用 t 前缀定义,语法与 f-strings 完全兼容:
1 | from string.templatelib import Template |
与 f-strings 不同,模板字符串不会直接求值为字符串,而是生成 Template 对象,包含静态字符串片段和插值表达式信息。
1.2 Template 对象结构
1 | class Template: |
1.3 Interpolation 对象
每个插值表达式对应一个 Interpolation 实例:
1 | class Interpolation: |
二、应用场景解析
2.1 安全内容生成
传统 f-strings 在生成 HTML 时容易引发 XSS 漏洞:
1 | user_input = "<script>alert('XSS')</script>" |
模板字符串解决方案:
1 | def safe_html(template: Template) -> str: |
2.2 结构化日志记录
传统日志记录丢失结构化数据:
1 | logger.info(f"User {username} logged in") # 无法提取 username 值 |
模板字符串解决方案:
1 | class StructuredMessage: |