Cách Tiếp Cận Mới Trong Lập Trình: Khám Phá Hackathon Cùng Kiro
Trong một hackathon gần đây, chúng tôi đã quyết định xây dựng một máy chủ MCP (MCP Server) bằng Python để giúp các tác nhân AI hiểu rõ hơn về các gói Python. Ban đầu, chúng tôi nghĩ rằng sẽ chỉ cần phân tích một số tệp phụ thuộc, truy cập API PyPI và trả về dữ liệu metadata.
Nhưng điều thú vị đã xảy ra. Thay vì lao vào việc viết mã ngay lập tức, chúng tôi đã dành nhiều thời gian để mô tả chính xác những gì mình muốn. Không chỉ đơn thuần là "xây dựng máy chủ MCP", mà là những thông số chi tiết.
Chúng tôi không còn viết mã nữa. Chúng tôi đang thực hiện việc lập kế hoạch.
Khám Phá Chỉ Dẫn Đầu Tiên
Làm việc với Kiro mang lại cảm giác khác biệt so với bất kỳ trải nghiệm lập trình nào mà chúng tôi đã từng có. Chúng tôi không viết hàm hay gỡ lỗi lỗi cú pháp. Thay vào đó, chúng tôi đang thảo luận về ý định.
Càng chính xác trong việc mô tả thông số, chúng tôi càng nhận được kết quả tốt hơn. Nó giống như cuộc nói chuyện của Sean Grove (OpenAI) về phát triển theo chỉ dẫn đang trở thành hiện thực. Thông số không phải là tài liệu được viết sau mà là hiện vật chính mà mọi thứ khác bắt nguồn từ đó.
Mã Ví Dụ
Dưới đây là một ví dụ về mã mà chúng tôi đã tạo ra:
python
@mcp.tool(description="Phân tích phụ thuộc dự án...")
def analyze_project_dependencies(
project_path: Optional[str] = None,
) -> Dict[str, Any]:
"""Trích xuất phụ thuộc từ requirements.txt, pyproject.toml, v.v."""
path = project_path or os.getcwd()
info = _analyzer.analyze_project(path)
return to_serializable(info)
Mã này không chỉ đơn thuần là mã được sinh ra mà là sự thể hiện của một thông số. Docstring, gợi ý kiểu dữ liệu, xử lý lỗi, thậm chí cả quy ước đặt tên biến đều xuất phát từ việc giao tiếp ý định rõ ràng.
Những Gì Đã Được Xây Dựng
Máy chủ MCP cuối cùng đã thực hiện chính xác những gì chúng tôi đã mô tả:
- analyze_project_dependencies: Quét nhiều định dạng tệp phụ thuộc với bộ nhớ đệm dựa trên thời gian sửa đổi.
- get_package_metadata: Tra cứu dựa trên máy địa phương với sự sao lưu từ PyPI.
- search_packages: Tìm kiếm PyPI với chế độ sao lưu thông minh cho tên chính xác.
- check_package_compatibility: Phát hiện xung đột phiên bản.
- get_latest_version: Tra cứu phiên bản mới nhất với việc xử lý bản phát hành trước.
Nhưng điều thú vị là chúng tôi không viết phần lớn mã này. Chúng tôi đã chỉ định hành vi, và Kiro đã dịch thông số đó thành phần mềm hoạt động. Chiến lược dựa trên máy địa phương, bộ nhớ đệm thông minh, xử lý lỗi linh hoạt, tất cả đều xuất phát từ việc giao tiếp rõ ràng về ý định.
Chúng tôi đang viết các quy tắc cơ bản, và hệ thống đang diễn giải và thực hiện chúng một cách nhất quán trên toàn bộ mã nguồn.
Tương Lai Là Phát Triển Theo Chỉ Dẫn
Hackathon này đã khiến chúng tôi nhận ra một điều sâu sắc: chúng tôi đang chứng kiến sự xuất hiện của phát triển theo chỉ dẫn như là mô hình lập trình chính. Giống như Sean Grove đã nói, các thông số đang trở thành đơn vị cơ bản của lập trình, không phải mã.
Hãy nghĩ về điều này: khi chúng tôi chỉ định "metadata dựa trên máy địa phương với sự sao lưu từ PyPI", Kiro không chỉ thực hiện một hàm. Nó hiểu những tác động kiến trúc, các mẫu xử lý lỗi, các yếu tố hiệu suất thông qua tài liệu chỉ dẫn. Thông số trở nên có thể thực thi.
Điều này cảm giác như một sự chuyển mình cơ bản. Trong thế giới cũ, chúng tôi viết mã và hy vọng nó khớp với ý định của chúng tôi. Trong thế giới mới này, chúng tôi viết các thông số và hệ thống đảm bảo rằng chúng được thực hiện chính xác và nhất quán.
Kỹ năng quý giá nhất không còn là cú pháp nữa - mà là khả năng giao tiếp ý định một cách chính xác. Có thể diễn đạt chính xác những gì bạn muốn, với tất cả các trường hợp biên và các yếu tố kiến trúc, đó là siêu năng lực mới.
Ý Nghĩa Của Điều Này
Chúng tôi bước vào hackathon này với suy nghĩ rằng sẽ xây dựng một máy chủ MCP đơn giản. Chúng tôi bước ra với nhận thức rằng chúng tôi đã trải nghiệm tương lai của phát triển phần mềm.
Mã tồn tại, nó hoạt động, nó sẵn sàng cho sản xuất. Nhưng quan trọng hơn, nó tồn tại như một sự dịch chuyển trực tiếp từ ý định của con người sang hành vi của máy. Các thông số là nguồn sự thật mà đã biên dịch thành phần mềm hoạt động.
Chúng tôi không chỉ xây dựng các công cụ tốt hơn - chúng tôi đang thay đổi cơ bản cách mà phần mềm được tạo ra. Và thành thật mà nói? Nó cảm thấy thật thú vị.
Được xây dựng trong một hackathon sử dụng Kiro. Mã nguồn và thông số đầy đủ có sẵn trên GitHub.
Tác giả bài viết này là sự hợp tác với các thành viên trong nhóm của tôi: Vamsi Praveen Karanam và Kartheek Penagamuri.