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上架,企業應用還是太單薄了。