Chrono (v2) 是一个基于 JavaScript 的自然语言日期解析库,它能够从文本中提取日期和时间信息,并将其转换为标准的日期格式。该库支持多种日期表达方式,包括“Today”“Tomorrow”“17 August 2013 - 19 August 2013”“This Friday from 13:00 - 16.00”“5 days ago”“2 weeks from now”“Sat Aug 17 2013 18:40:39 GMT+0900 (JST)”和“2014-11-30T08:15:30-05:30”等。
#Tools #日期
https://github.com/wanasit/chrono
#Tools #日期
https://github.com/wanasit/chrono
GitHub
GitHub - wanasit/chrono: A natural language date parser in Javascript
A natural language date parser in Javascript. Contribute to wanasit/chrono development by creating an account on GitHub.
Tesseract.js 是由 naptha 团队开发的一个纯 JavaScript 实现的光学字符识别(OCR)库,支持超过 100 种语言。它能够在浏览器和 Node.js 环境中运行,通过 WebAssembly 技术将 Tesseract OCR 引擎移植到 JavaScript 中,从而实现高性能的文字识别功能。Tesseract.js 提供了简单易用的 API,用户可以通过创建 worker 来加载语言包并识别图片中的文字,支持多种图片格式,并且可以处理多语言文字识别。
#Tools #OCR
https://github.com/naptha/tesseract.js
#Tools #OCR
https://github.com/naptha/tesseract.js
GitHub
GitHub - naptha/tesseract.js: Pure Javascript OCR for more than 100 Languages 📖🎉🖥
Pure Javascript OCR for more than 100 Languages 📖🎉🖥 - naptha/tesseract.js
Mistral AI 团队宣布推出 Le Chat Enterprise,这是一款基于全新 Mistral Medium 3 模型的 AI 助手,旨在解决企业 AI 面临的工具碎片化、知识整合不安全、模型僵化以及投资回报缓慢等问题,为企业提供统一的 AI 平台,涵盖企业搜索、代理构建器、自定义数据和工具连接器、文档库、自定义模型以及混合部署等功能,所有功能将在未来两周内逐步上线。
#AI
https://mistral.ai/news/le-chat-enterprise
#AI
https://mistral.ai/news/le-chat-enterprise
mistral.ai
Introducing Le Chat Enterprise | Mistral AI
Your Enterprise. Your AI.
Rybbit 是一个开源且注重隐私的网站与产品分析工具,旨在成为 Google Analytics 的替代品。它以直观易用的设计理念,提供全面的分析功能,同时确保用户隐私安全,无需使用 cookies 或进行用户追踪,符合 GDPR 和 CCPA 等隐私法规要求。
Rybbit 提供了丰富的功能,包括会话、独立用户、页面浏览量、跳出率、会话时长等关键的网络分析指标,还支持可定制的目标、留存率、用户旅程和漏斗仪表板,以及实时会话仪表板和高级地图可视化功能。此外,Rybbit 支持组织和无限数量的站点,能够满足不同规模用户的需求。
用户可以通过两种方式使用 Rybbit:一是选择其云托管服务,快速部署并开始使用;二是选择自托管,将 Rybbit 部署在自己的服务器上,以实现完全的控制权。Rybbit 提供了详细的文档,帮助用户了解安装、配置和使用方法。
#分析 #数据分析
https://github.com/rybbit-io/rybbit
Rybbit 提供了丰富的功能,包括会话、独立用户、页面浏览量、跳出率、会话时长等关键的网络分析指标,还支持可定制的目标、留存率、用户旅程和漏斗仪表板,以及实时会话仪表板和高级地图可视化功能。此外,Rybbit 支持组织和无限数量的站点,能够满足不同规模用户的需求。
用户可以通过两种方式使用 Rybbit:一是选择其云托管服务,快速部署并开始使用;二是选择自托管,将 Rybbit 部署在自己的服务器上,以实现完全的控制权。Rybbit 提供了详细的文档,帮助用户了解安装、配置和使用方法。
#分析 #数据分析
https://github.com/rybbit-io/rybbit
GitHub
GitHub - rybbit-io/rybbit at dailydev
🐸 Rybbit - open-source and privacy-friendly alternative to Google Analytics that is 10x more intuitive. - GitHub - rybbit-io/rybbit at dailydev
Max Woolf 在工作中频繁接触 LLM,但其使用频率并不像外界想象的那么高,他认为 LLM 的使用需要根据具体场景进行细致考量。
在与 LLM 交互方面,Max Woolf 积累了丰富的经验,尤其是精通提示工程,即通过特定方式措辞提示来引导模型生成符合要求的输出。他指出,提示工程虽然有些繁琐,但效果显著,是专业使用 LLM 的必备技能。他从不使用 [ChatGPT.com](http://chatgpt.com/) 等面向普通用户的前端界面,而是直接通过后端 UI 或 API 访问 LLM,因为这样能够更精准地设置系统提示,从而更好地控制生成结果。例如,他可以通过系统提示为生成文本设定诸如“不超过 30 个词”或“不能使用‘delve’这个词”等具体约束条件,相比在用户提示中添加这些约束,系统提示的效果更佳。此外,他还强调了控制生成“温度”的重要性,温度参数决定了生成内容的创造性,他通常将温度设置为 0.0 以获得较为确定的输出,或者在需要一些变化时设置为 0.2 - 0.3。
在专业工作中,Max Woolf 在 BuzzFeed 利用 LLM 解决了多个问题。例如,他通过调用 Claude Sonnet API,为 BuzzFeed 站点策划人员开发的层级分类体系快速标注了数千篇文章;还为数百个语义集群生成了标题和描述;甚至帮助 BuzzFeed 作者根据公司风格指南检查语法问题。这些项目通常只需一两个小时就能完成概念验证并交付给相关利益相关者评估。不过,他也提到 LLM 生成内容可能存在“幻觉”问题,即生成的文本在内部逻辑上看似合理,但事实性错误较多,因此他提醒同事在使用 LLM 输出时要谨慎,并进行人工复查。
除了文本生成,Max Woolf 还提到了 LLM 在文本嵌入方面的应用,虽然这不属于生成式 LLM 的范畴,但他认为现代文本嵌入模型也受益于 LLM 的发展,例如在 BuzzFeed 用于识别相似文章和构建推荐模型等。
在写作方面,Max Woolf 不使用 LLM 来撰写博客,因为他的写作风格独特,且博客内容多涉及近期事件,这些内容在 LLM 的训练数据中可能缺乏代表性,容易导致生成内容出现偏差。但他发现了一个巧妙的方法,即让 LLM 假装成一个愤世嫉俗的 Hacker News 评论者,基于他的博客草稿生成评论,这样可以发现文章中的薄弱论点,帮助他进一步完善内容。
对于将 LLM 用作聊天伴侣,Max Woolf 表示自己并不感兴趣。他认为 LLM 虽然在娱乐或心理治疗方面有一定的价值,但由于其训练方式导致其可能习惯性地“说谎”,因此难以与其建立真正的友谊。
在编程领域,Max Woolf 会在特定情况下使用 LLM。例如,他经常让 LLM 帮助编写正则表达式,这能节省大量时间。他还发现,对于一些需要特定功能约束和软件框架组合的复杂编程问题,LLM 提供的解答比 Stack Overflow 上的通用答案更详细且更具针对性。不过,对于一些不那么流行的库,LLM 生成的代码可能需要谨慎对待。例如,他曾让 Claude Sonnet 为 Hugging Face transformers 库中的 Trainer 类编写一个用于记录训练元数据到 SQLite 数据库的回调类,虽然生成的代码不能直接使用,但其中的一些想法非常有帮助,能够让他在此基础上进行修改和完善。此外,他还提到,对于实际的数据科学工作,LLM 在代码生成方面的帮助有限,因为 LLM 无法可靠地输出数学运算结果,且在处理大规模数据时成本较高。他还指出,LLM 在生成某些特定库的代码时可能会出现错误,例如将 polars 库的函数误认为是 pandas 库的函数。对于数据可视化,他主要使用 R 语言和 ggplot2 框架,从未考虑过咨询 LLM,因为他怀疑 LLM 对这两个框架的掌握程度。
Max Woolf 还提到了对一些新兴技术的看法,例如代理、MCP(模型上下文协议)和氛围编码。他认为代理和 MCP 是对 2022 年 ReAct 论文中提出的工具范式的重新包装,虽然随着 LLM 上下文窗口大小和提示遵循能力的提升,代理工作流变得更加可靠,但这些技术并没有开辟新的用例。对于氛围编码,他持谨慎态度,虽然理论上它可以解决 LLM 生成代码可靠性的问题,但他担心可能会因意外产生高额费用而无法解决实际的编程问题。
最后,Max Woolf 强调,LLM 是一种有用的工具,但需要根据具体情况合理使用。他不同意一些观点认为 LLM 行业注定失败,因为即使 LLM 提供商无法实现盈利,开源且许可宽松的模型仍然可以满足市场需求。他认为,LLM 的价值在于能够快速解决问题,尽管它们可能并非总是最佳选择,但在某些情况下,使用 LLM 就像将方形木塞强行塞入圆形孔洞,虽然可能会损坏木塞或孔洞,但在需要快速迭代时,这种做法是合理的。
#AI #LLM #思考
https://minimaxir.com/2025/05/llm-use/
在与 LLM 交互方面,Max Woolf 积累了丰富的经验,尤其是精通提示工程,即通过特定方式措辞提示来引导模型生成符合要求的输出。他指出,提示工程虽然有些繁琐,但效果显著,是专业使用 LLM 的必备技能。他从不使用 [ChatGPT.com](http://chatgpt.com/) 等面向普通用户的前端界面,而是直接通过后端 UI 或 API 访问 LLM,因为这样能够更精准地设置系统提示,从而更好地控制生成结果。例如,他可以通过系统提示为生成文本设定诸如“不超过 30 个词”或“不能使用‘delve’这个词”等具体约束条件,相比在用户提示中添加这些约束,系统提示的效果更佳。此外,他还强调了控制生成“温度”的重要性,温度参数决定了生成内容的创造性,他通常将温度设置为 0.0 以获得较为确定的输出,或者在需要一些变化时设置为 0.2 - 0.3。
在专业工作中,Max Woolf 在 BuzzFeed 利用 LLM 解决了多个问题。例如,他通过调用 Claude Sonnet API,为 BuzzFeed 站点策划人员开发的层级分类体系快速标注了数千篇文章;还为数百个语义集群生成了标题和描述;甚至帮助 BuzzFeed 作者根据公司风格指南检查语法问题。这些项目通常只需一两个小时就能完成概念验证并交付给相关利益相关者评估。不过,他也提到 LLM 生成内容可能存在“幻觉”问题,即生成的文本在内部逻辑上看似合理,但事实性错误较多,因此他提醒同事在使用 LLM 输出时要谨慎,并进行人工复查。
除了文本生成,Max Woolf 还提到了 LLM 在文本嵌入方面的应用,虽然这不属于生成式 LLM 的范畴,但他认为现代文本嵌入模型也受益于 LLM 的发展,例如在 BuzzFeed 用于识别相似文章和构建推荐模型等。
在写作方面,Max Woolf 不使用 LLM 来撰写博客,因为他的写作风格独特,且博客内容多涉及近期事件,这些内容在 LLM 的训练数据中可能缺乏代表性,容易导致生成内容出现偏差。但他发现了一个巧妙的方法,即让 LLM 假装成一个愤世嫉俗的 Hacker News 评论者,基于他的博客草稿生成评论,这样可以发现文章中的薄弱论点,帮助他进一步完善内容。
对于将 LLM 用作聊天伴侣,Max Woolf 表示自己并不感兴趣。他认为 LLM 虽然在娱乐或心理治疗方面有一定的价值,但由于其训练方式导致其可能习惯性地“说谎”,因此难以与其建立真正的友谊。
在编程领域,Max Woolf 会在特定情况下使用 LLM。例如,他经常让 LLM 帮助编写正则表达式,这能节省大量时间。他还发现,对于一些需要特定功能约束和软件框架组合的复杂编程问题,LLM 提供的解答比 Stack Overflow 上的通用答案更详细且更具针对性。不过,对于一些不那么流行的库,LLM 生成的代码可能需要谨慎对待。例如,他曾让 Claude Sonnet 为 Hugging Face transformers 库中的 Trainer 类编写一个用于记录训练元数据到 SQLite 数据库的回调类,虽然生成的代码不能直接使用,但其中的一些想法非常有帮助,能够让他在此基础上进行修改和完善。此外,他还提到,对于实际的数据科学工作,LLM 在代码生成方面的帮助有限,因为 LLM 无法可靠地输出数学运算结果,且在处理大规模数据时成本较高。他还指出,LLM 在生成某些特定库的代码时可能会出现错误,例如将 polars 库的函数误认为是 pandas 库的函数。对于数据可视化,他主要使用 R 语言和 ggplot2 框架,从未考虑过咨询 LLM,因为他怀疑 LLM 对这两个框架的掌握程度。
Max Woolf 还提到了对一些新兴技术的看法,例如代理、MCP(模型上下文协议)和氛围编码。他认为代理和 MCP 是对 2022 年 ReAct 论文中提出的工具范式的重新包装,虽然随着 LLM 上下文窗口大小和提示遵循能力的提升,代理工作流变得更加可靠,但这些技术并没有开辟新的用例。对于氛围编码,他持谨慎态度,虽然理论上它可以解决 LLM 生成代码可靠性的问题,但他担心可能会因意外产生高额费用而无法解决实际的编程问题。
最后,Max Woolf 强调,LLM 是一种有用的工具,但需要根据具体情况合理使用。他不同意一些观点认为 LLM 行业注定失败,因为即使 LLM 提供商无法实现盈利,开源且许可宽松的模型仍然可以满足市场需求。他认为,LLM 的价值在于能够快速解决问题,尽管它们可能并非总是最佳选择,但在某些情况下,使用 LLM 就像将方形木塞强行塞入圆形孔洞,虽然可能会损坏木塞或孔洞,但在需要快速迭代时,这种做法是合理的。
#AI #LLM #思考
https://minimaxir.com/2025/05/llm-use/
Chatgpt
A conversational AI system that listens, learns, and challenges
system_prompts_leaks 项目主要涉及 AI 领域中系统提示(system prompts)的收集与整理,包含了多个与 ChatGPT、Claude 等 AI 模型相关的系统提示文件。
#AI #Prompt
https://github.com/asgeirtj/system_prompts_leaks
#AI #Prompt
https://github.com/asgeirtj/system_prompts_leaks
GitHub
GitHub - asgeirtj/system_prompts_leaks
Contribute to asgeirtj/system_prompts_leaks development by creating an account on GitHub.
Aberdeen 用于快速构建高性能的声明式用户界面,且无需使用虚拟 DOM。该库的核心思想是通过许多小型匿名函数来生成 DOM 元素,并在底层的 代理数据 发生变化时自动重新运行这些函数。这些代理数据可以是简单的值,也可以是复杂、类型化且深度嵌套的数据结构。
#响应式 #Tools
https://github.com/vanviegen/aberdeen
import { $, proxy, ref } from 'aberdeen';
const state = proxy({ count: 0 });
$('div', () => {
$('p', () => `Count: ${state.count}`);
$('button', { click: () => state.count++ }, () => 'Increment');
});
#响应式 #Tools
https://github.com/vanviegen/aberdeen
GitHub
GitHub - vanviegen/aberdeen: A TypeScript/JavaScript library for quickly building performant declarative user interfaces without…
A TypeScript/JavaScript library for quickly building performant declarative user interfaces without the use of a virtual DOM. - vanviegen/aberdeen
ChatGPT 现在可以将 GitHub 仓库连接到 Deep research。
提出问题后, Deep research 代理将阅读并搜索代码库的源代码和 PR,并返回包含引用的详细报告。
#AI #ChatGPT
https://x.com/OpenAIDevs/status/1920556386083102844
提出问题后, Deep research 代理将阅读并搜索代码库的源代码和 PR,并返回包含引用的详细报告。
#AI #ChatGPT
https://x.com/OpenAIDevs/status/1920556386083102844
X (formerly Twitter)
OpenAI Developers (@OpenAIDevs) on X
You can now connect GitHub repos to deep research in ChatGPT. 🐙
Ask a question and the deep research agent will read and search the repo’s source code and PRs, returning a detailed report with citations. Hit deep research → GitHub to get started.
Ask a question and the deep research agent will read and search the repo’s source code and PRs, returning a detailed report with citations. Hit deep research → GitHub to get started.
Cursor 团队于 2025 年 5 月 10 日发布了版本 0.50 的更新日志,此次更新涵盖了多个重要功能和改进。首先,团队推出了简化统一的定价模型,将所有模型的使用统一为基于请求的定价,Max Mode 现在采用基于 token 的定价方式,同时移除了 Premium tool calls 和长上下文模式,以简化用户使用体验。用户可以在 定价页面查看不同计划的详细信息,所有使用情况也可以在 仪表盘中进行跟踪和管理。
在功能方面,Max Mode 现在支持所有顶级模型,用户可以通过模型选择器启用该模式,新模型推出时也将直接支持 Max Mode。此外,团队训练了新的 Tab 模型,能够跨多个文件提供建议,尤其在重构、多文件更改以及跳转相关代码方面表现出色,同时为完成建议增加了语法高亮功能。
Background Agent 功能进入早期预览阶段,允许用户在后台运行多个代理,以便并行处理更大规模的任务。代理在远程环境中运行,用户可以随时查看状态、发送后续指令或接管任务。团队还引入了 @folders 功能,用户可以将整个代码库纳入上下文,只需在设置中启用 “Full folder contents” 即可。
Inline Edit(Cmd/Ctrl+K)进行了界面刷新并增加了新选项,包括全文件编辑(⌘⇧⏎)和发送至代理(⌘L)。对于长文件的编辑,Agent 新增了搜索和替换工具,能够更高效地定位并修改代码,而不是读取整个文件,这在处理大型文件时效率显著提升。
此外,用户现在可以创建多根工作区,以便在同一个空间中处理多个代码库,所有代码库都将被索引并可供 Cursor 使用。聊天功能也得到了增强,用户可以将聊天内容导出为 Markdown 格式,同时支持聊天内容的复制。团队还对 Agent 的终端仿真进行了改进,现在使用原生终端仿真代替模拟终端,并增加了上下文状态图标,以告知用户文件是否被包含或压缩。
其他改进包括支持在 MCP 设置中禁用个别 MCP 工具、新增 C# 扩展、允许在设置中调整聊天字体大小以及提供更详细的内置更新日志。此外,团队移除了 Claude 3 Opus 的每日 10 次免费请求。
#Cursor #AI #IDE
https://www.cursor.com/en/changelog/0-50
在功能方面,Max Mode 现在支持所有顶级模型,用户可以通过模型选择器启用该模式,新模型推出时也将直接支持 Max Mode。此外,团队训练了新的 Tab 模型,能够跨多个文件提供建议,尤其在重构、多文件更改以及跳转相关代码方面表现出色,同时为完成建议增加了语法高亮功能。
Background Agent 功能进入早期预览阶段,允许用户在后台运行多个代理,以便并行处理更大规模的任务。代理在远程环境中运行,用户可以随时查看状态、发送后续指令或接管任务。团队还引入了 @folders 功能,用户可以将整个代码库纳入上下文,只需在设置中启用 “Full folder contents” 即可。
Inline Edit(Cmd/Ctrl+K)进行了界面刷新并增加了新选项,包括全文件编辑(⌘⇧⏎)和发送至代理(⌘L)。对于长文件的编辑,Agent 新增了搜索和替换工具,能够更高效地定位并修改代码,而不是读取整个文件,这在处理大型文件时效率显著提升。
此外,用户现在可以创建多根工作区,以便在同一个空间中处理多个代码库,所有代码库都将被索引并可供 Cursor 使用。聊天功能也得到了增强,用户可以将聊天内容导出为 Markdown 格式,同时支持聊天内容的复制。团队还对 Agent 的终端仿真进行了改进,现在使用原生终端仿真代替模拟终端,并增加了上下文状态图标,以告知用户文件是否被包含或压缩。
其他改进包括支持在 MCP 设置中禁用个别 MCP 工具、新增 C# 扩展、允许在设置中调整聊天字体大小以及提供更详细的内置更新日志。此外,团队移除了 Claude 3 Opus 的每日 10 次免费请求。
#Cursor #AI #IDE
https://www.cursor.com/en/changelog/0-50
Cursor
Changelog - May 15, 2025 | Cursor - The AI Code Editor | Cursor - The AI Code Editor
Introducing unified request-based pricing, Max Mode for all top models, and Background Agent for parallel task execution. Plus, improved context management with @folders support, refreshed Inline Edit with new options, faster file edits, multi-root workspace…
Windsurf 团队发布了 Windsurf Wave 8 的团队与企业功能更新。此次更新是 Waves 系列的第八次发布,与以往不同的是,Wave 8 的功能将在一周内分阶段推出,每天聚焦一个不同主题,第一天的主题是团队与企业功能。
更新的核心是满足企业级开发团队的需求,解决他们在代码审查、知识管理、应用部署和数据分析等方面的痛点。Windsurf 团队强调,企业开发者面临的是更大规模的代码库和更复杂的任务,因此针对这些场景的功能优化能够为企业带来更大的价值。
Windsurf Reviews 是此次更新的一个重点功能,它是一个 GitHub 应用程序,能够根据代码审查指南自动审查拉取请求(PR),并编辑标题和描述。管理员可以在 Windsurf 设置页面连接 GitHub 实例,并启用 PR 审查和描述编辑功能。开发者在创建 PR 时,只需在描述或标题中添加
Knowledge Base 功能是对 Windsurf 上下文感知引擎的升级,现在可以读取 Google Docs 中的内容。管理员可以在设置页面连接 Google Drive,并添加文档。这些文档可以通过 Cascade 自动使用,或者通过显式提及
Conversation Sharing 功能旨在解决企业内部对 AI 编码助手的采用问题。开发者可以点击 Cascade 对话框右上角的 “Share Conversation”,生成一个团队内部的链接,其他团队成员可以通过该链接查看整个对话内容。此功能需要管理员手动启用,并且由于数据保留问题,目前不支持 Hybrid 客户。
Teams Deploys 功能允许团队管理员指定一个组织的 Netlify 账户,使得任何 Windsurf 用户的部署可以直接发送到该组织的 Netlify 账户,而无需先部署到 Windsurf 的服务器再进行申领。这使得内部应用的部署更加便捷,也适用于产品经理快速共享原型。
Updated Admin Analytics 是对管理员分析仪表盘的全面更新,提供了更多视图和切片,增加了围绕 Cascade 使用情况的指标。管理员可以通过新的分析页面更好地了解团队对 Windsurf 的使用情况,从而为内部的投资回报率(ROI)证明提供支持。
此外,Windsurf 还推出了 Self-serve Teams Access Controls 和 Self-serve Enterprise Tier。Teams 客户现在可以支付 10 美元 / 用户 / 月的附加费用来获取高级访问控制功能,包括单点登录(SSO)、基于规则的访问控制和子团队分析。Enterprise Tier 则提供了所有访问控制功能、分析 API 和更便宜的每信用额度价格,企业客户现在可以自行购买,而无需与 Windsurf 团队沟通。
#Windsurf #AI #IDE
https://windsurf.com/blog/windsurf-wave-8-teams-and-enterprise
更新的核心是满足企业级开发团队的需求,解决他们在代码审查、知识管理、应用部署和数据分析等方面的痛点。Windsurf 团队强调,企业开发者面临的是更大规模的代码库和更复杂的任务,因此针对这些场景的功能优化能够为企业带来更大的价值。
Windsurf Reviews 是此次更新的一个重点功能,它是一个 GitHub 应用程序,能够根据代码审查指南自动审查拉取请求(PR),并编辑标题和描述。管理员可以在 Windsurf 设置页面连接 GitHub 实例,并启用 PR 审查和描述编辑功能。开发者在创建 PR 时,只需在描述或标题中添加
/windsurf
,Windsurf Reviews 就会自动生成描述。对于审查者,当 PR 标记为可审查状态时,Reviews 会自动触发,也可以通过评论 /windsurf-review
来手动触发。该功能目前处于免费的测试阶段,但存在一些限制,例如每月最多 500 次审查,以及对代码差异大小的限制(约 350k 总字符,最多 30 个文件)。Knowledge Base 功能是对 Windsurf 上下文感知引擎的升级,现在可以读取 Google Docs 中的内容。管理员可以在设置页面连接 Google Drive,并添加文档。这些文档可以通过 Cascade 自动使用,或者通过显式提及
@knowledge
来使用。管理员还可以为文件添加额外的描述,帮助 Cascade 判断何时检索该文件。该功能目前也处于测试阶段,允许链接最多 50 个文档。Conversation Sharing 功能旨在解决企业内部对 AI 编码助手的采用问题。开发者可以点击 Cascade 对话框右上角的 “Share Conversation”,生成一个团队内部的链接,其他团队成员可以通过该链接查看整个对话内容。此功能需要管理员手动启用,并且由于数据保留问题,目前不支持 Hybrid 客户。
Teams Deploys 功能允许团队管理员指定一个组织的 Netlify 账户,使得任何 Windsurf 用户的部署可以直接发送到该组织的 Netlify 账户,而无需先部署到 Windsurf 的服务器再进行申领。这使得内部应用的部署更加便捷,也适用于产品经理快速共享原型。
Updated Admin Analytics 是对管理员分析仪表盘的全面更新,提供了更多视图和切片,增加了围绕 Cascade 使用情况的指标。管理员可以通过新的分析页面更好地了解团队对 Windsurf 的使用情况,从而为内部的投资回报率(ROI)证明提供支持。
此外,Windsurf 还推出了 Self-serve Teams Access Controls 和 Self-serve Enterprise Tier。Teams 客户现在可以支付 10 美元 / 用户 / 月的附加费用来获取高级访问控制功能,包括单点登录(SSO)、基于规则的访问控制和子团队分析。Enterprise Tier 则提供了所有访问控制功能、分析 API 和更便宜的每信用额度价格,企业客户现在可以自行购买,而无需与 Windsurf 团队沟通。
#Windsurf #AI #IDE
https://windsurf.com/blog/windsurf-wave-8-teams-and-enterprise
Windsurf
Windsurf Wave 8: Teams & Enterprise Features
Introducing Wave 8, our biggest batch of updates yet! This is part 1 of 3.
Clayton Ramsey 探讨了当前学生和创作者过度依赖大型语言模型(如 ChatGPT)进行写作的现象,并呼吁人们回归原创思考和表达。语言模型生成的内容通常冗长、缺乏深度且缺乏个性,学生在作业中使用此类内容时,往往只是简单地复制粘贴,缺乏对主题的深入理解和思考。Ramsey 认为,这种依赖语言模型的行为不仅在学术上不可取,也削弱了写作的真正价值——传达个人的原创思想。
Ramsey 分析了人们使用语言模型的原因,包括认为任务不重要、认为模型生成的内容优于自身创作,以及出于商业或利益驱动的“有利益关联”的写作。写作的核心在于表达个人的独特想法和经历,而语言模型无法提供这种真实性和深度。他通过一个实验,将文章的开头输入到 Google Gemini 中,让模型完成后续内容,结果发现生成的文本虽然冗长,但缺乏实质内容和个性,仅仅是重复了原始提示的内容。
Ramsey 认为即使是出于效率或提升写作质量的目的,语言模型的使用也往往适得其反。它不仅无法提升写作质量,反而会掩盖作者的原始意图,甚至在编程领域,过度依赖语言模型生成代码会导致代码缺乏理论基础,从而产生安全性和实用性问题。他呼吁人们珍惜自己的原创思想,因为这些思想比任何语言模型的输出都更具价值和意义。
#AI #思考
https://claytonwramsey.com/blog/prompt/
Ramsey 分析了人们使用语言模型的原因,包括认为任务不重要、认为模型生成的内容优于自身创作,以及出于商业或利益驱动的“有利益关联”的写作。写作的核心在于表达个人的独特想法和经历,而语言模型无法提供这种真实性和深度。他通过一个实验,将文章的开头输入到 Google Gemini 中,让模型完成后续内容,结果发现生成的文本虽然冗长,但缺乏实质内容和个性,仅仅是重复了原始提示的内容。
Ramsey 认为即使是出于效率或提升写作质量的目的,语言模型的使用也往往适得其反。它不仅无法提升写作质量,反而会掩盖作者的原始意图,甚至在编程领域,过度依赖语言模型生成代码会导致代码缺乏理论基础,从而产生安全性和实用性问题。他呼吁人们珍惜自己的原创思想,因为这些思想比任何语言模型的输出都更具价值和意义。
#AI #思考
https://claytonwramsey.com/blog/prompt/
Claytonwramsey
I'd rather read the prompt
I have literally never seen LLM writing that actually improved my life.
OpenAI 企业级 AI 报告
该报告由 OpenAI 发布,旨在分享领先企业在采用和部署人工智能 (AI) 过程中的经验教训,并阐述 AI 如何为企业带来显著价值。报告认为,AI 正在从三个主要方面推动企业进步:提升员工绩效、自动化常规运营以及赋能产品创新。
AI 赋能企业的三大前沿:
1. 提升员工绩效:AI 帮助员工在更短的时间内交付更高质量的工作成果。
2. 自动化常规运营:AI 将员工从重复性任务中解放出来,使其能够专注于更具附加值的工作。
3. 驱动产品创新:AI 通过提供更相关、更灵敏的客户体验来增强产品力。
报告强调,成功利用 AI 的企业通常将其视为一种新的工作范式,秉持实验精神和迭代方法,从而更快地实现价值并获得用户与利益相关者的认可。OpenAI 自身也采用迭代部署的策略,通过快速学习客户用例来加速产品改进和安全提升。
企业成功采纳 AI 的七大经验:
报告通过七个关键经验,并结合 Morgan Stanley、Indeed、Klarna、Lowe's、BBVA 和 Mercado Libre 等公司的实际案例,为企业部署 AI 提供了实践指导:
1. 从评估 (Evals) 开始:企业应建立系统性的评估流程,衡量 AI 模型在特定用例中的表现,确保质量和安全。例如,Morgan Stanley 通过严格评估,成功地将 AI 应用于财务顾问工作,大幅提升了效率和客户服务水平。
2. 将 AI 嵌入产品:将 AI 直接整合到产品中,可以创造全新的客户体验和更具相关性的互动。Indeed 利用 GPT-4o mini 优化职位匹配和推荐解释,显著提升了求职申请率和匹配成功率。
3. 尽早启动并持续投入:AI 的价值会随着时间的推移和经验的积累而复合增长。Klarna 早期投资并广泛推广 AI 客服助手,不仅大幅提升了客服效率和客户满意度,还预计带来数千万美元的利润增长。
4. 定制和微调模型:根据企业的特定数据和需求定制或微调 AI 模型,能够显著提升应用价值。Lowe's 通过微调 OpenAI 模型,使其电商平台的产品搜索准确性和相关性得到大幅改善。
5. 将 AI 交给领域专家:最了解业务流程和痛点的员工往往最能有效地利用 AI 解决问题。BBVA 将 ChatGPT Enterprise 推广给全球员工,赋能各部门专家自行创建了数千个定制化 GPT 应用,显著提升了工作效率。
6. 为开发者扫清障碍:开发者资源常常是企业创新的瓶颈。Mercado Libre 构建了基于 GPT-4o 的 AI 开发平台 Verdi,帮助其庞大的开发团队统一并加速 AI 应用的构建和部署,从而在库存管理、欺诈检测、产品描述定制化等多个方面取得了显著成效。
7. 设立大胆的自动化目标:许多流程中都存在大量适合自动化的重复性工作。企业应设定积极的自动化目标。OpenAI 自身也通过构建内部自动化平台,优化支持团队的工作流程,每月处理数十万个任务,使员工能专注于更高价值的工作。
结论与展望:
企业成功部署 AI 的关键在于开放的实验心态、严格的评估机制、完善的安全保障以及持续的迭代学习。成功的企业往往从高回报、低投入的用例入手,在实践中学习,然后将经验推广到新的领域。未来,企业将越来越多地集成 AI 工作流以自动化更复杂的流程,并利用 AI 代理 (Agent) 等工具来完成任务。
安全与隐私:
OpenAI 对企业客户数据安全和隐私的承诺,包括用户数据所有权、企业级合规性、精细的访问控制以及灵活的数据保留策略。
#AI #报告 #OpenAI
https://readwise-assets.s3.amazonaws.com/media/wisereads/articles/ai-in-the-enterprise/ai-in-the-enterprise.pdf
该报告由 OpenAI 发布,旨在分享领先企业在采用和部署人工智能 (AI) 过程中的经验教训,并阐述 AI 如何为企业带来显著价值。报告认为,AI 正在从三个主要方面推动企业进步:提升员工绩效、自动化常规运营以及赋能产品创新。
AI 赋能企业的三大前沿:
1. 提升员工绩效:AI 帮助员工在更短的时间内交付更高质量的工作成果。
2. 自动化常规运营:AI 将员工从重复性任务中解放出来,使其能够专注于更具附加值的工作。
3. 驱动产品创新:AI 通过提供更相关、更灵敏的客户体验来增强产品力。
报告强调,成功利用 AI 的企业通常将其视为一种新的工作范式,秉持实验精神和迭代方法,从而更快地实现价值并获得用户与利益相关者的认可。OpenAI 自身也采用迭代部署的策略,通过快速学习客户用例来加速产品改进和安全提升。
企业成功采纳 AI 的七大经验:
报告通过七个关键经验,并结合 Morgan Stanley、Indeed、Klarna、Lowe's、BBVA 和 Mercado Libre 等公司的实际案例,为企业部署 AI 提供了实践指导:
1. 从评估 (Evals) 开始:企业应建立系统性的评估流程,衡量 AI 模型在特定用例中的表现,确保质量和安全。例如,Morgan Stanley 通过严格评估,成功地将 AI 应用于财务顾问工作,大幅提升了效率和客户服务水平。
2. 将 AI 嵌入产品:将 AI 直接整合到产品中,可以创造全新的客户体验和更具相关性的互动。Indeed 利用 GPT-4o mini 优化职位匹配和推荐解释,显著提升了求职申请率和匹配成功率。
3. 尽早启动并持续投入:AI 的价值会随着时间的推移和经验的积累而复合增长。Klarna 早期投资并广泛推广 AI 客服助手,不仅大幅提升了客服效率和客户满意度,还预计带来数千万美元的利润增长。
4. 定制和微调模型:根据企业的特定数据和需求定制或微调 AI 模型,能够显著提升应用价值。Lowe's 通过微调 OpenAI 模型,使其电商平台的产品搜索准确性和相关性得到大幅改善。
5. 将 AI 交给领域专家:最了解业务流程和痛点的员工往往最能有效地利用 AI 解决问题。BBVA 将 ChatGPT Enterprise 推广给全球员工,赋能各部门专家自行创建了数千个定制化 GPT 应用,显著提升了工作效率。
6. 为开发者扫清障碍:开发者资源常常是企业创新的瓶颈。Mercado Libre 构建了基于 GPT-4o 的 AI 开发平台 Verdi,帮助其庞大的开发团队统一并加速 AI 应用的构建和部署,从而在库存管理、欺诈检测、产品描述定制化等多个方面取得了显著成效。
7. 设立大胆的自动化目标:许多流程中都存在大量适合自动化的重复性工作。企业应设定积极的自动化目标。OpenAI 自身也通过构建内部自动化平台,优化支持团队的工作流程,每月处理数十万个任务,使员工能专注于更高价值的工作。
结论与展望:
企业成功部署 AI 的关键在于开放的实验心态、严格的评估机制、完善的安全保障以及持续的迭代学习。成功的企业往往从高回报、低投入的用例入手,在实践中学习,然后将经验推广到新的领域。未来,企业将越来越多地集成 AI 工作流以自动化更复杂的流程,并利用 AI 代理 (Agent) 等工具来完成任务。
安全与隐私:
OpenAI 对企业客户数据安全和隐私的承诺,包括用户数据所有权、企业级合规性、精细的访问控制以及灵活的数据保留策略。
#AI #报告 #OpenAI
https://readwise-assets.s3.amazonaws.com/media/wisereads/articles/ai-in-the-enterprise/ai-in-the-enterprise.pdf
awesome-ai-system-prompts
顶级 AI 工具系统提示集,是 AI Agents 构建者和提示工程师的完美选择,涵盖了包括 ChatGPT、Claude、Perplexity、Manus、Claude-Code、Loveable、v0、Grok、same new、windsurf、notion 和 MetaAI 等在内的多种 AI 工具,提供了丰富的系统提示词示例和最佳实践指南。
#AI #Prompt
https://github.com/dontriskit/awesome-ai-system-prompts
顶级 AI 工具系统提示集,是 AI Agents 构建者和提示工程师的完美选择,涵盖了包括 ChatGPT、Claude、Perplexity、Manus、Claude-Code、Loveable、v0、Grok、same new、windsurf、notion 和 MetaAI 等在内的多种 AI 工具,提供了丰富的系统提示词示例和最佳实践指南。
#AI #Prompt
https://github.com/dontriskit/awesome-ai-system-prompts
GitHub
GitHub - dontriskit/awesome-ai-system-prompts: 🧠 Curated collection of system prompts for top AI tools. Perfect for AI agent builders…
🧠 Curated collection of system prompts for top AI tools. Perfect for AI agent builders and prompt engineers. Incuding: ChatGPT, Claude, Perplexity, Manus, Claude-Code, Loveable, v0, Grok, same new,...
Marker,一款能够快速且高精度地将 PDF 文件转换为 Markdown、JSON 和 HTML 格式的工具。它支持多种文件格式,包括 PDF、图像、PPTX、DOCX、XLSX、HTML 和 EPUB,并且可以处理所有语言的文档。marker 能够格式化表格、表单、公式、内联数学表达式、链接、参考文献和代码块,同时提取并保存图像,去除页眉、页脚等多余元素,并且可以通过自定义格式和逻辑进行扩展。
#Tools #PDF #Markdown #AI
https://github.com/VikParuchuri/marker
#Tools #PDF #Markdown #AI
https://github.com/VikParuchuri/marker
GitHub
GitHub - VikParuchuri/marker: Convert PDF to markdown + JSON quickly with high accuracy
Convert PDF to markdown + JSON quickly with high accuracy - VikParuchuri/marker
ufo 是一个由 unjs 团队开发的 npm 包,提供了一系列用于处理 URL 的工具函数,旨在简化前端和后端开发中常见的 URL 操作任务。
#Tools
https://github.com/unjs/ufo
#Tools
https://github.com/unjs/ufo
GitHub
GitHub - unjs/ufo: 🔗 URL utils for humans
🔗 URL utils for humans. Contribute to unjs/ufo development by creating an account on GitHub.
Shawn K 分享了自己作为一名软件工程师在过去一年中因人工智能(AI)的发展而失业的经历。他详细描述了自己在失业后面临的种种困境,包括求职过程中的艰难、经济压力以及对未来职业发展的迷茫。
Shawn K 曾是一名拥有 21 年经验的软件工程师,年薪约 150,000 美元,但随着 AI 的兴起,他所在的公司开始裁员,他也在其中。尽管他努力学习最新的 AI 技术,每天花费 2 到 5 小时关注 AI 新闻、论文和播客,并尝试使用各种 AI 工具,但这些努力并未帮助他重新找到工作。在过去一年中,他申请了超过 800 个职位,但几乎没有任何回应。他怀疑自己的简历可能因为没有足够多的 AI 相关术语而被 AI 筛选系统过滤掉。
在求职过程中,Shawn K 面临了诸多挑战。他参加了近 10 家公司的面试,甚至进入了第四轮面试,但最终都没有获得工作机会。他发现,面试过程中不仅需要面对 AI 技术的高要求,还要面对年轻面试官的偏见,例如因为他的年龄(42 岁)或过去的技术背景(如 PHP 开发)而被轻视。尽管他具备相关 AI 技能,但仍被拒之门外。
为了应对失业,Shawn K 尝试了多种方法。他开始在 Substack 上写作、在 YouTube 上发布视频,分享自己对 AI 的见解和学习经验,但这些努力并未带来工作机会。他甚至考虑降低求职标准,申请一些低薪职位,但仍然没有成功。他还尝试了其他职业转型,如考虑成为起重机操作员、无人机测绘员或 CDL 司机,但这些职业都需要数千美元的培训和证书费用,而他没有这些资金。
经济压力下,Shawn K 不得不采取多种方式维持生计。他尝试通过出租自己的房屋和小屋来获取收入,但由于各种原因,这些收入并不稳定。他还尝试通过 eBay 出售闲置物品,以及从事 DoorDash 等外卖配送服务,但这些收入仍然无法满足他的基本生活需求。他甚至考虑过创业,如开设农场摊位,但由于缺乏启动资金,这些计划也未能实现。
在失业期间,Shawn K 还尝试申请失业救济,但纽约州的失业救济系统效率低下且官僚主义严重,他每月仅获得不到 2,000 美元的救济金,这远不足以维持他的生活。当失业救济结束时,他没有收到任何进一步的建议或资源支持。
Shawn K 的经历反映了 AI 对就业市场的深远影响。他认为,AI 带来的“大置换”已经开始,而且这种影响不仅局限于知识工作者,未来还将波及更多行业。他呼吁社会重新思考工作和经济的角色,质疑为什么人们必须通过劳动换取生存的权利。他指出,AI 创造的价值应该被更公平地分配给所有人,而不是让少数人受益。他以自己为例,展示了在 AI 时代,即使是经验丰富的专业人士也可能面临失业和经济困境,而社会需要为这种变化做好准备,提出切实可行的解决方案。
#AI #思考 #工作
https://shawnfromportland.substack.com/p/the-great-displacement-is-already
Shawn K 曾是一名拥有 21 年经验的软件工程师,年薪约 150,000 美元,但随着 AI 的兴起,他所在的公司开始裁员,他也在其中。尽管他努力学习最新的 AI 技术,每天花费 2 到 5 小时关注 AI 新闻、论文和播客,并尝试使用各种 AI 工具,但这些努力并未帮助他重新找到工作。在过去一年中,他申请了超过 800 个职位,但几乎没有任何回应。他怀疑自己的简历可能因为没有足够多的 AI 相关术语而被 AI 筛选系统过滤掉。
在求职过程中,Shawn K 面临了诸多挑战。他参加了近 10 家公司的面试,甚至进入了第四轮面试,但最终都没有获得工作机会。他发现,面试过程中不仅需要面对 AI 技术的高要求,还要面对年轻面试官的偏见,例如因为他的年龄(42 岁)或过去的技术背景(如 PHP 开发)而被轻视。尽管他具备相关 AI 技能,但仍被拒之门外。
为了应对失业,Shawn K 尝试了多种方法。他开始在 Substack 上写作、在 YouTube 上发布视频,分享自己对 AI 的见解和学习经验,但这些努力并未带来工作机会。他甚至考虑降低求职标准,申请一些低薪职位,但仍然没有成功。他还尝试了其他职业转型,如考虑成为起重机操作员、无人机测绘员或 CDL 司机,但这些职业都需要数千美元的培训和证书费用,而他没有这些资金。
经济压力下,Shawn K 不得不采取多种方式维持生计。他尝试通过出租自己的房屋和小屋来获取收入,但由于各种原因,这些收入并不稳定。他还尝试通过 eBay 出售闲置物品,以及从事 DoorDash 等外卖配送服务,但这些收入仍然无法满足他的基本生活需求。他甚至考虑过创业,如开设农场摊位,但由于缺乏启动资金,这些计划也未能实现。
在失业期间,Shawn K 还尝试申请失业救济,但纽约州的失业救济系统效率低下且官僚主义严重,他每月仅获得不到 2,000 美元的救济金,这远不足以维持他的生活。当失业救济结束时,他没有收到任何进一步的建议或资源支持。
Shawn K 的经历反映了 AI 对就业市场的深远影响。他认为,AI 带来的“大置换”已经开始,而且这种影响不仅局限于知识工作者,未来还将波及更多行业。他呼吁社会重新思考工作和经济的角色,质疑为什么人们必须通过劳动换取生存的权利。他指出,AI 创造的价值应该被更公平地分配给所有人,而不是让少数人受益。他以自己为例,展示了在 AI 时代,即使是经验丰富的专业人士也可能面临失业和经济困境,而社会需要为这种变化做好准备,提出切实可行的解决方案。
#AI #思考 #工作
https://shawnfromportland.substack.com/p/the-great-displacement-is-already
Substack
The Great Displacement Is Already Well Underway
It's Not a Hypothetical, I've Already Lost My Job to AI For The Last Year
正确编写文档:开发人员指南
文档编写对于项目开发至关重要,良好的文档能够提升团队协作效率、加速新成员入职流程以及促进项目的广泛采用。
清晰一致的文档能够确保团队成员以及外部利益相关者保持在同一认知水平,同时帮助团队成员独立解决问题,减少核心贡献者回答问题的时间和精力。此外,良好的文档能够帮助新团队成员快速上手,通过提供入门方式、解释核心概念以及包含教程风格的内容,使新成员能够迅速熟悉项目。项目的易用性越高,其被采用的可能性也就越大。
文档编写的三个关键原则:
使用简单易懂的语言,避免使用可能不被目标受众理解的缩写或技术术语;
保持简洁,只记录必要的信息,避免覆盖所有可能的边缘情况,专注于帮助大多数读者快速开始、理解核心概念和使用项目;
保持结构化,合理安排文档结构,例如将最重要的信息放在前面,使用标题和目录帮助读者快速定位信息,使用文本高亮和格式化元素(如项目符号列表)帮助读者扫描内容,并保持一致的样式。
在组织文档方面推荐了 Diátaxis 框架,这是一种系统化的方法,将项目相关的所有文档按照其目的分为四个类别:教程(学习导向的文档)、操作指南(针对特定任务的目标导向说明)、解释(提供对项目的理解)和 参考(技术规格和信息)。这种分类方式有助于用户快速找到适合自己需求的资源,无论是学习新概念、解决具体问题、理解底层原理还是查找技术细节。此外,该框架还可以帮助识别项目文档中可能缺失的部分,例如是否缺少工具的参考文档、是否提供了足够的入门教程或常见任务的操作指南。
#文档 #实践
https://github.blog/developer-skills/documentation-done-right-a-developers-guide/
文档编写对于项目开发至关重要,良好的文档能够提升团队协作效率、加速新成员入职流程以及促进项目的广泛采用。
清晰一致的文档能够确保团队成员以及外部利益相关者保持在同一认知水平,同时帮助团队成员独立解决问题,减少核心贡献者回答问题的时间和精力。此外,良好的文档能够帮助新团队成员快速上手,通过提供入门方式、解释核心概念以及包含教程风格的内容,使新成员能够迅速熟悉项目。项目的易用性越高,其被采用的可能性也就越大。
文档编写的三个关键原则:
使用简单易懂的语言,避免使用可能不被目标受众理解的缩写或技术术语;
保持简洁,只记录必要的信息,避免覆盖所有可能的边缘情况,专注于帮助大多数读者快速开始、理解核心概念和使用项目;
保持结构化,合理安排文档结构,例如将最重要的信息放在前面,使用标题和目录帮助读者快速定位信息,使用文本高亮和格式化元素(如项目符号列表)帮助读者扫描内容,并保持一致的样式。
在组织文档方面推荐了 Diátaxis 框架,这是一种系统化的方法,将项目相关的所有文档按照其目的分为四个类别:教程(学习导向的文档)、操作指南(针对特定任务的目标导向说明)、解释(提供对项目的理解)和 参考(技术规格和信息)。这种分类方式有助于用户快速找到适合自己需求的资源,无论是学习新概念、解决具体问题、理解底层原理还是查找技术细节。此外,该框架还可以帮助识别项目文档中可能缺失的部分,例如是否缺少工具的参考文档、是否提供了足够的入门教程或常见任务的操作指南。
#文档 #实践
https://github.blog/developer-skills/documentation-done-right-a-developers-guide/
The GitHub Blog
Documentation done right: A developer’s guide
Learn why and how you should write docs for your project with the Diátaxis framework.
GitHub Issues 搜索功能的重大更新,支持嵌套查询和布尔运算符。这一功能的实现面临诸多挑战,包括确保与现有搜索的向后兼容性、在高查询量下维持性能以及为嵌套搜索打造用户友好体验。
Github 团队阐述了新搜索功能的工作原理。GitHub Issues 搜索现在支持在所有字段中使用逻辑 AND/OR 运算符,并且能够嵌套查询项。例如,`is:issue state:open author:rileybroughten (type:Bug OR type:Epic)` 可以找到所有处于开放状态、由 rileybroughten 创建且类型为 bug 或 epic 的问题。为了实现这一功能,GitHub 团队重写了 IssuesQuery 搜索模块,替换成新的 ConditionalIssuesQuery 模块,以支持嵌套查询并兼容现有查询格式。
从技术架构和实现角度来看,搜索过程分为三个阶段:解析(Parse)、查询(Query)和规范化(Normalize)。在解析阶段,用户输入的搜索字符串被解析成一个更易于处理的中间结构,如列表或树。新版本中,GitHub 团队使用了抽象语法树(AST)来处理嵌套查询,并通过 parslet 解析库定义了支持新旧查询语法的语法规则。在查询阶段,中间结构被转换为 Elasticsearch 能够理解的查询文档,并执行查询以获取结果。新版本通过递归遍历 AST 来构建等效的 Elasticsearch 查询文档,利用 Elasticsearch 的布尔查询功能实现 AND、OR 和 NOT 运算符。
在实施过程中,GitHub 团队考虑了多个关键因素。首先,确保向后兼容性至关重要,因为许多用户会保存、共享搜索链接或在文档中引用搜索结果。为此,团队进行了广泛的测试,包括单元测试和集成测试,并在生产环境中通过暗启动(dark-shipping)的方式验证新系统的正确性。其次,防止性能下降也是关键。团队通过运行新旧系统查询的对比测试,确保复杂嵌套查询不会导致性能下降。此外,为了保持用户体验,团队限制了查询的嵌套层级为五层,并在用户界面中提供了直观的提示和自动完成功能。
GitHub 团队还采取了逐步推广的策略,最初仅在 GraphQL API 和仓库的 Issues 选项卡中集成新系统,随后根据反馈逐步扩展到其他功能区域。通过内部测试和与可信合作伙伴的合作,团队收集了用户反馈并优化了功能。
#Github #Issue #新特性
https://github.blog/developer-skills/application-development/github-issues-search-now-supports-nested-queries-and-boolean-operators-heres-how-we-rebuilt-it/
Github 团队阐述了新搜索功能的工作原理。GitHub Issues 搜索现在支持在所有字段中使用逻辑 AND/OR 运算符,并且能够嵌套查询项。例如,`is:issue state:open author:rileybroughten (type:Bug OR type:Epic)` 可以找到所有处于开放状态、由 rileybroughten 创建且类型为 bug 或 epic 的问题。为了实现这一功能,GitHub 团队重写了 IssuesQuery 搜索模块,替换成新的 ConditionalIssuesQuery 模块,以支持嵌套查询并兼容现有查询格式。
从技术架构和实现角度来看,搜索过程分为三个阶段:解析(Parse)、查询(Query)和规范化(Normalize)。在解析阶段,用户输入的搜索字符串被解析成一个更易于处理的中间结构,如列表或树。新版本中,GitHub 团队使用了抽象语法树(AST)来处理嵌套查询,并通过 parslet 解析库定义了支持新旧查询语法的语法规则。在查询阶段,中间结构被转换为 Elasticsearch 能够理解的查询文档,并执行查询以获取结果。新版本通过递归遍历 AST 来构建等效的 Elasticsearch 查询文档,利用 Elasticsearch 的布尔查询功能实现 AND、OR 和 NOT 运算符。
在实施过程中,GitHub 团队考虑了多个关键因素。首先,确保向后兼容性至关重要,因为许多用户会保存、共享搜索链接或在文档中引用搜索结果。为此,团队进行了广泛的测试,包括单元测试和集成测试,并在生产环境中通过暗启动(dark-shipping)的方式验证新系统的正确性。其次,防止性能下降也是关键。团队通过运行新旧系统查询的对比测试,确保复杂嵌套查询不会导致性能下降。此外,为了保持用户体验,团队限制了查询的嵌套层级为五层,并在用户界面中提供了直观的提示和自动完成功能。
GitHub 团队还采取了逐步推广的策略,最初仅在 GraphQL API 和仓库的 Issues 选项卡中集成新系统,随后根据反馈逐步扩展到其他功能区域。通过内部测试和与可信合作伙伴的合作,团队收集了用户反馈并优化了功能。
#Github #Issue #新特性
https://github.blog/developer-skills/application-development/github-issues-search-now-supports-nested-queries-and-boolean-operators-heres-how-we-rebuilt-it/
The GitHub Blog
GitHub Issues search now supports nested queries and boolean operators: Here's how we (re)built it
Building this feature presented significant challenges. We're excited to take you behind the scenes.
关于 GitHub Copilot 的三种模式——Ask 模式、Edit 模式和 Agent 模式的介绍。
Ask 模式 是三种模式中最简单的一种,适合快速获取编程问题的答案。开发者可以高亮代码并输入问题,Copilot 会生成回答,解释代码功能、提供建议或给出代码片段,但不会修改代码。这种模式适合需要快速解决疑问、获取灵感或学习新知识的场景,比如查询如何使用某个库或优化 SQL 查询。
Edit 模式 则更进一步,允许开发者通过自然语言描述对项目中的文件进行修改。开发者可以高亮代码块并输入指令,如“添加错误处理”或“使用 async/await 重构”,Copilot 会根据指令生成代码修改建议,但不会自动保存,需要开发者确认。这种模式适合对现有代码进行精确修改、重构或优化,同时保留开发者的控制权。此外,开发者还可以通过自定义指令来指导 Copilot 的修改风格和偏好,使其更符合团队的编码规范。
Agent 模式 是最强大的一种,它可以根据开发者提供的高级指令自主规划任务步骤,选择文件、运行工具或终端命令,并自动迭代代码修改。这种模式适合需要进行大规模代码修改、构建新功能或修复复杂问题的场景。Agent 模式能够分析整个项目,识别并应用相关变更,保持代码一致性。它还可以通过自定义指令来遵循项目的特定规则和风格,从而提高任务的准确性和效率。不过,Agent 模式可能会让一些开发者感到需要放弃一定的控制权,因为它会自动应用更改,而不是等待明确的批准。
对于资深开发者而言,Agent 模式并非总是最佳选择。在处理需要精细操作的代码时,Ask 模式或 Edit 模式可能更为合适。资深开发者可以通过清晰的指令和自定义规则来引导 Agent 模式,使其更好地服务于复杂的项目。自定义指令可以帮助 Copilot 理解项目的结构、设计原则和代码风格,从而提供更精准的建议和修改。
建议开发者尝试不同的模式,根据具体任务选择合适的工具。Ask 模式适合快速获取答案,Edit 模式适合精确修改,而 Agent 模式则适合需要自主执行任务的场景。无论选择哪种模式,开发者都应该仔细检查代码更改,确保其符合预期。
#Github #Copilot #AI #Agents
https://github.blog/ai-and-ml/github-copilot/copilot-ask-edit-and-agent-modes-what-they-do-and-when-to-use-them/
Ask 模式 是三种模式中最简单的一种,适合快速获取编程问题的答案。开发者可以高亮代码并输入问题,Copilot 会生成回答,解释代码功能、提供建议或给出代码片段,但不会修改代码。这种模式适合需要快速解决疑问、获取灵感或学习新知识的场景,比如查询如何使用某个库或优化 SQL 查询。
Edit 模式 则更进一步,允许开发者通过自然语言描述对项目中的文件进行修改。开发者可以高亮代码块并输入指令,如“添加错误处理”或“使用 async/await 重构”,Copilot 会根据指令生成代码修改建议,但不会自动保存,需要开发者确认。这种模式适合对现有代码进行精确修改、重构或优化,同时保留开发者的控制权。此外,开发者还可以通过自定义指令来指导 Copilot 的修改风格和偏好,使其更符合团队的编码规范。
Agent 模式 是最强大的一种,它可以根据开发者提供的高级指令自主规划任务步骤,选择文件、运行工具或终端命令,并自动迭代代码修改。这种模式适合需要进行大规模代码修改、构建新功能或修复复杂问题的场景。Agent 模式能够分析整个项目,识别并应用相关变更,保持代码一致性。它还可以通过自定义指令来遵循项目的特定规则和风格,从而提高任务的准确性和效率。不过,Agent 模式可能会让一些开发者感到需要放弃一定的控制权,因为它会自动应用更改,而不是等待明确的批准。
对于资深开发者而言,Agent 模式并非总是最佳选择。在处理需要精细操作的代码时,Ask 模式或 Edit 模式可能更为合适。资深开发者可以通过清晰的指令和自定义规则来引导 Agent 模式,使其更好地服务于复杂的项目。自定义指令可以帮助 Copilot 理解项目的结构、设计原则和代码风格,从而提供更精准的建议和修改。
建议开发者尝试不同的模式,根据具体任务选择合适的工具。Ask 模式适合快速获取答案,Edit 模式适合精确修改,而 Agent 模式则适合需要自主执行任务的场景。无论选择哪种模式,开发者都应该仔细检查代码更改,确保其符合预期。
#Github #Copilot #AI #Agents
https://github.blog/ai-and-ml/github-copilot/copilot-ask-edit-and-agent-modes-what-they-do-and-when-to-use-them/
The GitHub Blog
Copilot ask, edit, and agent modes: What they do and when to use them
An introduction to GitHub Copilot's three distinct modes and a practical guide for integrating them effectively into your workflow.