周末折腾Ollama+A2A,差点把老婆的电脑搞崩了
首席.梁娟.猎人
2026-08-09 10:05
阅读 599
上周五晚11点,我盯着报错日志发呆。去年公司倒闭后,心里就没踏实过。现在白天写CRUD,晚上捣鼓技术,怕再失业时简历上只有Vue那点东西。
我在折腾什么
Google的A2A协议能让不同AI Agent互相通信协作,有标准的任务分发、协商和状态同步机制。我想用Ollama在本地跑模型,基于A2A搭一套Agent协作系统,纯本地部署,零成本学技术。
Ollama部署与踩坑
拉取qwen2.5:14b模型:
ollama pull qwen2.5:14b
启动后API默认只监听127.0.0.1,跨服务调用需设置:
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
理解A2A协议
核心概念:Agent Card(能力描述)、Task(任务单元)、Message(通信格式)、Artifact(产出物)。它用标准JSON处理异步任务、状态同步和错误重试,避免碎片化。我设计了两个模型实例:任务分发Agent和执行Agent,通过A2A通信。
实现与崩溃
用Python+FastAPI实现,核心分发逻辑:
@app.post("/a2a/tasks")
async def create_task(task_request: TaskRequest):
intent = await analyze_intent(task_request.user_input)
agent_card = match_agent(intent)
task = Task(
id=str(uuid.uuid4()),
status="pending",
agent_url=agent_card.url,
payload={"input": task_request.user_input}
)
async with httpx.AsyncClient() as client:
response = await client.post(
f"{agent_card.url}/a2a/tasks/{task.id}",
json=task.dict()
)
return task
同时跑3个模型实例时,内存飙至28G,电脑完全卡死。
资源优化
用Docker限制内存:
services:
ollama-distributor:
image: ollama/ollama:latest
deploy:
resources:
limits:
memory: 6G
environment:
- OLLAMA_HOST=0.0.0.0:11434
volumes:
- ./models:/root/.ollama
换用量化模型:
ollama pull qwen2.5:14b-instruct-q4_K_M
优化后总内存控制在15G内,A2A任务流转跑通,复杂任务约15秒完成。
心得与思考
本地部署AI已可行,M1芯片就能跑14B模型做原型验证。A2A协议解决Agent协作的真问题,能省去大量胶水代码。学习要有场景驱动,别追求完美,先跑通核心流程。公司会倒闭,技术会过时,但解决问题的能力不会。多一个技能,就少一份焦虑。
标签:OllamaA2A开发心得
为你推荐
暂无相关推荐

评论 0