智能体框架
IBM 开源 CUGA 智能体框架:跳过基础设施搭建,直接写提示词
IBM 的开源 CUGA 框架颠覆了传统的智能体开发模式,自动处理编排、状态管理和规划。开发者只需编写工具列表和提示词。超过二十个单文件应用展示了这一方法,从电影推荐器到多智能体潜在客户生成系统,无需重写即可部署到受控生产环境中。

大多数智能体应用在真正发挥作用之前,都得先花上一周时间搭建基础设施。你得选一个框架,连好模型客户端,编写工具适配器,想办法将状态流式传输到用户界面,同时还得想清楚这个智能体到底要干什么。有意思的部分总是在最后才出现。 the-migration-isnt-finished-until-the-build-server-says-it-is-why-ai-agents-keep-failing-at-enterprise-java
CUGA 颠覆了这一切。它是 IBM 的开源智能体框架,替你处理规划、执行循环、工具调用和状态管理。剩下的才是真正属于你的部分:智能体可以访问哪些工具,以及你告诉它要做什么。为了展示这一方法在实践中的效果,团队构建了 cuga-apps:二十多个小巧、可运行的应用,每个都是一个包装着 CugaAgent 的单一 FastAPI 文件,从电影推荐器到 IBM Cloud 架构顾问,应有尽有。它们旨在被阅读和复制。你可以浏览实时图库。 opid-on-policy-skill-distillation-boosts-language-agent-training-without-external-memories
CUGA 帮你省去了哪些编写工作
CUGA 回答了一个合理的问题:它帮你省去了哪些编写工作?是每次都要重新构建的模型编排工作。它先规划再行动,然后通过工具调用和 CodeAct 生成的代码来执行。对于一个需要执行二十步的长任务,CUGA 会保留中间结果,并执行一个反思步骤,该步骤可以捕捉到错误的调用并重新规划,而不是继续盲目执行。正是这种机制使得它在 AppWorld 和 WebArena 等智能体基准测试中名列前茅。 why-your-ai-agent-might-ace-the-task-but-flunk-the-process-enter-skillcoach
你还可以通过配置而非代码来设置成本/延迟权衡:快速、平衡和精确推理模式,并在你信任的任何沙箱中执行代码:本地、Docker/Podman 或 E2B 云。大多数框架都假设底层有一个前沿模型,并依赖它来在计划出错时进行恢复;CUGA 自己完成这项工作。规划、反思步骤、确保长任务顺利进行的变量跟踪,这些都是框架承担了原本需要模型来承担的负载,这使得更小、更开放权重的模型也能在通常无法胜任的地方站稳脚跟。 the-verification-horizon-why-rewarding-coding-agents-is-getting-harder
单文件智能体:IBM Cloud 顾问
以下是 IBM Cloud 顾问,一个为架构推荐真实 IBM Cloud 服务的智能体。整个程序都放在一个文件中:一个包含智能体工厂、工具和提示词的 main.py,以及一个小型用户界面。
整个智能体归结为以下代码:
def make_agent():
from cuga import CugaAgent
from _llm import create_llm
return CugaAgent(
model=create_llm(
provider=os.getenv("LLM_PROVIDER"),
model=os.getenv("LLM_MODEL"),
),
tools=_make_tools(),
special_instructions=_SYSTEM,
cuga_folder=str(_DIR / ".cuga"),
)
四个参数。模型来自一个名为 create_llm 的小型工厂,它可以根据环境变量与 OpenAI、Anthropic、watsonx、LiteLLM 或 Ollama 进行通信。应用代码中没有任何东西知道背后运行的是哪个模型。承载应用的两个参数是 tools 和 special_instructions。
这些工具将一个本地函数和一个托管函数混合在一起。这里有一个适用于所有应用的模式:MCP 工具和内联工具之间的划分。通用的、无状态的功能来自共享的 MCP 服务器;任何特定于此应用的内容都会作为普通的 Python 函数内联定义。Cloud 顾问的提示词告诉智能体在命名任何服务之前先搜索目录,推荐三到七个服务,并说明每个服务在设计中的作用,并且永远不要编造服务名称。 gui-agents-beat-cli-in-desktop-tasks-but-skill-coverage-holds-the-key
治理内建,而非附加
一个搜索目录的演示智能体风险很低。将相同的模式指向会写入文件、运行 shell 命令或接触生产环境的东西时,问题就变了:如何阻止它做你后悔的事情?CUGA 在运行时中回答了这个问题,而不是在你事后添加的包装器中。这个开源智能体附带了一个策略系统,包含六种策略类型:意图守卫、工具指南、工具审批、输出格式化器、人在回路中和自定义策略逃生舱。
意图守卫在智能体选择工具之前检查请求。工具审批在智能体生成其代码后运行,并检查该代码使用了哪些工具。输出格式化器仅在最终消息存在后触发。触发器也不仅仅是关键词匹配,它们被存储在 sqlite-vec 存储中并进行语义匹配,因此策略会根据用户的意图触发,而不仅仅是精确关键词。 from-zero-days-to-autonomous-defense-how-ai-agents-are-rewriting-cybersecurity
从单一智能体到多个:多智能体委派和技能
当一个智能体会在自己的上下文中不堪重负时,你可以拆分工作。CugaSupervisor 将任务委派给专门的 CugaAgent,每个代理都有自己的工具、提示词和隔离的上下文,主管只负责决定将子任务交给哪个专家。无论底层有多少工具,它的规划面始终保持很小。专家可以是本地的,也可以是通过 A2A 连接的外部智能体。
其他扩展包打包的是知识而不是工具:Agent Skills,一个包含 SKILL.md 手册的文件夹,只有当任务需要时,智能体才会将其拉入上下文。Ouroboros,一个潜在客户生成应用,有一个主管和七个专家:侦察兵、站点审计员、客户之声、人员查找器、堆栈扫描仪、收入估算器和推销邮件撰写器。每个专家都是一个加载到 CugaAgent 中的技能。 fast-lewm-parallel-action-prefix-prediction-slashes-latent-world-model-planning-costs
生产路径:Sovereign Core
由于这个框架很小、开源、与模型无关,并且已经自带了治理功能,你在笔记本电脑上编写的智能体与在锁定部署中运行的智能体是同一个。IBM Sovereign Core 在此基础上构建。它在边界隔离下运行 CUGA 智能体:数据、控制面和执行引擎位于同一逻辑边界内。部署默认使用完全在你基础设施内气隙运行的 gpt-oss-120b,并且工具只能通过每个工具的审批访问私有 VNET。每个推理步骤都会将 OpenTelemetry 追踪发送到留在租户内的 Grafana Tempo 后端,不会向外部发送遥测数据。
给开发者的启示是显而易见的:一个智能体应用可以是一个你能掌握的单一文件。工具和提示词是你真正需要编写的唯一部分。这些应用是一个可供学习的库,当风险增加时,治理已经内置在运行时中。