Kiro应用评测
Kiro 是一个由亚马逊推出的 AI 驱动的智能开发环境,从原型到生产全程陪伴您的开发过程。它将"灵感编程"的流畅性与规范的清晰性相结合,帮助您更快地构建更好的软件。
昨天收到了Kiro的试用邮件,收到邮件后第一时间下载了Kiro并试用了一下,效果还不错,并根据日常能用到的功能进行了测试。
本次测试将以日常项目开发为基础,从一下几个方面进行应用测试:
- 英文识别率
- 中文识别率
- 图片设计的转化率
- 首次代码生成能力
- 修改代码生成能力
- 复杂逻辑生成能力
- 生成速度
- 费用
测试前的准备
- 下载并安装Kiro,从邮件上直接点击Download就可以到Kiro的下载页面,并下载安装。
- 第一次打开Kiro需要登陆,我这里使用github账号登陆。登陆成功后需要输入邀请码,完成这些步骤后就可以开始使用了。
- 打开后的Kiro界面是这样的。和vscode、Trae风格差不多,紫色系。
- Kiro提供了2中开发模式,分别是Vibe和Spec。简单来说就是简单任务用Vibe,复杂任务用Spec。我们来看看Kiro帮助文档是如何推荐我们使用的。
何时使用 Vibe
- 交互式问答格式:Vibe 会话针对代码的来回对话进行了优化,允许您提出问题并获得即时响应。
- 快速帮助:它们非常适合快速回答编码问题、解释代码行为或理解概念,而无需经过正式的规范过程。
- 上下文理解:与其他 Kiro 会话一样,Vibe 会话利用上下文提供者来理解您的代码库,但重点是解释而不是大量代码生成。
- 灵活的方法:与 Spec 会话相比,Vibe 会话提供了更流畅、更少结构化的方法,使其适合探索性编码和学习。
何时使用 Spec
- 复杂的开发任务:对于构建复杂功能、整个应用程序或需要仔细规划和执行的重大重构,请使用 Spec 会话。
- 结构化方法:当您需要一种有条理的、循序渐进的开发方法,并清楚记录需求和实施细节时。
- 团队协作:对于多个团队成员需要理解实施计划并根据规范跟踪进度的项目。
- 文档需求:当您希望在代码实施的同时生成详细文档,以供将来参考或知识共享时。
Spec是Kiro的特色,它完全模仿我们日常开发的流程,从用户故事⇒需求说明⇒系统设计⇒任务开发⇒测试上线。
测试过程
整个测试过程我们会创建一个Web应用,模拟太阳系的运行,实现3D可拖拽的展示风格。
首次代码生成能力
- 我们输入下面的Prompt,等待一会儿就可以得到输出。
`Create a web application, simulate the solar system.`
可以看到,这里使用了Claude Sonnet 4.0版本,自动生成了三个文件
- index.html
- script.js
- styles.css
我看了一下生成的代码,和人工写的区别不大,在后期运维和修改还是可行的。
- 我们希望把生成的项目运行起来,我们继续输入
`launch the web site.`
Kiro自动识别了运行网站的需求,并等到我确认是否执行命令。我们点击运行,会自动打开浏览器
第一个版本已经可以成功运行了,我们其实就只输入了一个想法,Kiro就自动生成了一个完整的网站,并且展示效果和我们期望的出入不大,从这点来看效果还是很不错的。并且细节部分也考虑的很周到,可以看到行星的轨道,月球也生成出来了,并且可以看到月球绕地球旋转的轨道。另外如果注意看,地球还用了渐变色,蓝绿色的渐变。太阳自带了光晕效果。
修改代码生成能力
代码修改能力主要考验AI是不是能以现有代码为基础,根据我们进一步的需求,修改代码以实现我们的要求。我们让Kiro将网站改为三维的宇宙,可以通过鼠标拖动界面,支持缩放。
- 输入以下提示词
`Make the web view as 3D, the view can be dragged in 3d.`
这次需要等待一会儿,大概5分钟左右就会完成。看了一下用量,大概每个需求的调整的Vibe的用量大概在2-3。
展示效果还是不错的,实现了页面的三维拖动、放大缩小效果。
2. 进一步调整页面布局。
`Make the web view full screen, move controls and instructions to upper right without background.`
这次调整是想页面全屏展示,将下方的操作按钮放到页面的右上角,并且不要有黑色的背景。
复杂逻辑生成能力
复杂逻辑的生成能力使用Spec模式,输入一个完整的需求文档,让大模型根据需求文档来修改代码。
下面就是输入的需求文档,这个文档使用豆包根据我的需求生成的。主要的需求是“通过点击地球,可以放大地球,需要详细描绘地球的细节,同时生成地球周围的卫星、航天飞机”
# Requirements Document## IntroductionThis feature enhances the existing 3D Solar System Simulator by implementing a detailed Earth zoom functionality. When users click on Earth, the view will smoothly transition to a close-up view showing Earth with realistic surface details, atmospheric effects, dynamic weather patterns, and surrounding spacecraft including satellites, the International Space Station, and space shuttles. The feature aims to provide an educational and visually stunning representation of Earth and human space activities.## Requirements### Requirement 1: Earth Click and Zoom Animation**User Story:** As a user exploring the solar system, I want to click on Earth and see a smooth zoom animation that brings me to a detailed view of Earth, so that I can explore our planet in greater detail.#### Acceptance Criteria1. WHEN the user clicks on Earth in the main solar system view THEN the system SHALL initiate a smooth camera animation that zooms in on Earth
2. WHEN the zoom animation begins THEN the system SHALL gradually fade out the background solar system elements (other planets, orbits, sun)
3. WHEN the zoom animation completes THEN Earth SHALL occupy approximately 80% of the field of view
4. WHEN the detailed Earth view is active THEN the system SHALL display a "Back to Solar System" control button
5. WHEN the user clicks the "Back to Solar System" button THEN the system SHALL smoothly zoom out and restore the full solar system view### Requirement 2: Detailed Earth Surface Rendering**User Story:** As a user viewing the detailed Earth, I want to see realistic surface features including continents, oceans, and topographical details, so that I can recognize familiar geographical features.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display Earth as an irregular sphere with 71% blue ocean coverage and 29% land coverage
2. WHEN displaying oceans THEN the system SHALL show gradient colors from light blue to dark blue based on depth and plankton distribution
3. WHEN displaying land masses THEN the system SHALL show appropriate colors: dark green for Amazon rainforest, brownish-yellow for Sahara Desert, grayish-white for Qinghai-Tibet Plateau
4. WHEN displaying coastlines THEN the system SHALL show tortuous edges with visible peninsulas (Arabian Peninsula), islands (Indonesian archipelago), and coral reefs (Great Barrier Reef)
5. WHEN displaying mountainous regions THEN the system SHALL show white snow coverage on high-altitude areas (Himalayas, Andes) with light and shadow effects
6. WHEN displaying polar regions THEN the system SHALL show white sea ice in Arctic with broken ice shelves and white ice sheets in Antarctica with exposed black rocks### Requirement 3: Atmospheric and Weather Effects**User Story:** As a user observing Earth, I want to see realistic atmospheric layers and dynamic weather patterns, so that I can understand Earth's atmospheric system and weather dynamics.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display a visible atmosphere with a thin light blue ionosphere as the outermost layer
2. WHEN displaying weather THEN the system SHALL show white and gray clouds floating in the troposphere with different cloud types: cotton-like cumulonimbus near equator and veil-like stratus in mid-latitudes
3. WHEN animating weather THEN the system SHALL show clouds moving slowly with wind effects including hurricane vortex over Atlantic Ocean with dark gray eye and spiral cloud bands
4. WHEN displaying atmospheric effects THEN the system SHALL show appropriate light scattering and atmospheric glow effects### Requirement 4: Earth Rotation and Day/Night Cycle**User Story:** As a user watching Earth, I want to see realistic rotation and day/night transitions, so that I can observe how Earth experiences day and night cycles.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL rotate Earth slowly with a 24-hour period simulation
2. WHEN Earth rotates THEN the system SHALL show the terminator (day/night boundary) moving from east to west
3. WHEN displaying the day side THEN the system SHALL show bright natural colors with strong surface reflection in equatorial regions
4. WHEN displaying the night side THEN the system SHALL show darkened areas in dark blue with visible city lights as dots and linear patterns
5. WHEN showing city lights THEN the system SHALL display the most dense light belts in Northern Hemisphere mid-latitudes (Western Europe, eastern China, northeastern United States)
6. WHEN displaying sunlight angles THEN the system SHALL show direct sunlight at equator with strong reflection and oblique sunlight at poles with soft lighting and silvery ice reflection### Requirement 5: Natural Satellite - The Moon**User Story:** As a user exploring the Earth system, I want to see the Moon in its proper orbital position with realistic appearance and phases, so that I can understand the Earth-Moon system.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display the Moon at approximately 380,000 kilometers distance as a distant grayish-white sphere
2. WHEN displaying the Moon THEN the system SHALL show black craters and dark gray maria areas (Oceanus Procellarum, Mare Imbrium)
3. WHEN simulating time progression THEN the system SHALL show dynamic lunar phases (full moon, crescent moon) that change with simulation time
4. WHEN the Moon is visible THEN the system SHALL maintain proper orbital mechanics and positioning relative to Earth### Requirement 6: Artificial Satellites in Various Orbits**User Story:** As a user interested in space technology, I want to see different types of artificial satellites in their proper orbits around Earth, so that I can learn about human space infrastructure.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display 3-4 geosynchronous satellites located 36,000 kilometers above the equator
2. WHEN displaying geosynchronous satellites THEN the system SHALL show cylindrical or rectangular structures with solar panels (dark blue or silver-gray with grid textures) that always face the sun
3. WHEN showing geosynchronous satellites THEN the system SHALL display antennas and sensor compartments while maintaining stationary position synchronized with Earth's rotation
4. WHEN Earth is in detailed view THEN the system SHALL display 2-3 polar orbit satellites with 90° inclination operating north-south
5. WHEN displaying polar orbit satellites THEN the system SHALL show car-sized objects with multiple remote sensing lenses and radar antennas passing quickly over polar regions
6. WHEN satellites are visible THEN the system SHALL maintain realistic orbital speeds and trajectories for each satellite type### Requirement 7: International Space Station (ISS)**User Story:** As a user exploring near-Earth space, I want to see the International Space Station with its distinctive modular structure, so that I can appreciate this major achievement in international cooperation.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display the ISS as a large modular spacecraft at approximately 400 kilometers altitude
2. WHEN displaying the ISS THEN the system SHALL show the T-shaped structure composed of cylindrical Russian modules and truss-type American solar arrays
3. WHEN showing ISS details THEN the system SHALL display large silver solar panels with dark blue battery cells, visible docking ports, and robotic arms
4. WHEN animating the ISS THEN the system SHALL show it orbiting Earth at 7.8 km/s, passing over the equator approximately every 90 minutes
5. WHEN the ISS is visible THEN the system SHALL maintain realistic orbital mechanics and positioning### Requirement 8: Space Shuttles**User Story:** As a user interested in space exploration history, I want to see space shuttles in orbit with realistic details and mission scenarios, so that I can learn about human spaceflight capabilities.#### Acceptance Criteria1. WHEN Earth is in detailed view THEN the system SHALL display 1 space shuttle in low-Earth orbit at approximately 350 kilometers altitude
2. WHEN displaying the space shuttle THEN the system SHALL show white fuselage with black heat-resistant tiles arranged regularly on wings and belly
3. WHEN showing shuttle details THEN the system SHALL display clear delta wing structure and 3 main engine nozzles at the tail
4. WHEN the shuttle is active THEN the system SHALL show it either docking with the space station (facing station with robotic arm ready) or performing independent tasks (releasing satellites from cargo bay)
5. IF simulating atmospheric reentry THEN the system MAY display 1 shuttle with orange-red plasma wake around fuselage and nose-down diving attitude### Requirement 9: Interactive Earth Exploration**User Story:** As a user in the detailed Earth view, I want to interact with Earth's surface and surrounding objects to get more information, so that I can learn specific details about geographical features and space objects.#### Acceptance Criteria1. WHEN in detailed Earth view THEN the system SHALL allow users to rotate Earth by dragging the mouse to observe different hemispheres
2. WHEN users drag to rotate THEN the system SHALL smoothly transition between views (Asia to Americas, focus on Antarctic ice sheet)
3. WHEN users click on specific Earth surface areas THEN the system SHALL display information pop-ups with relevant details (Mount Everest: 8848.86 meters, New York City: population 8.8 million)
4. WHEN users click on satellites or spacecraft THEN the system SHALL display their names and mission types (GPS satellite: global positioning services, Endeavour shuttle: 25th manned mission)
5. WHEN information pop-ups are displayed THEN the system SHALL provide a clear way to close them and return to exploration### Requirement 10: Performance and Visual Quality**User Story:** As a user experiencing the detailed Earth view, I want smooth performance and high visual quality, so that the educational experience is engaging and immersive.#### Acceptance Criteria1. WHEN transitioning to detailed Earth view THEN the system SHALL maintain smooth frame rates (minimum 30 FPS) during all animations
2. WHEN displaying detailed Earth THEN the system SHALL render all surface features, atmospheric effects, and space objects without significant performance degradation
3. WHEN showing dynamic effects THEN the system SHALL smoothly animate cloud movement, Earth rotation, and orbital mechanics
4. WHEN multiple objects are visible THEN the system SHALL efficiently manage rendering to maintain performance
5. WHEN users interact with the view THEN the system SHALL respond immediately to mouse and keyboard inputs without lag
Spec会按照Requirements、Design、TaskList的顺序执行。
Requirements
Design
Task List
点击每个Task上的Start task,下面是最终完成的效果。这里没有全部走完,运行了4个task,实现了地球的选中和显示,星球的自转等功能。
在测试的时候我是等每个Task执行完成后再点下一个Task上的Start
Task的,我也是在想这个就不能批量执行吗,难道要一直看着吗。后来无意中连续点了多个Start
Task才发现,是可以点多个的,后面的几个Task会加入到执行队列,依次执行。
中文识别率
之前一直使用的是使用英文的提示词,这里我们试一下使用中文提示词是否也是一样的效果。这里尝试直接输入中文提示词,测试生成代码的情况。
`增加随机流星的效果`
从测试效果来看,以中文格式输入,无论Vibe还是Spec模式,模型的输出都会切换为中文,这点还是很友善的。第一次尝试用中文输入,生成的结果是定位到了一个test页面,关闭再重新来一次打开才正常。相比来说应该采用英文是更合适的,模型能够理解的更好。中文是不是偶然的情况还是需要多尝试。
根据图片生成页面
输入下面这张驾驶舱图片
几轮Task执行下来的效果,对比下来出入还是挺大的。
费用
最近测试阶段,Vibe和Spec都赠送了100点。另外免费用户,每个月赠送50点的Vibe用量,无法使用Spec功能。
收费用户的话PRO是每个月20美元,PRO+是40美元,区别应该都是点数不同。另外超过额度的 0.04美元/vibe,0.20美元/spec。
根据这次测试的用量大概估算了一下:
每次vibe交互,使用2-3个vibe点数;每次执行spec的task,会消耗1个spec,同时也会消耗4-5个vibe点数,所以累加起来,每个spec task大概是0.30-0.50美元不等,一般spec会在十多个,按10个算的话,一次完整的spec代码生成的费用大概在3-5美元。
总结
Kiro给我的使用体验还是不错的,主要是将开放式的操作和流程式的引导融合到了一起,将日常项目开发的项目管理过程引入了软件中,功能沟通、需求说明书生成、系统设计、任务拆分、任务执行,最终实现一次功能迭代。但是也有写不足的地方,首先是Kiro主要是以spec形式的代码生成为主,所以没有代码辅助功能,特别是有些代码希望手工调整的时候,无法得到AI的辅助。
还有点个人的体验说明,看了一下Kiro生成的文档和代码,整体感觉上比较啰嗦,或者说考虑的比较周到,面面俱全。特别是Spec模式,每次一的Spec执行他都会认为是一次完整的程序生成,包括测试、打包、部署。
- 中、英文识别率
无论使用中文、英文Kiro都可以识别,并且答复的语言也是按照输入的语言来的。但是从个人使用安觉来时,更认英文。(没有定量指标,这里完全是自己用下来的感觉)
- 图片设计的转化率
从设计稿到页面的转化还不是很理想,虽然能生成可以运行的网页,但是和原始稿对比内容是缺的,样式的匹配程度还是不够的。
- 首次代码生成能力
首次代码生成能力还是不错的,就像本次测试中,可以根据一句话就直接生成一个网站,并且运行效果还不错。
- 修改代码生成能力
后续的几轮代码修改效果也可以接受。之前用过vscode的cline,对代码的修改要求理解不透彻,经常一个需求改来改去,恨不得自己下场改。Kiro还没有发现有类似的问题。
- 复杂逻辑生成能力
Spec的使用效果和Vibe的其实差不多,更高级的地方是自动生成的requirement、design和tasklist,最后tasklist应该还是转换为vibe的方式来生成的。总体感觉是考虑的太细致了。
- 生成速度
生成速度是挺快的,一般一个vibe在2、3分钟可以完成,一个spec的task可以在10分钟内完成。不知道是不是在preview阶段用的人比较少。
- 费用
自己用用免费的自己开发着玩应该是够了, spec可以用豆包代替,就是要自己一条条刷task有点累。Kiro应该更适合个人开发者,快速开发一些小的app上架,企业应用还是太单薄了。