当前位置: 首页 > news >正文

Kiro MCP + Bedrock 实战:IDE 里测 Prompt、查向量库、调试 RAG 一条龙

用 Kiro 写代码的时候,经常需要调用大模型 API——测试 prompt、验证 RAG 流程、调试 Agent 逻辑。以前的做法是:写完代码 → 切到终端跑脚本 → 看输出 → 回来改代码 → 再跑。

现在通过 MCP(Model Context Protocol)把 Kiro 和 Amazon Bedrock 连起来,在 IDE 里就能直接调模型、查向量库、测试 RAG pipeline。开发体验完全不一样了。

整体架构

Kiro IDE / CLI│├── MCP Server: bedrock-models(调用 Bedrock 模型)├── MCP Server: bedrock-kb(查询 Bedrock Knowledge Bases)└── MCP Server: s3-vectors(操作 S3 向量存储)

三个 MCP Server 分别对应不同能力:

  • bedrock-models:调用 Claude、Llama、Titan 等模型
  • bedrock-kb:查询已建好的 Bedrock 知识库
  • s3-vectors:直接操作 S3 Vectors 存储

配置 MCP 连接

在项目根目录创建 .kiro/mcp.json

{"mcpServers": {"bedrock-models": {"command": "npx","args": ["-y", "@anthropic-ai/bedrock-mcp-server"],"env": {"AWS_REGION": "us-east-1","AWS_PROFILE": "default"}},"bedrock-kb": {"command": "python3","args": ["-m", "bedrock_kb_mcp"],"env": {"KNOWLEDGE_BASE_ID": "YOUR_KB_ID","AWS_REGION": "us-east-1"}}}
}

确保本地有 AWS 凭证配置(~/.aws/credentials 或环境变量),然后重启 Kiro。

验证连接是否成功:

> @bedrock-models 用 Claude Sonnet 回答:什么是 RAG?

如果看到模型回复,说明连通了。

场景一:直接在 IDE 里测试 Prompt

写 prompt 模板时,不用切出去单独跑:

# prompts/summarize.py
SYSTEM_PROMPT = """你是一个文档摘要助手。
用户会给你一段长文本,你需要:
1. 提取 3-5 个核心观点
2. 每个观点不超过 30 字
3. 最后给出一句话总结"""

写完直接在 Kiro 里测试:

> @bedrock-models 用上面的 system prompt,输入这段文本测试效果:
> [粘贴一段示例文本]

Kiro 通过 MCP 调用 Bedrock,直接返回模型输出。不满意就改 prompt 再试,迭代速度快很多。

场景二:开发 RAG Pipeline

这是我实际做的一个项目——给公司内部文档建知识库。

步骤 1:准备向量存储

先用 S3 Vectors 存文档的向量表示:

import boto3
import jsons3vectors = boto3.client('s3vectors', region_name='us-east-1')# 创建向量索引
s3vectors.create_index(vectorBucketName='my-knowledge-vectors',indexName='internal-docs',dimension=1024,distanceMetric='cosine'
)

步骤 2:文档切片和嵌入

from langchain.text_splitter import RecursiveCharacterTextSplittersplitter = RecursiveCharacterTextSplitter(chunk_size=512,chunk_overlap=50
)# 切片
chunks = splitter.split_text(document_text)# 调 Bedrock Titan Embeddings 生成向量
bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')for i, chunk in enumerate(chunks):response = bedrock.invoke_model(modelId='amazon.titan-embed-text-v2:0',body=json.dumps({'inputText': chunk}))embedding = json.loads(response['body'].read())['embedding']# 写入 S3 Vectorss3vectors.put_vectors(vectorBucketName='my-knowledge-vectors',indexName='internal-docs',vectors=[{'key': f'doc-chunk-{i}','data': {'float32': embedding},'metadata': {'text': chunk, 'source': 'internal-wiki'}}])

步骤 3:在 Kiro 里测试检索

代码写完后直接在 Kiro 里验证:

> @bedrock-kb 查询 "如何配置生产环境的数据库连接池"

Kiro 通过 MCP 调用 Bedrock Knowledge Base 的 Retrieve API,返回相关文档片段和相关度分数。

如果检索效果不好,你可以直接问 Kiro:

> 检索结果不太相关,帮我分析可能的原因。当前 chunk_size=512,overlap=50,用的 Titan Embeddings v2

Kiro 会给你优化建议(比如调 chunk size、换切片策略、加 metadata 过滤等)。

步骤 4:完整 RAG 调用

def rag_query(question: str) -> str:# 1. 检索相关文档retrieval = bedrock_agent.retrieve(knowledgeBaseId='YOUR_KB_ID',retrievalQuery={'text': question},retrievalConfiguration={'vectorSearchConfiguration': {'numberOfResults': 5}})# 2. 拼接上下文context = '\n\n'.join([r['content']['text'] for r in retrieval['retrievalResults']])# 3. 调用 Claude 生成回答response = bedrock.invoke_model(modelId='anthropic.claude-sonnet-4-20250514',body=json.dumps({'messages': [{'role': 'user','content': f'根据以下参考文档回答问题。\n\n参考文档:\n{context}\n\n问题:{question}'}],'max_tokens': 1024}))return json.loads(response['body'].read())['content'][0]['text']

场景三:调试 Agent 工具调用

如果你在开发 Bedrock Agent,需要调试工具调用(Function Calling)的逻辑:

> @bedrock-models 用 Claude Sonnet,带这个 tool 定义测试:
> tool: search_database(query: str, limit: int) -> list
> 用户问:"帮我查最近一周的异常订单,最多显示 10 条"

Kiro 会展示模型的 tool_use 输出:

{"type": "tool_use","name": "search_database","input": {"query": "status=abnormal AND created_at >= now() - interval 7 days","limit": 10}
}

直接在 IDE 里就能看到模型是否正确理解了意图、参数是否合理。不需要部署完整的 Agent 才能测试。

开发效率提升

用了这套配置一周,对比之前的工作方式:

操作 以前 现在
测试一个 prompt 写脚本→终端跑→看输出→改→再跑 IDE 里直接试
验证 RAG 检索 写测试代码→跑→看日志 @bedrock-kb 直接查
调试 tool calling 部署 Agent→调用→看 CloudWatch 日志 IDE 里模拟
切换模型对比 改代码里的 modelId→重跑 对话里直接指定

保守估计,AI 应用开发的 debug 时间减少了 60%。主要省在"上下文切换"上——不用在 IDE、终端、AWS 控制台三个地方来回跳。

成本控制

通过 MCP 调用 Bedrock 和直接用 SDK 调用没有区别,按 Bedrock 标准 token 计费。几个控制成本的小技巧:

  1. 开发阶段用 Haiku:测试 prompt 逻辑时用 Claude Haiku(成本是 Sonnet 的 1/10),确认没问题了再切 Sonnet
  2. Titan Embeddings 很便宜:生成嵌入向量的成本远低于调用大模型,不用省着用
  3. Knowledge Base 检索免费:Retrieve API 本身不收费,只有底层存储(OpenSearch/S3 Vectors)按量计费

前置要求

  • Kiro IDE 或 CLI(任意版本)
  • AWS 账号,开通了 Bedrock 模型访问权限
  • Node.js 18+(运行 MCP Server)
  • 本地 AWS 凭证配置

如果还没开通 Bedrock 模型访问,去 AWS 控制台 → Bedrock → Model access 里勾选需要的模型,审批通常秒过。

小结

Kiro + Bedrock 通过 MCP 打通后,AI 应用开发变成了一个完整的闭环:

写代码 → 测试 prompt → 验证检索 → 调试 Agent → 优化迭代

全在一个工具里完成,不用在 5 个窗口之间来回切。对于做 RAG、Agent、AI 应用的开发者来说,这就是从"手动挡"换到"自动挡"的体验。

Kiro MCP 配置文档:https://kiro.dev/docs/

Amazon Bedrock 文档:https://docs.aws.amazon.com/bedrock/


Kiro 由亚马逊云科技提供支持。Amazon Bedrock 按量计费,无预付费。

http://www.rkmt.cn/news/1429684.html

相关文章:

  • 修复了国外服务器出现的错误
  • 深度解析10款降AI率网站:找到导师推荐的“无痕降AIGC”终极方案
  • Pythonasyncio子进程管理
  • 从“水缸”到“高速公路”:用生活化比喻彻底搞懂电容的滤波、旁路与去耦(附LTspice仿真)
  • 原型设计工具对比与校园失物招领系统原型设计
  • 别再只会用PEC了!CST材料库保姆级使用指南:从Normal介质到Lossy Metal的实战选择
  • 科瑞昌省电空调选购指南:工业大空间降温选型全攻略 - 资讯纵览
  • Android音乐播放器实战工程:带用户系统、本地数据库与四大组件完整实现
  • 智能电视上网难?TV Bro电视浏览器如何让大屏浏览变得轻松愉悦?
  • 2026护网行动全指南(干货版):从认知到实战,攻防落地可照搬
  • Windows安卓应用安装器:三步实现电脑运行手机应用
  • 3步掌握Unity游戏马赛克移除:UniversalUnityDemosaics完整指南
  • 微信聊天记录永久保存终极指南:如何一键导出所有聊天数据
  • 破解雨衣批发痛点:FEP一体化方法论如何实现高性价比稳定供应? - 资讯纵览
  • 【AI运维生死线】:当LangChain链式调用突然卡死——3层异步栈追踪+实时可观测性注入方案
  • 怎样高效使用Diffuse:专业开发者的5个实战技巧与深度配置指南
  • 10-大模型智能体开发工程师:RAG检索增强生成
  • AI工具更新日志追踪SOP(已落地金融/医疗/电商三大场景):从告警阈值设定到负责人自动分派,含Notion+Zapier实战模板
  • 深度解析:雨衣批发 行业趋势与优质供应选型指南 - 资讯纵览
  • 基于Micro:bit与加速度计的无线门磁报警器DIY实战
  • Bootstrap方法避坑指南:从原理到R实战,告诉你什么时候该用,什么时候不该用
  • 2026年5月劳力士售后保养价格与全国服务网点 - 资讯纵览
  • 2026年4月国内有实力的楼体亮化直销厂家有哪些,热门的楼体亮化厂家,楼体亮化提升城市夜间品质 - 品牌推荐师
  • 解密Ryzen硬件调谐:从系统黑盒到性能架构的艺术
  • 管束抽芯机厂商哪家靠谱
  • 告别硬件SPI!用STM32的普通IO口模拟SPI,成功驱动PCAP01电容测量芯片
  • 基于Python与Raspberry Pi的Bing图像搜索脚本开发指南
  • 2026年苏州本地口碑良好防水补漏服务商核心能力与适配场景专业解析 专业防水公司排名推荐(2026年5月防水补漏最新TOP权威排名) - 鼎壹万修缮说
  • 基于Arduino与RFID的智能音乐点播系统:从硬件选型到软件实现全解析
  • 用Python+OpenCV给贵州常见植物做个‘身份证’:从茅栗到楮的自动识别实践