Agently 4.1.4.7 是一个 AI 应用运行时框架,定位为“GenAI 应用开发框架”。它面向的团队是从“模型能跑通一次”转向“应用必须可靠运行”的产品工程、平台团队、技术负责人以及编码智能体用户。核心设计问题是:如何在保持模型行为有用的同时,为应用代码提供稳定契约、可观测执行和可重启安全的工作流边界。
主要能力
-
结构化请求:Prompt 由具名槽位组成,使应用意图、约束、上下文和输出契约可审查。get_result() 用于同一模型调用被多种方式检查;AgentExecutionResult 的 get_data() 跨 direct、flat、TaskBoard 策略返回业务结果,get_full_data() 仅用于需要完整路由/任务信封时,get_text() 是面向用户的最终文本视图。
-
契约优先的输出控制:固定必填叶子节点直接写在 .output(...) 的第三个元组项中;ensure_keys= 用于条件或运行时依赖路径;.validate(...) 或 validate_handler= 用于值级业务规则;ensure_all_keys=True 用于要求整个 schema 存在。YAML 和 JSON prompt 文件可通过 $ensure: true 承载相同契约,便于在 Python 代码之外审查 prompt 与响应形状。
-
结构化流式输出:instant 事件让 UI、服务或下游消费者在每个结构化字段变化时作出反应,适用于仪表盘、聊天 UI、SSE 响应和工作流。instant 更新应视为临时值,最终验证必须在不可逆副作用或业务决策前完成。
-
Actions 与工具使用:Actions 是模型可调用的能力,新代码应从 @agent.action_func 和 agent.use_actions(...) 开始。提供常见能力辅助函数与内置 action 包;通过 agent.use_mcp(...) 使用 MCP 服务器;通过 agent.register_action(..., executor=..., execution_resources=[...]) 构建带显式管理资源的自定义后端。指令密集型 action 通过执行摘要和产物引用保持上下文紧凑,应用可按需显式读取原始产物。
-
运行时 Skills:Skills 是可复用任务指导包。SkillLibrary 持有不可变的已安装修订,AgentExecution 负责选择与精确修订绑定,TaskContext 负责渐进披露。agent.use_skills(...) 是常规候选绑定接口,agent.require_skills(...) 绑定已知精确修订。Agently.skills_executor 是安装、检查与上下文投影的薄兼容层;4.1.4.7 中其旧版 TaskDAG 技能解析器还不是执行器就绪集成,需要来自真实 TaskDAGContext 的宿主适配器。Skill 能力要求本身不授权副作用,宿主代码必须显式挂载所需 Actions、MCP 服务或 ExecutionResource 提供者并应用策略;不可用、歧义、低置信度或被策略拒绝的能力会以诊断信息失败关闭。
-
TriggerFlow 编排:Agently 的工作流层,支持显式阶段、分支、扇出、事件驱动输入、运行时流、暂停/恢复、持久化和可重启安全执行。close() / async_close() 是 4.1 系列的规范完成路径,close 快照是持久结果契约。它适合服务、Worker、Webhook、人工审核或 SSE/WebSocket 路由。
-
Dynamic Task:用于模型生成或应用提交的 DAG 数据,TaskDAG 负责规划、验证、解析与执行。TaskDAGExecutor.async_run(...) 默认将验证后的 DAG 直接编译到 TriggerFlow 底座;Blocks 编译是显式可选路径。不要将未验证的运行时计划数据直接编译为新的 TriggerFlow 定义。
-
Session 记忆:当问题仍是单一对话线程而非完整工作流时,Session 保持有界多轮状态;长时间运行、事件等待、扇出或人工审批应把 TriggerFlow 放在请求层之上。
使用方式
支持使用 DeepSeek 或其他 OpenAI 兼容托管端点;使用本地 Ollama 时更改 provider 设置;同一应用需要多模型时使用 Model Pool,activate_model(...) 改变后续 Agent 请求的默认模型键,agent.create_request(model_key="support-chat") 做一次性覆盖。文件式设置优先使用 file-backed settings。认证与安装细节请参考官方文档与 Quickstart。
框架定位与限制
当应用需要 AI 执行底座时使用 Agently;产品只有一两个简单 prompt 时可直接调用 SDK;自然语言智能体协作是主要产品原语时使用专门的多智能体框架。与 LangChain 的集成优先风格相比,Agently 强调统一请求契约,降低更换模型或提供商对下游业务逻辑形状的影响。与仅依赖提供商原生结构化输出相比,Agently 自行拥有 schema-as-prompt、必填字段提取、解析器反馈、重试和验证处理器。与仅图式编排相比,TriggerFlow 核心是事件/信号驱动,instant 响应模式可在模型仍在流式输出时暴露结构化字段。多智能体协作在 Agently 中是可在请求、Actions、TriggerFlow 信号、子流、Session 和运行时资源之上构建的场景。
当前版本 4.1.4.7 要求 Agently-Stage 0.3.8,新增内置非活跃 gVisor/Seatbelt/Landlock 代码执行候选且不新增第三方 Python 依赖,并改进推理与验证诊断。