文章

规格驱动开发:利用 Markdown 作为 AI 构建应用的编程语言
The GitHub Blog
09-30
1492 字 (约 6 分钟)
AI 评分: 93
⭐⭐⭐⭐⭐

本文提出了一种名为“规格驱动开发”的新方法,用于使用 AI 编码代理(如 GitHub Copilot)构建应用程序。它旨在解决 AI 代理在迭代编码时常遇到的上下文丢失或重复指令问题。核心思想是使用 Markdown 文件 (`main.md`) 作为唯一的真实来源,定义应用程序的目的、设计决策,甚至是详细的逻辑(变量、循环、数据库模式)。AI 通过读取此 Markdown 规范、用户友好的 `README.md` 以及 AI 代理提示 (`compile.prompt.md`),将规范“编译”为实际的可执行代码(例如,Go 代码)。作者通过“GitHub Brain MCP Server”项目演示了此工作流程,并强调了如何将 `README.md` 文档嵌入到 `main.md` 中以保持同步。该工作流程还包括使用 AI 对 Markdown 规范进行“代码规范化”。几个月后的观察表明,该方法效果良好,并且随着代理更新而不断改进。但也存在一些挑战,例如大型代码库的编译速度变慢以及测试集成问题。总的来说,这种方法提供了一种增强与 AI 编码代理交互的有效途径,从而提高开发效率和一致性。

软件编程英文AI 编码代理规格驱动开发生成式AI开发工作流Markdown
CodeQL 调试查询指南(五):从入门到精通
The GitHub Blog
09-29
4025 字 (约 17 分钟)
AI 评分: 91
⭐⭐⭐⭐⭐

这篇文章是“CodeQL 从入门到精通”系列的第五部分,旨在解决调试 CodeQL 查询的常见挑战。CodeQL 采用类似 Prolog 的评估模型,不同于主流语言,无法直接单步调试。文章通过 Gradio 应用程序中不安全的反序列化漏洞的真实示例,演示了系统的调试过程。涵盖的关键技术包括:创建最小代码示例、简化查询以进行快速评估、利用抽象语法树 (AST) 查看器理解代码元素类型以正确构建查询、使用 `getAQlClass` 谓词识别代码元素的精确 QL 类型,以及使用部分路径图可视化污点流停止的位置,从而揭示数据流传播中的差距。文章重点介绍如何编写自定义 `isAdditionalFlowStep` 谓词,以引导污点通过属性读取(如 `gr.File` 对象的 `name` 属性)和函数调用(如 `open()`)传播。默认数据流分析通常会忽略这些传播路径。文章总结了编写更易维护、更具体污点步骤的方法,以提高漏洞检测的准确性和有效性。

软件编程英文CodeQL调试静态分析漏洞研究数据流分析
GitHub 如何保护开发者免受不当版权执法的干预
The GitHub Blog
09-26
964 字 (约 4 分钟)
AI 评分: 86
⭐⭐⭐⭐

这篇来自 GitHub 博客的文章概述了他们在处理版权执法方面的开发者优先理念。文章背景是美国最高法院审理的 *Cox Communications v. Sony Music Entertainment* 案件。GitHub 反对严格的“三次警告”政策,因为这可能会不公平地影响开源开发者,并强调 DMCA 第 512 条安全港在保护平台免受用户生成内容责任方面发挥的关键作用。从而促进创新和协作。他们与其他科技巨头一起,倡导一种法律标准,要求平台承担责任需存在“有意识的、应受谴责的行为”,而不仅仅是知晓或不作为。他们警告说,更严格的解释可能会迫使平台基于有缺陷的通知过度删除内容,从而扼杀整个软件生态系统中的创新和协作。文章还宣布了 GitHub 透明度中心的更新,提供关于政府删除的更清晰的报告,并概述了对其可接受使用政策的拟议修订。这些修订包括关于儿童性虐待材料(CSAM)、恐怖主义和暴力极端主义内容(TVEC)、非自愿的亲密图像以及合成媒体和 AI 工具的新政策,其中包括重组几个现有条款并提供更多指导。总而言之,这篇文章强调了 GitHub 对开发者保护、透明度提升以及政策调整的承诺,旨在应对数字生态系统中复杂的法律和道德挑战。

软件编程英文平台政策版权执法DMCA安全港开源
GitHub Copilot 五小时实现可访问性合规自动化
The GitHub Blog
昨天
1092 字 (约 5 分钟)
AI 评分: 86
⭐⭐⭐⭐

本文详细介绍了 GitHub 如何利用 GitHub Copilot 自动化其内部可访问性合规工作流程,在短短五个小时内从缓慢的手动流程转变为可扩展、可审计的系统。 之前,当可访问性等级未达标时,会触发繁琐的手动补救流程,包括问题创建、受让人猜测和单独的状态跟踪,从而导致反应时间缓慢和后续行动不一致。 通过使用 Copilot,GitHub 开发了一个自动化工作流程,该工作流程可以自动创建/更新 GitHub Issues,与 CRM 交叉引用,同步受让人,并在合规后自动关闭问题。 关键的创新在于 Copilot 能够实现快速原型设计和迭代; 领域专家就能用通俗易懂的语言定义规则,并借助 AI 生成代码,从而与传统方法相比大大缩短了开发时间。 这种迭代过程涉及小型合成装置和防护措施,无需正式的项目计划即可生成可用于生产的代码。 其影响包括及时的问题修复、集中的所有权和状态管理、减少重复沟通,以及将治理工作转移到更高价值的分析。 Copilot 还使领域专家能够构建解决方案,从而使工程师可以专注于路线图工作,并降低了未来开发合规工具的难度。

软件编程英文可访问性合规自动化GitHub CopilotAI辅助开发软件工程
没有更多文章了