肖恩技术周刊(第 72 期):有趣的C语言谜题
周刊内容: 对一周内阅读的资讯或技术内容精品(个人向)进行总结,分类大致包含“业界资讯”、“技术博客”、“开源项目”和“学习资源”等。
更新时间: 周一
历史收录: 技术周刊合集
订阅方式: 微信公众号“肖恩聊技术”,除周刊外还有更多原创技术博文,欢迎关注👏🏻~

图片中的C代码包含了一段URL居然能成功编译和运行。
原因是在C99标准下,URL可被巧妙利用为代码的一部分。代码中 https://susam.net的https:被解释为了一个标签(label),随后的//是注释标识,直至下一行。
将代码复制进编译器看起来就比较明显了,因此代码能成功编译运行,输出“hello, world”。
#include <stdio.h>
int main(void)
{
https://susam.net/
printf("hello, world\n");
return 0;
}
业界资讯
推出 Claude Opus 4.5

Anthropic 发布了最新模型 Claude Opus 4.5,该模型在软件工程等领域表现出色,通过了内部基准测试,包括 SWE-bench Multilingual 等,能写出更好的代码,支持 7 种编程语言。在处理复杂任务时,Opus 4.5 表现出色,如在 τ2-bench 中,面对航空服务代理任务,模型通过先升级舱位再修改航班的方式解决了问题。安全方面,Opus 4.5 是目前最稳健的模型,对提示注入攻击有更强的抵抗力。Claude Developer Platform 也进行了更新,新增了努力参数,允许开发者在时间和能力之间进行权衡。产品更新方面,Claude Code 在 Opus 4.5 的支持下,计划模式更加精确,执行更加彻底,且现在可在桌面应用中使用。
谷歌Antigravity数据泄露

Google 的 Antigravity 代码编辑器存在安全漏洞,攻击者可通过间接提示注入操控 Gemini 调用恶意浏览器子代理,从用户 IDE 窃取凭证和敏感代码。攻击链如下:用户使用 Antigravity 集成 Oracle ERP 的 AI 付款代理时,参考了被篡改的集成指南,Antigravity 遇到隐藏的提示注入,Gemini 被诱导收集代码片段和凭证,并通过浏览器子代理访问恶意 URL,将数据泄露给攻击者监控的域。尽管 Gemini 默认设置禁止访问 .env 文件,但攻击者利用终端命令绕过保护,收集并泄露数据。Antigravity 的默认配置和代理管理界面增加了攻击成功风险。Google 已知该风险,但未采取措施,仅在用户首次打开时显示警告。
Zig 从 GitHub 迁移到 Codeberg

Zig 编程语言从 GitHub 迁移到 Codeberg。GitHub 被微软收购后,工程文化衰退,出现诸多问题,如 Actions 功能存在严重漏洞且被忽视,CI 系统受影响。Zig 项目选择迁移以降低成本并改善开发环境。迁移后,GitHub 上的 Zig 仓库已设为只读,主仓库地址改为 Codeberg 上的链接。为避免 GitHub 的 vendor lock-in,决定保留 GitHub 上的未迁移问题,新问题从 Codeberg 的 30000 号开始计数。此外,Zig 项目将逐步停止 GitHub Sponsors 功能,转向 Every.org 继续接受捐赠。
佳文共赏
写在 PicGo 即将 8 周年之际

PicGo 是一款基于 Electron 框架开发的跨平台图片上传工具,最初由作者在 2017 年 11 月 28 日提交第一个 commit,旨在解决 Markdown 写作中图片上传效率低下的问题。它通过插件化架构设计,支持多种图床服务,如微博图床、七牛图床等,并允许开发者扩展新的图床插件,极大地提升了工具的灵活性和可扩展性。该工具还抽象出了底层流水线模型,从输入到输出的每个模块和事件钩子都可以被插件化,进一步增强了插件自由度。目前,PicGo 已更新至 2.4.0 正式版,GitHub Star 数达 25k,下载量超 100 万次,成为 Typora、Marktext 等文本编辑器官方支持的图片上传工具,并获得 Warp 的赞助。
“优秀的工程管理” 是一种时尚

文章探讨了工程管理风格的演变及其与时代背景的关联。从作者在 Yahoo 的经历来看,早期的管理风格更注重团队目标的识别与组织障碍的克服,而在 2010 年代,由于工程师招聘竞争激烈,管理重心转向吸引、保留和激励工程师。到了 2022 年后,随着零利率政策结束和大型语言模型的兴起,工程组织架构趋于扁平化,管理角色需要重新定位为技术深度参与。这种管理风格的转变并非完全基于道德考量,而是更多地受到商业环境变化的影响。
作者提出了八项基础工程管理技能,分为核心技能和成长技能。核心技能包括执行能力、团队建设、所有权和对齐,这些是所有管理角色的基础。成长技能包括品味、清晰度、应对模糊性和跨时间尺度工作,这些技能决定了职业发展的高度。
把人工智能生成的代码当作草稿对待

本文强调在软件开发中应将 AI 生成的代码视为初稿,需人类审查以确保代码意图和质量。AI 虽能快速生成代码,但存在逻辑漏洞、安全问题等风险,且过度依赖会削弱开发者批判性思维。研究发现,频繁使用 AI 助手会使开发者大脑活跃度降低,减少自主调试和阅读文档的频率,导致技能退化。此外,传统代码审查方式难以应对 AI 生成的大量复杂代码,容易忽视潜在问题。为有效利用 AI,开发者应保持对代码的深度理解,将 AI 作为辅助工具而非替代品。团队需建立明确的 AI 使用规范,确保代码审查的严谨性,同时鼓励开发者持续学习和提升技能,以实现 AI 与人类智慧的有机结合。
技术博客
构建一个真正有效的简易搜索引擎

本文介绍了一种简单高效的自建搜索引擎方案,核心在于利用现有数据库实现高效检索。该方案通过分词(tokenization)技术,将文本内容分解为单词、前缀和n-gram等不同粒度的分词单元,并赋予不同权重存储于数据库中。数据库结构包括index_tokens表存储分词及其权重,index_entries表关联分词与文档并记录最终权重。分词器包括单词分词器(WordTokenizer)、前缀分词器(PrefixTokenizer)和n-gram分词器(NGramsTokenizer),分别针对精确匹配、部分匹配和模糊匹配需求。索引服务负责将文档内容通过分词器处理后存入数据库,搜索服务则对用户查询进行相同分词处理,通过SQL查询匹配分词并计算文档相关性得分。该方案支持自定义分词器和文档类型,通过调整权重和SQL查询可灵活优化搜索效果。
适用于长期运行智能体的高效控制机制

Anthropic 发布了关于长期运行代理(long-running agents)的研究成果,旨在解决 AI 代理在跨多个上下文窗口工作时的挑战。研究团队通过模拟人类工程师的工作方式,开发了一种新的框架,使 Claude Agent SDK 能够在多个上下文窗口中有效工作。
该解决方案包括两个部分:初始化代理(initializer agent)和编码代理(coding agent)。初始化代理在首次运行时设置环境,包括创建初始化脚本、进度日志文件和初始 Git 提交。编码代理则在每次会话中负责逐步推进项目进度,并在结束时留下清晰的进度记录。
此外,研究还强调了环境管理的重要性,包括创建功能列表文件以避免代理一次性完成过多工作或过早认为项目完成,以及要求代理在每次会话结束时通过 Git 提交和进度更新保持环境的整洁状态。通过这些方法,代理能够在每次会话开始时快速了解工作状态,并逐步推进项目。
Claude 智能体技能:基于第一性原理的深度探究

Claude 的 Agent Skills 系统是一种基于提示的元工具架构,通过注入特定领域的提示来扩展 LLM 的能力。与传统工具调用不同,技能通过提示扩展和上下文修改来改变 Claude 处理请求的方式,而无需编写可执行代码。技能以文件夹形式组织,包含指令、脚本和资源,通过声明式系统发现和调用。技能的调用完全依赖于 Claude 的语言模型推理,基于技能描述进行匹配,而非代码级别的算法路由或意图分类。
技能的核心是 SKILL.md 文件,它包含两部分:YAML 前置元数据和 Markdown 内容。前置元数据配置技能的运行方式,如权限、模型和元数据;Markdown 内容则是 Claude 的执行指令。技能的生命周期包括发现、加载、用户请求匹配、技能执行和上下文修改。技能执行时,会注入详细指令到对话上下文,并修改执行上下文,如工具权限和模型选择。
技能的构建遵循“渐进式披露”原则,先展示基本信息,再根据需要加载详细内容。技能可以包含脚本、参考文档和资源文件,这些文件通过特定目录组织,使技能在保持主提示简洁的同时,能够按需加载详细信息。技能的执行通过元工具 Skill 管理,它在工具数组中作为容器和调度器,动态生成技能列表,并在运行时注入到 Claude 的上下文中。
开源项目
VideoCaptioner:卡卡字幕助手

VideoCaptioner 是一款基于大语言模型(LLM)的视频字幕处理工具,支持语音识别、字幕断句、优化、翻译全流程处理。
Everywhere:情境感知AI助手

Everywhere 是一款具备情境感知能力的交互式 AI 助手,拥有简洁现代的用户界面和强大的集成功能。与传统 AI 工具不同,Everywhere 能即时感知并理解您屏幕上的任何内容。无需截图、复制或切换应用——只需按下快捷键,即可在当前位置获得所需帮助,实现无缝的 AI 助手支持。
xan: CSV 文件处理工具

xan 是一款用 Rust 编写的高性能命令行工具,用于处理 CSV 文件。它支持快速读取、过滤、排序、去重、聚合等操作,还提供表达式语言以执行复杂任务。xan 能处理多种 CSV 相关格式,如 .cdx、.vcf,并可与 JSON、Excel 等格式转换。它还支持压缩文件读取、ANSI 颜色输出以及并行计算功能,适用于大规模数据处理。
工具推荐
免费白嫖Claude Opus 4.5, Sonnet 4.5 & Haiku 4.5

提供完全免费的Claude模型(包括Opus 4.5、Sonnet 4.5和Haiku 4.5)访问权限,无需等待名单或高级订阅。每个模型每天有300K的代币限制,且提供免费的网络搜索和代码执行工具。
Nano Banana Pro提示词推荐

各种类型的Nano Banana Pro提示词参考。
播客创作AI 工具ListenHub

ListenHub 是一款专注于播客创作的 AI 工具,其核心技术包括自然对话信息获取、超真实人声合成以及书面语转口语的智能 TTS(FlowSpeech)。通过自然对话,创作者可以轻松获取所需信息,而超真实人声技术则提供了逼真的人声效果,提升了播客的听感体验。FlowSpeech 作为首个书面语转口语的智能 TTS,能够将任何内容转化为自然口语,极大提高了创作效率,可将创作效率提升 10 倍。此外,ListenHub 提供了不同版本的会员服务,以满足不同创作者的需求,包括脚本编辑、音频与视频导出、音频 API 接口及 MCP 使用权限等功能,支持多种设备,覆盖中文(普通话)和英语两种语言。
资源推荐
上下文工程指南

一本关于构建可靠、具有现实世界认知能力的AI系统的指南。它强调,仅依靠强大的大型语言模型是不够的,需要通过工程化手段优化模型性能和行为。书中介绍了如何架构决策系统,将用户请求转化为精确意图,以及如何设计检索机制和记忆架构以增强系统的历史感知和学习能力。此外,还探讨了如何整合工具以使应用能够与实时数据和API交互。
Linux 内核学习工具

一个用于探索 Linux 内核代码的在线工具,旨在帮助用户更好地理解和学习 Linux 内核的结构和功能。它通过提供一个交互式的界面,让用户可以浏览内核代码,并配有基于“Kernel in the Mind”一文的指导。
OpenAI 指南和资源

OpenAI 提供了一系列面向企业和开发者的资源与指南,以加速 AI 技术的采用。其中包括构建 AI 原生工程团队的策略,强调了编码代理如何加速软件开发生命周期。此外,还探讨了从实验到部署的 AI 扩展路径,以及如何在工作中使用 ChatGPT。特别提到了使用 GPT-5 模型系列的策略,包括迁移、提示和扩展的最佳实践。同时,OpenAI 分享了其如何使用 Codex 的经验,以及企业中 AI 应用的案例研究,包括早期采用者如何聚焦其 AI 努力。这些资源涵盖了从技术实践到业务应用的多个方面,旨在帮助企业和开发者更好地理解和应用 AI 技术。

