PHP Agentic 框架 Neuron V3.0 正式发布!
“Neuron AI 是一个用于在 PHP 中构建 AI Agent 的框架,其 v3.0.0 版本已发布 🚀。
主要新功能
- 基于 Workflow 的全新架构:Agent、RAG 和 Message 系统全部重建在 Workflow 组件之上,支持更强大的能力扩展。
- 原生 Human-in-the-Loop 支持:内置工具审批(Tool Approval)和人工干预机制。
- 自动对话总结:集成中间件用于上下文管理(自动压缩历史)。
- Middleware 层:Agent 和 RAG 通过 Workflow 的中间件继承可扩展钩子(before/after 执行节点)。
- 完整支持 Reasoning Models:所有 Provider 都支持推理模型。
- Structured Output 增强:
SchemaProperty 新增 min、max、minLength、maxLength、anyOf 等约束。 - Streaming Adapters:适配前端协议(如 Vercel AI SDK、AG-UI)。
- Mistral 专用 Provider:支持多模态输入和推理模型。
- Cohere AI Provider:支持云端和私有部署。
- Text-to-Speech Provider:用于音频内容处理。
- File ID Content Blocks:通过 ID 引用文件(图片、文档等),大幅减少 Token 消耗。
- Middleware 系统:支持控制 Workflow 执行的钩子。
重大破坏性变更,需要迁移
- Agent 命名空间变更:移到
NeuronAI\Agent,SystemPrompt 移到 NeuronAI\Agent\SystemPrompt。 - **移除
chatAsync()**:迁移到新的异步模式(详见 /agent/async)。 - chat() 返回值变更:现在返回 Workflow State 而非直接 Message,需要从中提取 LLM 响应。
- Message 内容从 Attachments 改为 Content Blocks:支持多模态,
getContent() 只返回文本块(跳过媒体)。 - Streaming Chunk 重构:使用专用类如
TextChunk、ReasoningChunk、ToolCallChunk、ToolResultChunk。 - ToolCallResultMessage 重命名为 ToolResultMessage。
- Workflow 中断请求:旧数组改为类型化的
InterruptRequest。 - 数据库持久化变更:表列
data 重命名为 interrupt。 - 观察者模式变更:不再用
\SplSubject / \SplObserver,改用新的 ObserverInterface(支持 Workflow、Node、Middleware 级别的事件监听)。 - HttpClientOptions 移除:改为 Adapter 模式注入自定义 HTTP 客户端。
- Qdrant 版本要求:需升级到 1.10.x 或更高。
- AbstractChatHistory 方法变更:钩子方法从 public 改为 protected,去掉返回类型。