该资料是 Langroid 多智能体框架的设计模式索引,按类别列出可实现的模式,并指向含完整代码示例的文档。用途是帮助开发者按需查找 Langroid 的常见实现方式。
主要模式与能力:代理与任务基础方面,Task Returns Tool Directly 让配备单一 Tool(ToolMessage)的 Agent 封装进 Task,运行后直接返回该 ToolMessage,适合需要结构化响应的简单 LLM 智能体;Stateful Handler on Agent 要求在 Agent 上定义有状态工具处理器方法,适用于调用外部 API、数据库、文件 I/O,跨重试跟踪状态,访问代理级资源,或让 Langroid 自动把错误回传给 LLM 自我纠正,方法名须与 ToolMessage 的 request 字段一致,错误返回字符串,成功返回 DoneTool(content=result);Handler with Validation 在校验通过后才接受工具输出,处理器保存输入上下文为状态、校验输出,失败返回错误字符串重试,成功用 AgentDoneTool(非 DoneTool),并配置 done_sequences=["T[ToolName], A"] 使处理器先于任务终止运行。
任务控制方面,Terminate on Specific Tool 通过 TaskConfig(done_sequences=["T[ToolName]"]) 在指定工具被发出时立即退出,或加 ", A" 在工具被处理后退出;Batch Processing 用 run_batch_tasks() 并发对多输入运行同一任务,每项克隆 task+agent、独立消息历史,结果按序收集,支持 batch_size 限制并发。
集成与输出方面,MCP Tools Integration 让 Langroid 代理使用外部 MCP 服务器(如 Claude Code)的工具,可用 @mcp_tool 装饰器选择特定工具或用 get_tools_async() 获取全部工具,经由 stdio 传输连接;Quiet Mode 用 quiet_mode() 上下文管理器包裹 task.run(),隐藏流式、工具 JSON 与中间消息,仅输出自定义进度信息。
限制:资料为模式索引,具体代码在对应 .md 文档中,本说明未包含完整代码;价格、平台等信息暂未提供。