2026-09-03
来源: github.blog
29
AI 编程工具的成本,不能只看一次回答生成了多少 token。一个看似简短的输出,如果没有解决问题,开发者还要继续追问、重新生成、运行测试、修复错误,最终消耗的 token、时间和算力可能远高于一次较长但可直接采用的回答。 GitHub Copilot 讨论的核心正是这一点:降低 AI 编程成本,不应以牺牲任务质量为代价,而应减少整个编码任务中的无效工...
2026-08-25
来源: github.blog
35
{"title_zh":"通过自动化检查之后,Alt 文本仍然可能不合格","body_zh":"# 通过自动化检查之后,Alt 文本仍然可能不合格\n\n自动化工具能发现缺少 属性、属性为空或写法不符合规则的问题,但“通过检查”只说明 HTML 结构满足了某些条件,并不代表屏幕阅读器用户获得了有用的信息。真正困难的地方在于:这张图片对当前页面任务意味...
2026-08-05
来源: github.blog
50
编码代理很容易一次生成数千行改动,但“代码能运行”不等于“改动能审查”。当数据库迁移、领域模型、API、界面和测试全部塞进一个 Pull Request,审查者很难区分基础设施变更与业务行为,也难以判断某段代码究竟依赖什么。 更实用的做法,是在任务开始前就要求代理把工作拆成一组有顺序的分支,并在 GitHub 上建立彼此依赖的 stacked pull...
2026-08-01
来源: github.blog
50
代码搜索需要处理海量文本。即使“把 ASCII 大写字母转成小写”看起来只是一个微不足道的步骤,只要它要扫描索引中的每一个字节,就会直接影响整条搜索链路的吞吐量。GitHub 的实践表明,通过无分支循环和字节空间算术,单核大小写折叠可以超过 45 GiB/s,性能开始接近内存子系统本身的上限。 最直观的 ASCII 大小写折叠通常写成这样: 这段代码语...
2026-07-30
来源: github.blog
35
Dependabot 能持续更新项目依赖,但默认策略很容易把维护者的注意力耗在一长串 Pull Request 上。某个依赖发布补丁版本,一个 PR;开发工具升级,一个 PR;几天后同一批包再次更新,又出现一轮 PR。最终,真正紧急的安全修复反而淹没在常规更新里。 更实用的策略不是关闭 Dependabot,而是把依赖更新分成两条通道:常规版本更新按组...
2026-07-18
来源: github.blog
48
生成式 AI 显著压低了编写代码的时间成本,但它没有替团队承担代码合并后的责任。测试、评审、部署、监控、安全更新、故障处理和最终下线仍然需要工程师完成。因此,评估一个需求是否“便宜”,不能只看完成首个版本需要几小时,还要计算它会在未来几年里制造多少持续工作。 过去,团队拒绝一个边缘需求,常见理由是“开发要两周”。当 AI 能快速生成接口、页面、测试框架...
2026-07-10
来源: github.blog
54
给代码审查 Agent 配上共享的 Unix 风格代码探索工具,看起来理应提升效果:它能搜索仓库、读取文件、查看差异,也能沿着调用链继续调查。但 GitHub 的实践揭示了一个反直觉结果:工具能力增强后,Copilot 代码审查一度变得更差。真正带来改善的,不是继续增加工具,而是围绕 Pull Request 中的证据重塑 Agent 工作流,从而减少...
2026-07-09
来源: github.blog
52
产品代码合并以后,文档常常慢半拍:发布说明先走,用户问题先来,文档 PR 还在排队。GitHub 博客里提到 Aspire 团队正在用 GitHub Agentic Workflows 缩短这个时间差:把已经合并的产品变更转化为文档仓库里的 pull request,再交给主题专家(SME)审阅。关键不是让 AI 直接发布文档,而是把“发现变更、起草文...
2026-05-15
来源: github.blog
65
打开 GitHub Issues 列表,点进一条 Issue,再切回列表——每次导航都要等白屏、等网络、等渲染。用户感知到的不是"毫秒级延迟",而是"又卡了"。GitHub Issues 团队最近把这套体验彻底翻新,核心武器只有三样:客户端缓存、智能预取、Service Worker。本文拆解他们的思路,并给出可直接落地的代码示例。 传统 SPA 的路...