Agent是什么? 1 Agent是什么1.1 Anthropic: Building effective agents中给出的定义https://www.anthropic.com/engineering/building-effective-agentswhat are agents?1在长时间内独立运行使用各种工具来完成复杂的任务的完全自主的系统2遵循预定义工作流的更规范的实现将所有这些变体归类为agentic systems但要在workflows和agents之间进行重要的架构区分workflows是通过预定义的代码路径编排LLM和工具的系统。Agents是LLM动态指导自己的流程和工具使用的系统保持对它们如何完成任务的控制。1.2 OpenAI: A practical guide to building agents 中给出的定义https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/What is an agent?虽然传统软件能够帮助用户简化和自动化工作流程但智能体能够在用户授权下以高度独立的方式代表用户执行相同的工作流程。智能体是能够独立代表您完成任务的系统workflow是指为实现用户目标而必须执行的一系列步骤例如解决客户服务问题、预订餐厅、提交代码更改或生成报告。那些集成了大型语言模型LLM但不使用它们来控制工作流程执行的应用——如简单的聊天机器人、单轮对话模型或情感分类器——不属于智能体。更具体地说智能体具有以下核心特性使其能够可靠且一致地代表用户采取行动它利用大型语言模型来管理工作流程的执行和决策。它能够识别工作流程何时完成并在需要时主动纠正其行为。如果执行失败它可以暂停操作并将控制权交还给用户。它可以访问多种工具以与外部系统交互——既用于收集上下文信息也用于执行操作——并根据工作流程的当前状态动态选择合适的工具同时始终在明确定义的防护边界内运行。我的理解Agent 是一个能够理解目标→制定计划→调用工具→执行任务→根据结果继续行动的软件程序。它和传统程序最大的区别是拥有自主完成任务的能力。要能够区分workflow和agentworkflows是通过预定义的代码路径编排LLM和工具的系统。Agents是LLM动态指导自己的流程和工具使用的系统保持对它们如何完成任务的控制。3、什么时候构建智能体2 什么时候应该构建智能体1.1 Anthropic: Building effective agents使用LLMs构建应用时寻找最简单的解决方案并且只在需要时增加复杂性。这可能意味着根本不构建agentic systems。agentic systems 经常以延迟和成本换取更好的任务性能您应该考虑这种权衡何时有意义。当需要更高的复杂性时工作流为定义明确的任务提供了可预测性和一致性而当需要大规模的灵活性和模型驱动决策时智能体是更好的选择。然而对于许多应用程序来说使用检索和上下文示例优化单个LLM调用通常就足够了。1.2 OpenAI: A practical guide to building agents构建智能体需要重新思考系统如何进行决策和处理复杂性。与传统的自动化不同智能体特别适合那些传统确定性、基于规则的方法难以胜任的工作流程。以支付欺诈分析为例。传统的规则引擎就像一份检查清单根据预设标准标记交易。而大型语言模型LLM驱动的智能体更像是一位经验丰富的调查员能够评估上下文考虑细微的模式并在没有明确规则被违反的情况下识别可疑活动。这种细致的推理能力正是智能体能够有效处理复杂、模糊情境的关键。在评估智能体能够带来价值的场景时应优先考虑那些此前难以实现自动化的工作流程尤其是传统方法遇到阻碍的场景复杂决策涉及细致、上下文敏感决策的工作流程例如客户服务中的退款审批。难以维护的规则集由于规则集过于庞大和复杂而变得难以管理更新成本高或易出错的系统例如进行供应商安全审查。高度依赖非结构化数据涉及解读自然语言、从文档中提取意义或与用户进行对话式交互的场景例如处理家庭保险索赔。在决定构建智能体之前需明确验证您的用例是否清晰符合这些标准。否则确定性的解决方案可能已足够。我的理解使用LLMs构建应用时尽可能寻找最简单的解决方案只在需要的时候构建agent。可以先看是否能使用检索和上下文示例优化单个LLM调用来解决再看能否使用工作流来解决最后如果场景中涉及到复杂决策、难以维护的数据集、高度依赖非结构化数据等情况或者需要大规模的灵活性和模型驱动决策可以考虑构建agent。