📢 转载信息
原文链接:https://aws.amazon.com/blogs/machine-learning/bringing-tic-tac-toe-to-life-with-aws-ai-services/
原文作者:Georges Hamieh, Mohamed Salah, Omer Dawelbeit, and Saddam Hussain
大型语言模型(LLMs)现在支持各种用例,从内容摘要到推理复杂任务的能力。一个令人兴奋的新主题是将生成式 AI 应用于机器人和物理硬件,从而将生成式 AI 带入物理世界。
受此启发,我们为 AWS re:Invent 2024 Builders Fair 开发了一个游戏,该游戏使用了 Amazon Bedrock、Strands Agents、AWS IoT Core、AWS Lambda 和 Amazon DynamoDB。我们的目标是演示 LLM 如何推理游戏策略、处理复杂任务,并实时控制物理机器人。
RoboTic-Tac-Toe 是一款互动游戏,其中两个物理机器人在一个井字棋棋盘上移动,其游戏过程和机器人的移动都由 LLM 进行编排。玩家可以使用自然语言命令控制机器人,指挥它们将自己的标记放在棋盘上。在本文中,我们将探讨用于推理井字棋游戏并为当前玩家决定最佳下一步游戏策略和移动计划所使用的架构和提示工程技术。
交互式体验
RoboTic-Tac-Toe 展示了人类、机器人和 AI 之间的直观交互。参与者可以通过扫描二维码访问游戏门户,并从多种模式中进行选择:
- 玩家对玩家 – 挑战人类对手
- 玩家对 LLM – 与由 AI 驱动的 LLM 较量技巧
- LLM 对 LLM – 观看两个 AI 模型自主地进行策略制定和竞争
当玩家选择一个目标单元格时,位于井字棋盘旁边的两个机器人会响应命令,执行精确的移动来放置 X 或 O 标记。下面的视频展示了这一过程。
解决方案概述
RoboTic-Tac-Toe 的特点是无缝集成了 AWS 服务,无需预编程序列。相反,AI 会实时动态生成描述性指令。下图描述了基于 AWS IoT Core 构建的架构,该架构实现了树莓派控制的机器人与云之间的通信。

该解决方案使用了以下关键服务:
- Amazon Bedrock LLM – 使用 LLM 和提示工程来生成移动计划和游戏策略
- Strands Agents – 一个开源 SDK,采用模型驱动的方法来构建和运行 AI 智能体
- Amazon SageMaker – 为 AI 驱动的决策制定和机器人运动规划提供支持
- AWS Lambda – 执行游戏逻辑,从而实现流畅的操作和实时响应能力
- Amazon Simple Storage Service (Amazon S3) – 存储游戏状态数据和游戏中捕获的图像
硬件和软件
- 该项目的物理设置包括一个嵌入了 LED 指示灯的井字棋盘,用于高亮显示 X 和 O 的位置。
- 两个机器人(改装的玩具模型)通过配备红外和射频模块的树莓派控制器进行操作。
- 一个安装的树莓派摄像头实现了基于视觉的分析,捕获棋盘状态并将数据传输以进行进一步的计算机视觉处理。此外,一个专用的硬件控制器充当一个连接到 AWS IoT Core 的 IoT 设备,从而促进了流畅的游戏交互。

- 在软件方面,AWS Lambda 负责调用 Supervisor Strands Agent,以处理核心游戏逻辑和编排。
- 由 OpenCV 驱动的计算机视觉功能分析棋盘布局并为精确的机器人移动提供支持。Amazon Bedrock 智能体负责编排任务以生成移动计划和游戏策略。
Strands Agents 的实际应用
Strands Agents 通过编排基础模型(FM)、数据源、软件应用程序和用户对话之间的交互,使应用程序用户能够实现任务自动化。
Supervisor Agent
Supervisor Agent 充当一个编排器,管理 Move Agent 和 Game Agent,协调和简化整个系统的决策。此过程包括以下步骤:
- 智能体接收高级指令或游戏事件(例如,“玩家 X 移动到 2B,生成机器人的响应”),并确定必须调用哪个专门的智能体——Move Agent 或 Game Agent。
- Supervisor AWS Lambda 函数充当中央控制器。触发时,它会解析传入的请求、验证上下文,然后将请求路由到适当的 Strands Agent。整个工作流都启用了跟踪,以便进行监控和调试。
- 根据请求类型:
- 如果涉及更新或分析游戏状态,Supervisor 会调用 Game Agent,该智能体检索棋盘状态并生成下一个由 AI 驱动的移动。
- 如果涉及物理机器人导航,Supervisor 会调用 Move Agent,后者生成 Python 代码中的移动指令。
- Supervisor Agent 整合来自底层智能体的响应,并将它们构造为统一的输出格式。这使得无论结果是机器人命令、游戏移动还是两者的组合,都能保持一致性。
- 交互(包括决策路径和最终输出)记录在 S3 存储桶中。这种日志记录机制为跨多个智能体提供了可追溯性,并通过在出现问题时返回结构化的错误消息来支持错误处理。
此模块为 AI 驱动的环境提供了一个治理层,从而能够跨智能体进行可扩展的编排。通过智能地引导请求和统一响应,Supervisor Agent 有助于可靠的执行、简化的监控和增强的用户体验。
Move Agent
Move Agent 生成分步 Python 代码。此过程包括以下步骤:
- 智能体接收网格上的起始位置和目标位置(例如,“3A 到 4B 北”),确定必要的移动,并将命令发送给适当的机器人。
- LLM Navigator AWS Lambda 函数使用 Strands Agents 为机器人生成移动指令。触发时,它会收到一个包含会话 ID 和指定机器人起始位置和目的地的输入文本的请求。然后,该函数调用 Strands Agent,发送请求并启用跟踪以进行调试。
- 智能体的响应由诸如向前移动厘米和转弯等移动命令组成。
- 这些命令在 S3 存储桶下的 CSV 文件中进行处理和记录。如果日志文件存在,则会追加新条目。否则,将创建一个新文件。
- 该函数返回一个 JSON 响应,其中包含生成的指令和执行请求所花费的时间。如果发生错误,则会返回结构化的错误消息。
此模块通过使用 AI 驱动的指令生成,为机器人提供了高效且可追溯的导航,同时保持了强大的日志记录机制以进行监控和调试。
Game Agent
Game Agent 充当对手,能够与人类用户对战。为增强可访问性,玩家使用移动端友好的 Web 门户与游戏进行交互,该门户包括一个用于管理 AI 驱动比赛的管理面板。LLM 玩家是一个无服务器应用程序,它结合了 AWS Lambda、Amazon DynamoDB 和 Strands Agent 来管理和自动化移动。它通过将移动历史记录存储在 Amazon DynamoDB 表中来跟踪游戏进度,从而可以在每次请求时重建当前的棋盘状态。游戏过程包括以下步骤:
- 当玩家走一步棋时,Supervisor Strands Agent 会检索该状态函数,然后调用 Strands Agent 函数来生成下一步棋。智能体的选择取决于玩家的标记(
‘X’或‘O’),确保为决策制定使用正确的模型。 - 智能体将当前的棋盘作为输入进行处理,并通过事件流返回推荐的下一步移动。
- 整个工作流程由 Supervisor Strands Agent 进行编排。该智能体接收 API 请求、验证输入、检索棋盘状态、调用 LLM 模型,并返回包含更新后游戏状态的结构化响应。
此系统支持实时、由 AI 驱动的游戏过程,使玩家能够与由 LLM 驱动的智能对手竞争。
利用计算机视觉为机器人导航提供支持
在我们的 RoboTic-Tac-Toe 项目中,计算机视觉在实现精确的机器人移动和游戏准确性方面起着至关重要的作用。让我们看看如何使用 AWS 服务和先进的计算机视觉技术来实现该解决方案。我们的设置包括一个安装在棋盘上方的树莓派摄像头,用于持续监控机器人的位置和移动。摄像头捕获的图像会自动上传到 Amazon S3,构成了我们视觉处理管道的基础。
我们使用主成分分析(PCA)来准确检测和跟踪棋盘上机器人的方向和位置。这项技术有助于降低维度,同时保持机器人跟踪所需的基本特征。方向角度是根据机器人的视觉特征的主成分计算得出的。
我们的 OpenCV 模块被容器化并部署为 Amazon SageMaker 端点。它会处理存储在 Amazon S3 中的图像,以确定以下内容:
- 机器人在棋盘上的精确位置
- 当前方向角度
- 移动验证
一个专用的 AWS Lambda 函数负责编排视觉处理工作流程。它处理以下内容:
- SageMaker 端点调用
- 视觉分析结果的处理
- 实时位置和方向更新
这种计算机视觉系统有助于实现准确的机器人导航和游戏状态跟踪,从而为 RoboTic-Tac-Toe 带来无缝的游戏体验。PCA 用于方向检测、OpenCV 用于图像处理以及 AWS 服务用于部署的结合,共同创建了一个强大且可扩展的计算机视觉解决方案。

结论
RoboTic-Tac-Toe 展示了 AI、机器人技术和云计算如何融合以创造交互式体验。该项目凸显了 AWS IoT、机器学习(ML)和生成式 AI 在游戏、教育等领域的潜力。随着 AI 驱动的机器人技术的不断发展,RoboTic-Tac-Toe 为智能、交互式游戏的未来提供了一瞥。
请继续关注未来的增强功能、扩展的游戏模式以及更多引人入胜的 AI 驱动的交互。
关于作者
Georges Hamieh 是亚马逊云计算服务(AWS)的一名高级技术客户经理,专注于数据和人工智能领域。他对创新和技术充满热情,与客户合作,加速他们的数字化转型和云采用之旅。作为一名经验丰富的公开演讲者和导师,乔治斯喜欢通过摄影捕捉生活,并与家人一起公路旅行探索新的目的地。
Mohamed Salah 是亚马逊云计算服务(AWS)的高级解决方案架构师,负责支持中东和北非地区的客户构建可扩展的智能云解决方案。他对生成式 AI、数字孪生以及帮助组织将创新转化为影响力充满热情。在工作之余,穆罕默德喜欢玩 PlayStation、搭建乐高积木以及与家人一起看电影。
Saddam Hussain 是亚马逊云计算服务(AWS)的高级解决方案架构师,专攻航空航天、生成式 AI 和创新与转型领域。他借鉴了 Amazon.com 在 AI/ML 和生成式 AI 方面的开创性历程,帮助组织了解已扩展到数百万客户的成熟方法和最佳实践。他的主要重点是帮助阿联酋的公共部门客户在 AWS 上进行创新,指导他们完成全面的云采用框架(CAF),以战略性地采用尖端技术,同时建立可持续的能力。
Dr. Omer Dawelbeit 是 AWS 的首席解决方案架构师。他热衷于解决复杂的技术挑战,并与客户密切合作,设计和实施可扩展、高影响力的解决方案。Omer 在初创公司、企业和大规模技术转型中拥有超过二十年的金融服务、公共部门和电信经验。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区