在黑暗中摸索:与我可靠的同事的旅程

发布: (2025年12月5日 GMT+8 10:45)
6 min read
原文: Dev.to

Source: Dev.to

项目概述

本项目是为 Kiroween(AWS 主办的万圣节主题黑客马拉松,庆祝其 AI 编码代理 Kiro)而构建的。
挑战:在一个月内使用 Kiro 创造一些有创意的作品。

对我而言,这真的是在黑暗中摸索——我的第一次线上黑客马拉松,没有视频制作经验,日语单独开发,却要用英文提交所有内容。

MairuCLI 是一个教育型 CLI 包装器,能够检测并阻止危险命令。
“Mairu”(参る)是日语中表示“困扰”或“被击败”的词,也是对“Kiro”的文字游戏。当你在 CLI 中输入危险命令时,会出现万圣节主题的警告并教你为什么它危险。

关键特性

  • 🔥 11 种危险模式检测 – 如 rm -rf /chmod 777ddDROP DATABASE、fork 炸弹等
  • 🎃 万圣节主题警告 – ASCII 艺术和教学信息
  • 📚 教育性拆解 – 解释命令的每个部分,并模拟执行后的结果
  • 🏆 成就系统 – 游戏化让学习更有趣
  • 🚂 拼写娱乐 – 输入 sl 会出现一列蒸汽机车
  • 🛡️ 系统目录保护 – 保护 Windows、Linux、macOS 上的系统文件夹

技术成就

  • 300+ 自动化测试(100 % 通过)
  • 16 个 Steering 文件
  • 6 套完整 Specs
  • 跨平台支持(Windows、Linux、macOS)

资源

  • Devpost:
  • GitHub 仓库:
  • 演示视频:

遇到的障碍

  • 没有线上黑客马拉松经验 – 提交标准和评审流程不明确
  • 没有视频制作经验 – 不知道如何制作演示视频
  • 语言障碍 – 所有提交(README、视频旁白等)必须使用英文,而我的英文并不流利
  • 时间紧张 – 开发被日常工作挤压,很多天没有连续的时间块
  • 单人开发 – 虽然是公司项目,但除 UAT 外的所有工作都由我一人完成

开发时间线

  • 总开发时间:≈ 30 小时
  • 前 6 小时:完成核心功能(8 个内置命令、5 种危险模式检测、万圣节主题显示系统)——首次体验 Spec‑Driven Development
  • display.py(400 行)重构为 7 个模块:预计 2.5–3 小时,实际 20 分钟(≈ 7.5–9 倍效率提升)
  • 实现 3 级警告系统(Critical/Caution/Safe)、IT 文字游戏以及 35 条自动化测试
  • 为 Windows、Linux、macOS 添加系统目录保护
  • builtins.py(719 行)拆分为 7 个模块,创建基于分类的变体系统、通用拼写检测和教学拆解 Specs
  • 解决平台特定问题(如 macOS 的 locale.getpreferredencoding()、Linux 上的 mkfs /dev/sda 检测)

AI 协作洞察

  • 与 Kiro 配对编程 的感觉非常自然;AI 更像是值得信赖的同事,而不是遥远的工具。
  • 其他 AI 代理(如 Claude Code)同样精准,但比较的重点不在“谁更好”,而在它们如何融入工作流。
  • Steering 的局限:Steering 文件过多时仍受上下文窗口限制,管理它们本身就成了一个元挑战。
  • AI “理解”:正如第 10 天发现的,AI 能把命令标记为“危险”,却并未真正理解危险的概念——这是当前模型的固有局限。

这些观察不是批评,而是随着 AI 协作深入需要解决的挑战。

ASCII 艺术实验

我希望 CLI 能在游戏化之外也保持趣味,于是尝试自动生成 ASCII 艺术(例如使用 DALL‑E 3)。结果令人失望,最终只能手工绘制:

        ,.,. ,.,.
       ,d$$$$$$$$$$$b.
     ,d$$$$$$$$$$$$$$$b.
    d$$$$$$`   `'$$$$$$$b
   d$$$$$  .---.    '$$$$b
  d$$$$$  /  _  \    |$$$$b
 d$$$$$|  | (O) |    |$$$$$b
 $$$$$$|  `.___.'  , |$$$$$$
_$$$$$$|     ;     : |$$$$$$_
 `$$$$$;    / \    ; $$$$$$'
  `$$$$$b.  `-'  .d$$$$$$'
    `$$$$$b.....d$$$$$$'
      `$$$$$$$$$$$$$$'
        `"$$$$$$$$"'
   ..::;d########b;::..
 .:::::;##########;::::::.
.::::::;##########;:::::::.
'::::::'##########':::::::'

手工雕刻的南瓜灯花了大约一个小时,说明有些任务仍然需要人工投入。

Bug 事件(“幽灵”)

在开发后期,运行 rm -rf / 时详细解释部分消失。问题追溯到一次 相对路径 错误——在重构拆解和帮助显示文件后执行了 cd(更改目录)操作。

解决办法: 改为使用 绝对路径,并添加了一个 Steering 文件(被视作 ofuda 符咒)以防类似问题再次出现。

此 bug 表明:

  • 多操作测试对仅靠 AI 来说耗时较长。
  • 人类必须预判模式并验证 AI 生成的测试用例。

教训与进一步阅读

想更深入了解本项目的 AI 驱动开发经验,请参阅 GitHub 仓库的文档。

本文记录了我在 Kiroween 黑客马拉松期间构建 MairuCLI 的个人经历。

Back to Blog

相关文章

阅读更多 »

AI 驱动开发平台

🤔 让我彻夜难眠的问题 想象一下:你在 GitHub 上发现了一个超棒的开源项目。它有 10,000 多个 issue,数百名贡献者,……