系统通过预定义的代码路径编排LLM和工具。
系统中LLM动态指导自身流程和工具使用,保持对任务完成方式的控制。
构建LLM应用时,先寻找最简单的解决方案,仅在必要时增加复杂性。
代理系统通常以延迟和成本换取更好的任务表现。
工作流适合明确定义的任务,代理适合需要灵活性和模型驱动决策的场景。
LangGraph、Amazon Bedrock AI Agent、Rivet和Vellum等框架简化了代理系统实现。
简化标准低级任务,如调用LLM、定义和解析工具,以及链接调用。
额外的抽象层可能掩盖底层提示和响应,增加调试难度。
从直接使用LLM API开始,确保理解底层代码。
自主系统
评估-优化、编排-工作者
提示链接、路由、并行化
基础构建块
将任务分解为步骤序列,每个LLM调用处理前一个的输出。适用于可清晰分解的任务。
对输入分类并引导至专门的后续任务。适用于有明显类别的复杂任务。
LLM同时处理任务,输出以编程方式聚合。适用于可并行的子任务。
中央LLM动态分解任务,委派给工作者LLM,并综合结果。
代理通过命令或交互讨论明确任务。
代理独立规划和操作,必要时返回人类获取信息或判断。
代理从环境获取"基本事实"(如工具调用结果)评估进度。
任务完成或达到停止条件(如最大迭代次数)时终止。
结合聊天界面与工具集成,访问客户数据、订单历史和知识库,执行退款等操作。
解决软件开发问题,通过自动化测试验证代码,使用测试结果迭代解决方案。
精心设计工具定义和规范,创建良好的代理-计算机接口(ACI),使模型更容易使用。
我们与数十个团队合作,帮助他们在各行各业构建大型语言模型(LLM)代理。最成功的实现都采用简单、可组合的模式,而非复杂框架。