4月11日20:00-22:30
一、学习内容
1、A2A、MCP
两者都是为解决智能体协作与工具集成问题而诞生的工作模式。
A2A:实现不同AI智能体之间的直接通信与任务协同,打破“智能体孤岛”。这种跨平台AI智能体协作让我联想到我工作中的ROS程序的节点通信机制,例如传感器、控制算法的模块化协作。虽然两者应用领域完全不同,但是设计理念异曲同工。
MCP:传统的 AI 像个 “信息孤岛”,只能处理预设的数据。MCP 协议让 AI能像人类一样灵活调用各种工具(比如直接查公司数据库、修改代码),甚至串联多个工具完成复杂任务。简单说,MCP让AI从“只会聊天”升级成“能干活”的智能助手。
2、 A2A和MCP在Manus中的应用
Manus通过A2A 与 MCP 的协同支撑:
- MCP 协议为 Manus 提供了连接外部资源的 “硬件接口”,例如调用 API 获取数据、操作本地文件系统;
- A2A 协议为 Manus 提供了智能体间的 “软件协议”,例如任务分配、状态同步和结果整合。
二、代码优化
- 页面设计优化
三、需要解决的问题
目前主要的问题是遇到了Streamlit主线程与asyncio.run冲突问题:网页控制操作与聊天页面的数据没有办法同步,搜索发现是 asyncio.run 会阻塞 Streamlit 的主线程,导致页面无法及时更新。Streamlit 依赖主线程的事件循环来处理页面的渲染和更新操作,当 asyncio.run 运行时,主线程被阻塞,Streamlit 就没办法更新界面。
尝试过的方法:
1、使用全局变量
2、异步包装函数
也借助AI尝试帮我纠错,可能原本代码的逻辑上就出了点问题,这还需要进一步解决。
这两天出差。。。尽可能挤出时间完善.,,,,后续继续解决该问题,并补全之前提到功能。