
Neuron AI 是一个用于在 PHP 中构建 AI Agent 的框架,其 v3.0.0 版本已正式发布 🚀。这次更新标志着框架在架构设计和功能完备性上的一次重要飞跃。
主要新功能
本次 V3.0.0 版本带来了多项核心功能升级,旨在提供更强大、更灵活的智能体开发体验。
- 基于 Workflow 的全新架构:整个框架的核心——Agent、RAG 和 Message 系统——全部进行了重写,并构建在全新的 Workflow 组件之上。这为未来更复杂的能力扩展奠定了坚实基础。
- 原生 Human-in-the-Loop 支持:框架现在内置了工具审批(Tool Approval)和人工干预机制,使得构建需要人类监督或确认的自动化流程变得轻而易举。
- 自动对话总结:集成了一项用于上下文管理的中间件,能够自动压缩历史对话,有效解决长上下文带来的 Token 消耗和模型性能下降问题。
- Middleware 层:Agent 和 RAG 现在可以通过继承 Workflow 的中间件来使用可扩展的钩子(例如在节点执行前/后执行特定逻辑),提供了更精细的控制能力。
- 完整支持 Reasoning Models:所有集成的 Provider 现已全面支持推理模型,方便开发者调用具备深度思考能力的大模型。
- Structured Output 增强:
SchemaProperty 新增了 min、max、minLength、maxLength、anyOf 等多种约束条件,让模型输出的结构化控制更为严谨。
- Streaming Adapters:新增了对前端流行协议(如 Vercel AI SDK、AG-UI)的流式响应适配器,便于开发现代化的交互式前端应用。
- 新增 Provider:
- Mistral 专用 Provider:支持多模态输入和推理模型。
- Cohere AI Provider:同时支持云端 API 和私有化部署模式。
- Text-to-Speech Provider:专用于音频内容的生成与处理。
- File ID Content Blocks:现在可以通过文件 ID 来引用图片、文档等内容块,而不是直接嵌入庞大的 Base64 数据,这能大幅减少每次请求的 Token 消耗。
- Middleware 系统:提供了一套完整的钩子机制,支持对 Workflow 执行流程的各个阶段进行监听和控制。
重大破坏性变更,需要迁移
由于架构全面升级,V3.0.0 包含了一些不向后兼容的变更。如果你正在使用旧版本,需要按照以下列表进行迁移调整。
- Agent 命名空间变更:主要类从原命名空间移至
NeuronAI\Agent,SystemPrompt 类则移到 NeuronAI\Agent\SystemPrompt。
- 移除
chatAsync():旧的异步聊天方法已被移除,需要迁移到新的异步模式(详细用法请参考文档中的 /agent/async 部分)。
chat() 返回值变更:chat() 方法现在返回的是 Workflow State 对象,而不是直接的 Message 对象。你需要从 State 中提取 LLM 的响应内容。
- Message 内容从 Attachments 改为 Content Blocks:为了更好的支持多模态,消息内容系统进行了重构。
getContent() 方法现在只返回文本内容块(会自动跳过媒体块)。
- Streaming Chunk 重构:流式响应的数据块使用了新的专用类,例如
TextChunk、ReasoningChunk、ToolCallChunk、ToolResultChunk,结构更清晰。
ToolCallResultMessage 重命名为 ToolResultMessage:类名变得更加简洁。
- Workflow 中断请求:旧版本中使用数组表示的中断请求,现在改为类型化的
InterruptRequest 对象。
- 数据库持久化变更:如果使用框架的持久化功能,需要注意数据库表中
data 列已重命名为 interrupt。
- 观察者模式变更:不再使用 PHP 标准的
\SplSubject / \SplObserver,改为框架自定义的 ObserverInterface。新接口支持监听 Workflow、Node、Middleware 等多个级别的事件。
HttpClientOptions 移除:不再通过配置选项自定义 HTTP 客户端,改为通过 Adapter 模式注入,提供了更高的灵活性。
- Qdrant 版本要求:向量数据库 Qdrant 的客户端版本需要升级到 1.10.x 或更高。
AbstractChatHistory 方法变更:该抽象类中的钩子方法从 public 改为 protected,并且移除了返回类型声明。
总体来看,Neuron V3.0 是一次着眼于未来和开发者生产力的重磅更新。尽管迁移需要一些工作量,但新架构带来的灵活性、可扩展性和强大的新功能,无疑将为构建复杂的 PHP AI 应用打开新的局面。
|