作为一种新型软件,智能体(AI Agent)展现出许多传统软件所不具备的特征。不仅与传统软件的设计理念、方法、工具和技术栈有显著的差异,AI原生(AI Native)的智能体还融入了多种新概念和技术。我们从多个维度对AI Native智能体与传统软件进行了比较和分析,涉及开发语言、软件架构、设计模式和编程模式等多个方面。本文通过与传统软件的比较分析,浅谈AI原生的开发语言的异同。
编程(Programming) vs. 提示(Prompting)
一般而言,在传统软件开发中,开发活动主要涉及编写代码来实现具体的功能,如数据处理、用户界面和业务逻辑。程序员需要明确指定程序如何执行任务。相比之下,AI软件工程转向了“提示工程(Prompt Engineering)”——这是一种通过设计提示来引导预训练的大语言模型(如GPT)生成期望输出的方法。这种方式强调的是理解和利用模型的先验知识,以及通过自然语言提示设计来影响模型输出。AI智能体的开发,则更进一步,在为创建和管理智能体(agents)提供结构和工具的软件框架上,通过自然语言提示词为主的方法定义智能体的角色、任务、功能、与外界和其他智能体沟通和协作方法等。本质上用于引导驱动智能体框架的底层大语言模型。根据提示词,大语言模型甚至可以引导智能体或按需产生并执行代码,或接入第三方工具程序,以完成任务。
传统软件开发 | 智能体开发 |
---|---|
开发方法 | |
Programming:主要通过编写具体的代码来定义程序的行为。 | Prompting:主要通过设计提示来引导预训练的大语言模型生成期望的输出。 |
语言使用 | |
使用严格定义的编程语言,如Python、Java、C/C++等。 | 主要使用自然语言进行提示设计,语言的灵活性和模糊性更高。 |
工具和环境 | </