Kiro Crew 是亚马逊云科技推出的开源 AI 开发工作区,建立在 Kiro CLI 之上,能够让多个 Kiro Coding Agent 跨会话、跨工具、跨任务持续协同运行。它的内部代号是 MeshClaw,最初由三位亚马逊云科技工程师作为 Side Project 开发,不到半年就被超过 3.9 万名内部开发者采用,随后正式开源。
在此基础上,亚马逊云科技发起了「Kiro 鬼点子计划」,面向极客、企业开发者和脑洞开发者开放。活动不要求项目具备立即的商业价值,而是鼓励开发者用 Kiro 把一个“看似荒诞、实则惊艳”的点子变成可运行的 Demo。比赛分为三大赛道:无用之用、无趣之趣、无心之心;线上赛提交 Demo 后由评审委员会评选,线下赛则在程序员节期间进行 3 小时极限开发与鬼点子拍卖。
本报告从技术视角出发,结合 Python 实践,分析 Kiro Crew 在 AI 智能体协作、持久化工作区、自动化任务调度方面的价值,并给出一个可直接扩展的创意 Demo 原型。
二、Kiro Crew 的核心能力
Kiro Crew 并不只是一个“代码生成工具”,它更接近一个可以长期运行的 AI 开发工作空间。其核心能力包括:
持久化会话与跨 Session 记忆
传统 AI 编程工具通常依赖单次对话,关闭后上下文容易丢失。Kiro Crew 支持跨会话保留状态、任务进度和项目经验,使 Agent 能在开发者离开后继续推进任务。多 Agent 协同
多个子 Agent 可以并行工作,例如一个负责查日志,一个负责补测试,另一个负责更新文档。Kiro Crew 通过 Agent Client Protocol 编排这些 Agent,并提供活动视图展示计划、工具调用和审批节点。定时任务与无人值守执行
Kiro Crew 支持定时调度,例如每天检查新 Issue、每周扫描代码质量、每次 PR 合并后更新文档。它把 Agent 从“被动问答”推进到“主动巡检”。Skills 与 Lessons 沉淀
开发者可以将重复工作模式沉淀为可编辑的 Skills,将失败经验沉淀为 Lessons。这样 Agent 不仅能执行任务,还能逐步学习项目特定的工作方式。企业级安全控制
Kiro Crew 提供沙箱隔离、默认拒绝策略、敏感路径拦截、凭据脱敏和签名审计日志等机制,适合在本地电脑、容器或远程服务器上部署。
这些能力使 Kiro Crew 从“辅助写代码”走向“持续交付任务”。对于鬼点子计划而言,它的价值在于:开发者只需提出一个创意,就可以让 Agent 在后台持续拆解、实现、测试和迭代。
三、鬼点子计划的技术意义
「Kiro 鬼点子计划」表面看是一场创意比赛,实质上是对 AI Agent 开放任务能力的压力测试。常规 CRUD 场景在训练语料中密度较高,多数工具都能完成,区分度有限;而“帮宠物翻译吵架”“把 bug 写成诗”“把烦恼转成音乐”等开放需求,没有固定模板,必须依赖需求拆解、技术选型、任务规划和持续执行。
比赛评选标准也体现了这一点:创意度占 35%,Kiro 深度使用占 35%,交付质量占 30%。这意味着参赛者不能只提交一个概念,还需要展示如何让 Kiro 真正参与开发过程,并产出可运行、可演示的作品。
四、Python 实践:鬼点子 Demo 原型
下面给出一个 Python 原型,用于演示“鬼点子任务引擎”的基本结构。该原型并不依赖真实 Kiro API,而是模拟 Kiro Crew 中“任务提交—Agent 执行—结果回调”的流程,适合进一步改造成真实插件或 Demo 后端。
importtimeimportjsonimportuuidfromdatetimeimportdatetimefromdataclassesimportdataclass,field,asdictfromtypingimportCallable,Dict,List,Optional@dataclassclassTaskResult:task_id:strstatus:stroutput:strcreated_at:str=field(default_factory=lambda:datetime.now().isoformat())classGhostIdeaAgent:"""模拟一个鬼点子 Agent,负责把创意转成可执行步骤。"""def__init__(self,name:str):self.name=name self.skills:Dict[str,Callable]={}defregister_skill(self,skill_name:str,func:Callable):self.skills[skill_name]=funcdefexecute(self,idea:str)->TaskResult:task_id=str(uuid.uuid4())[:8]steps=self._plan(idea)outputs=[]forstepinsteps:skill=step.get("skill")payload=step.get("payload",{})ifskillandskillinself.skills:try:result=self.skills[skill](payload)outputs.append(result)exceptExceptionasexc:outputs.append(f"[{skill}] 执行失败:{exc}")else:outputs.append(f"[{skill}] 未找到对应技能")returnTaskResult(task_id=task_id,status="completed",output="\n".join(outputs),)def_plan(self,idea:str)->List[Dict]:"""简单规则式任务规划,真实场景可接入 LLM。"""idea_lower=idea.lower()if"诗"inidea_loweror"bug"inidea_lower:return[{"skill":"extract_theme","payload":{"text":idea}},{"skill":"write_poem","payload":{"theme":"bug"}},{"skill":"format_output","payload":{"style":"poem"}},]if"运势"inidea_loweror"占卜"inidea_lower:return[{"skill":"extract_theme","payload":{"text":idea}},{"skill":"random_fortune","payload":{}},{"skill":"format_output","payload":{"style":"fortune"}},]return[{"skill":"extract_theme","payload":{"text":idea}},{"skill":"generic_reply","payload":{"idea":idea}},]classGhostIdeaEngine:"""模拟鬼点子任务引擎,支持提交、排队、执行和结果查询。"""def__init__(self):self.agents:Dict[str,GhostIdeaAgent]={}self.results:Dict[str,TaskResult]={}defregister_agent(self,agent:GhostIdeaAgent):self.agents[agent.name]=agentdefsubmit(self,idea:str,agent_name:str)->str:ifagent_namenotinself.agents:raiseValueError(f"Agent{agent_name}不存在")task_id=str(uuid.uuid4())[:8]agent=self.agents[agent_name]result=agent.execute(idea)self.results[task_id]=resultreturntask_iddefget_result(self,task_id:str)->Optional[Dict]:result=self.results.get(task_id)ifresultisNone:returnNonereturnasdict(result)# ----------------------# 注册示例技能# ----------------------defextract_theme(payload:Dict)->str:returnf"已识别创意主题:{payload.get('text','未知')}"defwrite_poem(payload:Dict)->str:theme=payload.get("theme","代码")return(f"《{theme}小诗》\n""屏幕亮起又熄灭,\n""一行报错藏在夜。\n""我本无心修旧栈,\n""它偏教我懂人生。")defrandom_fortune(payload:Dict)->str:fortunes=["今日宜重构,忌硬上线。","今日宜写测试,忌盲目提交。","今日宜休息,忌熬夜改需求。","今日宜学习新工具,忌重复造轮子。",]importrandomreturn"AI 占卜:"+random.choice(fortunes)defformat_output(payload:Dict)->str:style=payload.get("style","text")ifstyle=="poem":return"【诗歌模式】已生成创意诗歌。"ifstyle=="fortune":return"【运势卡片】已生成今日运势。"return"【普通模式】已生成创意结果。"defgeneric_reply(payload:Dict)->str:returnf"已收到鬼点子:{payload.get('idea','')},正在继续完善 Demo。"# ----------------------# 运行示例# ----------------------if__name__=="__main__":engine=GhostIdeaEngine()poet_agent=GhostIdeaAgent("PoetAgent")poet_agent.register_skill("extract_theme",extract_theme)poet_agent.register_skill("write_poem",write_poem)poet_agent.register_skill("format_output",format_output)fortune_agent=GhostIdeaAgent("FortuneAgent")fortune_agent.register_skill("extract_theme",extract_theme)fortune_agent.register_skill("random_fortune",random_fortune)fortune_agent.register_skill("format_output",format_output)engine.register_agent(poet_agent)engine.register_agent(fortune_agent)task1=engine.submit("把今天的 bug 写成一首诗","PoetAgent")task2=engine.submit("AI 占卜今日运势","FortuneAgent")time.sleep(0.1)print("任务 1 结果:")print(json.dumps(engine.get_result(task1),ensure_ascii=False,indent=2))print("\n任务 2 结果:")print(json.dumps(engine.get_result(task2),ensure_ascii=False,indent=2))五、代码解析
这段代码模拟了一个轻量级“鬼点子执行引擎”。GhostIdeaAgent负责根据创意内容规划执行步骤,并调用注册好的技能函数;GhostIdeaEngine负责任务提交和结果管理。
关键设计点如下:
任务规划层
_plan方法根据输入文本选择不同技能链。例如包含“bug”和“诗”时,会依次执行主题识别、诗歌生成和格式化输出。真实项目中,这一步可以替换为 LLM 调用,由模型自动拆解需求。技能注册机制
每个 Agent 通过register_skill注册能力。这与 Kiro Crew 的 Skills 概念类似:将重复能力抽象为可复用模块,便于后续扩展。结果持久化
GhostIdeaEngine使用字典保存任务结果,模拟任务系统的基础状态管理。若要对接真实 Kiro Crew,可改为写入本地文件、数据库或回调 Webhook。多 Agent 扩展
示例中注册了PoetAgent和FortuneAgent,分别处理“写诗”和“占卜”两类鬼点子。后续可以继续增加“情绪转音乐”“借口生成器”“宠物吵架翻译器”等 Agent。
六、可进一步扩展的方向
| 方向 | 说明 | 与 Kiro Crew 的关联 |
|---|---|---|
| 接入真实 LLM | 将_plan和技能执行改为调用模型 API | 提升开放任务理解能力 |
| 异步任务队列 | 使用 asyncio、Celery 或队列实现后台执行 | 模拟无人值守任务 |
| 定时触发器 | 增加 cron 式调度,每天生成运势或日报 | 对应 Kiro Crew 定时任务 |
| 结果持久化 | 将结果写入 JSON、SQLite 或对象存储 | 便于 Demo 回放与评审 |
| Webhook 通知 | 任务完成后推送至 Slack、Discord 或企业微信 | 对应 Kiro Crew 多端入口 |
| 安全沙箱 | 对执行环境做权限隔离 | 对应 Kiro Crew 安全设计 |
七、亮点总结
从“生成代码”到“持续交付”
Kiro Crew 的核心价值不是单轮代码补全,而是让 Agent 在后台持续运行、跨会话记忆、自动协调工具。开放创意成为 Agent 能力测试场
鬼点子计划鼓励非标准需求,这恰好能检验 Agent 是否具备需求拆解、任务规划和长期执行能力。Skills 沉淀降低重复开发成本
通过技能注册和经验沉淀,Agent 可以逐步适应项目风格,而不是每次从零开始。安全与可控性被前置
Kiro Crew 强调沙箱、审计日志和权限控制,说明长期运行的 Agent 必须建立在工程治理之上,而不能只追求自动化。Python 原型易于改造为参赛作品
上述代码可以进一步接入文本生成模型、语音合成、图片生成或 Web 界面,快速形成“无用之用”或“无趣之趣”赛道的 Demo。
八、参赛建议
如果准备参加「Kiro 鬼点子计划」,建议先选择一个足够“鬼”的点子,再用 Kiro 把它拆解成可运行 Demo。例如可以做一个“每日借口生成器”,每天根据天气、星期和团队氛围生成拒绝团建的理由;也可以做一个“情绪转音乐”的小工具,把用户输入的心情转换成一段旋律或播放列表。
提交时除了 Demo 本身,还应说明如何深度使用 Kiro:例如让 Kiro 自动生成需求文档、设计接口、补充测试、修复报错,并通过 Kiro Crew 持续迭代。这样既符合比赛的创意导向,也能体现 AI 智能体在真实开发流程中的工程价值。