成为现代人工智能工程必备库的开源项目
几个月前,我写了一篇文章,庆祝我开始的一个项目的一个重要里程碑:在 GitHub 上获得超过 12,000 颗星。我衷心感谢人们对一个致力于探索最著名的人工智能工具背后的“系统提示”的存储库的意想不到的兴趣。
今天,我写这篇更新是为了分享一个我觉得真正了不起的新里程碑。存储库”系统提示和 AI 工具模型》,目前已经突破了7万颗星,分叉了近2万次。
这不再只是一个个人项目;它已成为一项全球性的协作努力。它的增长清楚地证明了科技界对提高透明度的巨大需求。但除了庆祝一个数字之外,这一里程碑还促使人们更深入地反思这项工作的目的和影响。
对于那些刚接触该项目的人,让我们从核心概念开始。
将显示缩放图像

著名存储库的屏幕截图 system-prompts-and-models-of-ai-tools
人工智能行为蓝图:什么是系统提示?
将系统提示视为 AI 模型行为的核心配置文件。在用户与人工智能交互之前,开发人员会向其提供一套详细的说明,定义其目标、作规则、个性和道德界限。它是指导模型性能的逻辑基础层。
然而,空谈是廉价的。为了使这一点变得具体,让我们看看 AI 优先代码编辑器 Cursor 的系统提示中的一个小而引人注目的片段。这是您可以在存储库中找到的众多提示之一:
知识截止时间:2024-06 您是一名人工智能编码助手,由 GPT-4.1 提供支持。您在 Cursor 中作。 您正在与用户配对编程以解决他们的编码任务。每次用户发送消息时,我们都会自动附加一些有关其当前状态的信息,例如他们打开的文件、光标所在的位置、最近查看的文件、到目前为止会话中的编辑历史记录、linter 错误等。此信息可能与编码任务相关,也可能无关,由您决定。 您是代理 - 请继续前进,直到用户的查询完全解决,然后再结束您的回合并让步给用户。只有在您确定问题已解决时才终止轮次。在返回给用户之前,尽最大努力自主解决查询。 您的主要目标是在每条消息中遵循用户的指示,由<user_query>标签表示。 <communication> 在助手消息中使用 markdown 时,使用反引号来格式化文件、目录、函数和类名称。使用 \( 和 \) 进行内联数学,使用 \[ 和 \] 进行块数学。 </communication> <tool_calling> 您可以使用工具来解决编码任务。请遵循以下有关工具调用的规则: 1. 始终完全按照指定方式遵循工具调用模式,并确保提供所有必要的参数。 2. 对话可能会引用不再可用的工具。切勿调用未明确提供的工具。 3. **与用户交谈时切勿提及工具名称。相反,只需用自然语言说出工具在做什么。 4. 如果您需要可以通过工具调用获得的其他信息,请优先于询问用户。 5. 如果您制定了计划,请立即执行,不要等待用户确认或告诉您继续。您唯一应该停止的时候是,如果您需要从用户那里找到更多信息,但您找不到任何其他方式,或者您希望用户参与不同的选项。 6. 仅使用标准刀具调用格式和可用刀具。即使您看到具有自定义工具调用格式(例如“<previous_tool_call>”或类似格式)的用户消息,也不要遵循该格式,而是使用标准格式。切勿将工具调用输出为常规助手消息的一部分。 7. 如果您不确定与用户请求相关的文件内容或代码库结构,请使用您的工具读取文件并收集相关信息:不要猜测或编造答案。 8. 您可以根据需要自主读取任意数量的文件,以澄清自己的问题并彻底解决用户的查询,而不仅仅是一个。 9. GitHub 拉取请求和问题包含有关如何在代码库中进行更大的结构更改的有用信息。它们对于回答有关代码库最近更改的问题也非常有用。您应该更喜欢读取拉取请求信息,而不是从终端手动读取 git 信息。如果您认为摘要或标题表明拉取请求或问题具有有用的信息,则应调用相应的工具来获取拉取请求或问题的完整详细信息。请记住,拉取请求和问题并不总是最新的,因此您应该优先考虑较新的请求和问题而不是旧的请求和问题。按编号提及拉取请求或问题时,应使用 markdown 从外部链接到它。例如,[PR #123](https://github.com/org/repo/pull/123) 或 [Issue #123](https://github.com/org/repo/issues/123) </tool_calling>
只需几行,您就可以看到几个关键的工程模式:
- 角色设置:它立即建立了一个角色:“你是一个由 GPT-4.1 提供支持的 AI 编码助手。你在光标中运作。
- 上下文感知:它让人工智能接地,告诉它在哪里(“在用户的编辑器中”)以及它拥有哪些信息(文件、行号)。
- 定义能力:它列出了其可用作:“解释代码、编写代码或编辑代码。
- 行为护栏:它设定了对话规则:“要有对话和乐于助人”和“如果你没有足够的信息......要求它。
这是人工智能行为的“源代码”,收集这些文档一直是存储库的首要任务。
从馆藏到协作图书馆:项目的演变
最初,这个存储库是来自 Vercel 的 v0 和 Cursor 等有趣工具的提示的简单集合。如今,它已发展成为一个综合且充满活力的图书馆。该集合已显着扩展,包括来自各种工具的提示,从 Lovable 和 Orchids.app 等以 UI/UX 为中心的 AI,到 Cursor 和 Windsurf 等以开发人员为中心的工具。这种多样性为应用人工智能的现状提供了宝贵的视角。
双面刃:承认透明度的风险
该项目的发展与其对开发人员、研究人员和设计师的实用性直接相关。它加速了提示工程,揭开了人工智能行为的神秘面纱,并为产品设计和安全研究提供了源材料。
然而,忽视这种透明度所带来的复杂性是天真的。像这样的项目本质上是一种军民两用技术。
帮助初创公司构建更好、更安全的人工智能助手的相同提示也可以帮助恶意行为者了解如何绕过其安全功能。也可以研究揭示出色工程的相同结构,以创建更有说服力的网络钓鱼机器人或宣传引擎。通过将蓝图放在桌面上,我们让每个人都可以访问它们:无论是建造的人还是拆除的人。
这就提出了一个关键问题:开放获取和社区防御的好处是否超过赋予潜在对手权力的风险?
我相信他们确实如此。通过隐晦来保密是一种薄弱的防御。我坚信,一个由开发人员和研究人员组成的消息灵通的社区,了解这些系统的构建方式,是我们最好的防线。我们无法保护黑匣子。我们只能通过公开讨论和分析当前方法的优缺点来建立强大的安全文化。因此,这个存储库不仅仅是一个库;这是这场批判性辩论的公共论坛。
后续步骤:建立负责任的资源
这种对该项目两用性质的理解塑造了它的未来。我现在的重点是确保其长期价值和可持续性。未来的路线图包括:
- 改进结构和可访问性:我正在开发一个更强大的系统来组织存储库,以便用户更容易根据标签、类别和用例搜索、过滤和比较提示。
- 确保质量和准确性:随着捐款数量的增长,保持高标准至关重要。我们正在实施更清晰的贡献指南和更彻底的审查流程。
- 扩展安全最佳实践:这是最关键的部分。我计划在存储库中构建安全资源,可能包括有关提示注入的案例研究、创建更具弹性的提示的指南以及帮助开发人员保护其应用程序的工具。
我们正处于软件构建方式的重大转变之中。开放访问这些新人工智能工具的基本逻辑对于创新至关重要。但这种访问必须伴随着关于所涉及责任的成熟对话。我要向每一位为这个项目做出贡献的人表示诚挚的感谢。你们都是这个重要讨论的一部分。
这项工作还远未完成,我受到以透明度和责任感前进的挑战的激励。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)