用 CrewAI 和 A2A 创建绘画智能体

CrewAI 开发框架

CrewAI 是一个开源的多智能体框架,支持工具集成,用于构建一组协作完成任务的智能体(Agents)。它的设计理念是:每个 Agent 都具备特定角色、工具和目标,通过任务分工与信息共享共同解决复杂问题。

CrewAI 能够提供类人团队的任务执行方式,不但可以构建单智能体助手,更可以构建"项目经理 + 设计师 + 执行者"这样的模拟团队。CrewAI 的另一个优势是可扩展性和生产级部署,因此其实可以广泛应用于你的数据分析、内容创作、自动化流程等场景。

思考题

1、在多个 Agent 并发调用图像生成工具的场景中,如何设计缓存机制以避免图像混淆或数据污染?

提示:

  • 目前系统通过 session_id 隔离用户会话缓存。
  • 思考是否还需要对 image_id 添加命名策略或过期策略。
  • 考虑缓存的清理机制或最大容量限制。

生成图像的方法 generate_image_tool 需要优化,它是取的最后一次生成的图像,如果有 AgentA 和 AgentB同时在一个会话中生成新图像,Agent A可能会错误地引用Agent B最新生成的图像。

解决方案:强制显式引用。

  • 如果 Agent 需要修改现有图像,它必须通过 artifact_file_id 参数显式地引用该图像的 image_id。如果 artifact_file_id 未提供或无效,则不应尝试从缓存中推断任何图像,而是视为生成新图像的请求。
  • 如果Agent需要生成新图像,则不应提供 artifact_file_id。工具将生成一个新的 uuid4().hex 作为 image_id,并将新图像及其ID返回给Agent。Agent应在后续步骤中明确使用此新ID。

如果缓存满了,则无法生成新的图像,可以在放入缓存的时候,设置过期时间。InMemoryCache 类的 set 方法已实现,调用 set 方法时传入 ttl 可以设置过期时间。

最近最少使用 (LRU) 策略

LRU 方案,修改 InMemoryCache 类:

  • init 中添加 expiry_time_seconds 和 max_size 参数。
  • 修改 set 方法,使其存储时间戳并实现 LRU 淘汰逻辑。
  • 修改 get 方法,使其检查过期时间并更新时间戳,同时更新 LRU 顺序。
  • 添加 clean_expired 方法用于主动清理。启动独立线程调用 clean_expired 方法

2、如果用户连续发送多轮提示(如"再给它加上一顶帽子"),如何设计智能画师 Agent 以理解上下文并自动复用上一轮生成的图像?提示:当前版本通过 artifact_file_id 实现图像修改。思考如何自动识别"上一张图"。是否需要结合上下文理解(CoT 或对话历史追踪)?

对于每个会话都维护一个存放图像的字典(Python 3.7+ 的字典会保留插入顺序),修改 generate_image_tool 方法将图像 id 存放到字典中。

修改 invoke 方法,如果没有明确提供 artifact_file_id,尝试自动复用当前会话中最新生成的图像 ID 作为 artifact_file_id,并将其传递给图像生成工具。

本地版

arduino 复制代码
uv run 02_CrewAI_Agent.py

代理需要切换下。

任务执行成功,生成图片可能失败,可以多试几次。

多 Agent

进入 agents/crewai_zh 目录,并参考 agents/crewai_zh/README.md 的说明,启动智能画师 Agent 服务。

uv run .之后,就可以把智能画师 Agent 添加到 UI 应用程序中。

相关推荐
舒一笑32 分钟前
如何获取最新的技术趋势和热门技术
人工智能·程序员
聚客AI1 小时前
🎉OpenClaw深度解析:多智能体协同的三种模式、四大必装技能与自动化运维秘籍
人工智能·开源·agent
黄粱梦醒1 小时前
大模型企业级部署方案-vllm
人工智能·llm
IT_陈寒1 小时前
JavaScript代码效率提升50%?这5个优化技巧你必须知道!
前端·人工智能·后端
IT_陈寒1 小时前
Java开发必知的5个性能优化黑科技,提升50%效率不是梦!
前端·人工智能·后端
康斯坦丁师傅1 小时前
发现一个插件,免费用谷歌最新NanoBanana 2
人工智能
emo猫pro_max3 小时前
openclaw飞书流式回复配置指南
人工智能
FishCoderh3 小时前
被OpenClaw的Session搞晕了?这篇让你彻底搞懂
人工智能
孤烟4 小时前
19 万 + GitHub 星标!OpenClaw 凭什么成为 2026 最火 AI Agent,万字实测告诉你
人工智能
zhl774 小时前
YOLOv5:从0搭建你的第一个目标检测模型
人工智能