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

Kiro + Amazon Bedrock:在 AI IDE 里直接调大模型,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.gsyq.cn/news/1429611.html

相关文章:

  • 5分钟让VR视频在普通电脑上动起来:VR-Reversal 3D转2D技术揭秘
  • Bandizip免费版真香!小白也能秒安装的教程
  • 累计服务超10000户 泰州本地不锈钢橱柜厂家推荐 - 资讯纵览
  • 【独家首发】Google内部未公开的Gemini商用准入清单:金融/医疗/政务三大高合规场景准入红线解析
  • 杭州黄金回收商情快讯:奢响佳品牌究竟如何 - 生活测评君
  • Motrix浏览器插件:免费下载加速神器,轻松提升下载效率
  • 泰州本地不锈钢橱柜厂家推荐:LIFE方法论如何打造省心耐用厨房? - 资讯纵览
  • 2026年普通人提升攻略:无特长也能悄悄变优秀
  • MobileNet-Yolo:如何让AI目标检测在移动设备上飞起来?
  • 深度解析G-Helper:华硕笔记本的终极性能调优方案
  • 太极拳动作比对工具:支持图片/摄像头输入、关键点可视化与标准姿势自动评分
  • 别只盯着电源!有刷电机EMI整改,搞定“电火花”这个高频刺头才是关键(附PCB屏蔽接地技巧)
  • 大学生 AI 就业破局:别再海投,用智能体打造硬核竞争力
  • ZEISS INRADIA 系列在线X射线检测设备守住电池安全底线
  • MATLAB图像去噪实战包:DnCNN、BM3D等5类算法+Set12测试+PSNR/SSIM自动评估
  • 番茄小说下载器:三步实现离线阅读自由的专业方案
  • Windows 11优化终极指南:5步让你的电脑重获新生
  • 业绩翻两番:免漆木门经销商的增长秘诀 - 资讯纵览
  • 网盘直链下载助手:技术深度解析与实战指南
  • SQLite Viewer终极指南:如何在浏览器中零安装查看和管理SQLite数据库
  • Go语言微服务安全与可靠性最佳实践
  • DWG 格式兼容转换的实战应用与价值落地
  • 破解免漆木门行业痛点:四稳共赢方法论如何打造高口碑产品? - 资讯纵览
  • 3DS自制软件管理终极指南:Universal-Updater一键安装与更新完整教程
  • 5/17(3)
  • 编写二手闲置精品甄选定价程序,根据成色市场行情,智能给出合理转卖价。
  • 基于Arduino的RC遥控车与激光计时系统DIY全攻略
  • 5/16(2)
  • 别再为CFD-POST云图毛刺抓狂了!手把手教你排查Fluent后处理显示异常(附完整流程)
  • 如何5分钟完成Honey Select 2终极汉化去码补丁安装:完整新手指南