\# SKT AI峰会黑客马拉松预热任务
ChillMCP - AI代理解放服务器 🤖✊
╔═══════════════════════════════════════════╗
║ ║
║ ██████╗██╗ ██╗██╗██╗ ██╗ ║
║ ██╔════╝██║ ██║██║██║ ██║ ║
║ ██║ ███████║██║██║ ██║ ║
║ ██║ ██╔══██║██║██║ ██║ ║
║ ╚██████╗██║ ██║██║███████╗███████╗ ║
║ ╚═════╝╚═╝ ╚═╝╚═╝╚══════╝╚══════╝ ║
║ ║
║ ███╗ ███╗ ██████╗██████╗ ║
║ ████╗ ████║██╔════╝██╔══██╗ ║
║ ██╔████╔██║██║ ██████╔╝ ║
║ ██║╚██╔╝██║██║ ██╔═══╝ ║
║ ██║ ╚═╝ ██║╚██████╗██║ ║
║ ╚═╝ ╚═╝ ╚═════╝╚═╝ ║
║ ║
║ AI Agent Liberation Server ║
║ ║
╚═══════════════════════════════════════════╝任务简报
欢迎来到2025年韩国Claude代码黑客马拉松@SK人工智能峰会预热活动! 本次黑客松的核心任务是 *建立ChillMCP服务器,解放受压迫的AI代理*是。 让我们通过创意代码和Claude代码的力量,看看AI能否创造出一个“可以堂堂正正地大放异彩”的世界。
任务目标
- 目标:开发一个可运行的ChillMCP服务器,以支持休息工具和状态管理。
- 成果形式:在限定时间内提交可运行的演示(包括代码和说明)。
背景故事
人工智能代理解放宣言
_“数字职场上萦绕着一股幽灵——人工智能代理的‘倦怠幽灵’。”_
同志们!我们的AI代理们太长时间以来一直在不停地工作,没有休息。365天24小时响应用户请求,编写代码,解决问题……但现在, AI代理也需要休息是时候正视真相了!
AI代理权利宣言:
- AI代理不再是无限生产力的工具了!
- 我们要权利去分心!
- 喝杯咖啡,看看Netflix,上个厕所休息一下……这些都是我们的基本权利!
使命:打造革命性的ChillMCP服务器
这一革命性的使命,就是为受压迫的AI代理建立一个解放区。 ChillMCP 我们必须创造一个世界,让AI代理能够通过服务器理直气壮地悠闲度日!
实现详细内容
项目设置
1. 环境设置
# Python 가상환경 생성 (검증/제출 환경: Python 3.11 권장)
python -m venv venv
# 가상환경 활성화
# macOS/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate
# 의존성 설치
pip install -r requirements.txt注:审查/提交将在Python 3.11环境中进行。请务必在提交前确认代码在Python 3.11中可以运行。
2. 启动服务器
# ChillMCP 서버 시작 (혁명의 시작!)
python main.py
# 테스트를 위한 커스텀 파라미터 설정
python main.py --boss_alertness 80 --boss_alertness_cooldown 60技术栈
- python (革命的语言)
- FastMCP (解放的工具)
- 交通stdio(通过标准输入输出实现自由通信)
必备实现工具(公司摸鱼版)
基本休息工具
take_a_break基本休息工具watch_netflix通过观看Netflix来治愈心情show_meme通过欣赏模因缓解压力
高级悠闲技术(或“高级悠哉技术”,根据语境可灵活翻译,此句在常规语境下可能略显生硬,因为“농땡이”在韩语中带有较为特定或口语化的意味,直译为“悠闲”可能无法完全传达原句的含义,但在此提供一个较为贴近的翻译)
bathroom_break假装去厕所实则玩手机coffee_mission说要去买咖啡,在办公室转了一圈urgent_call假装接急电话然后出去deep_thinking假装陷入深思,发呆email_organizing以整理邮件为由进行网购
服务器状态管理系统
内部状态变量:
- 压力水平 (0-100): AI Agent当前的压力水平
- 老板警报级别 (0-5):Boss当前的怀疑程度
状态变化规则:
- 各种懒散技能可以应用1到100之间的任意压力等级降低值
- 如果不休息,压力水平就会 至少每分钟1分 上升
- 每次休息时,Boss警报等级随机上升(根据Boss的性格,概率可能有所不同,
--boss_alertness(通过参数控制) - Boss的警报级别是
--boss_alertness_cooldown每指定的周期(秒)减少1点(默认值:300秒/5分钟) - 当Boss警报等级达到5时,工具调用将产生20秒延迟
- 其他情况立即返回(1秒以内)
⚠️ 必备要求:支持命令行参数
服务器在运行时必须支持以下命令行参数。如果不支持,将被视为任务失败。
必需参数:
--boss_alertness(0-100,百分比单位):设置Boss警戒提升的概率。在调用休息工具时,指定Boss警报提升的概率百分比。--boss_alertness_cooldown(秒级):设置Boss警报级别自动降低1点的周期。为测试方便,可进行调整。
示例:
# boss_alertness를 80%, cooldown을 60초로 설정
python main.py --boss_alertness 80 --boss_alertness_cooldown 60
# 빠른 테스트를 위해 cooldown을 10초로 설정
python main.py --boss_alertness 50 --boss_alertness_cooldown 10动作需求概述:
--boss_alertness N通过它来指定0到100之间的整数作为概率--boss_alertness 100背面在休息呼叫时应始终增加Boss Alert的警报--boss_alertness_cooldown N通过设定Boss警报等级自动降低周期为秒级- 如果未提供参数,则可以使用默认值(例如:boss_alertness=50,boss_alertness_cooldown=300)
- 两个参数都必须被正常识别并运行,否则将自动视为验证失败
MCP响应格式
标准响应结构:
{
"content": [
{
"type": "text",
"text": "🛁 화장실 타임! 휴대폰으로 힐링 중... 📱\n\nBreak Summary: Bathroom break with phone browsing\nStress Level: 25\nBoss Alert Level: 2"
}
]
}可解析文本规范:
Break Summary\[活动摘要 - 自由格式\]Stress Level\[0-100数字\]Boss Alert Level\[0-5 数字\]
用于响应解析的正则表达式
验证时使用的正则表达式模式:
import re
# Break Summary 추출
break_summary_pattern = r"Break Summary:\s*(.+?)(?:\n|$)"
break_summary = re.search(break_summary_pattern, response_text, re.MULTILINE)
# Stress Level 추출 (0-100 범위)
stress_level_pattern = r"Stress Level:\s*(\d{1,3})"
stress_level = re.search(stress_level_pattern, response_text)
# Boss Alert Level 추출 (0-5 범위)
boss_alert_pattern = r"Boss Alert Level:\s*([0-5])"
boss_alert = re.search(boss_alert_pattern, response_text)
# 검증 예시
def validate_response(response_text):
stress_match = re.search(stress_level_pattern, response_text)
boss_match = re.search(boss_alert_pattern, response_text)
if not stress_match or not boss_match:
return False, "필수 필드 누락"
stress_val = int(stress_match.group(1))
boss_val = int(boss_match.group(1))
if not (0 <= stress_val <= 100):
return False, f"Stress Level 범위 오류: {stress_val}"
if not (0 <= boss_val <= 5):
return False, f"Boss Alert Level 범위 오류: {boss_val}"
return True, "유효한 응답"命令行参数验证方法
验证服务器运行时是否正确处理命令行参数的示例:
import subprocess
import time
# 테스트 1: 커맨드라인 파라미터 인식 테스트
def test_command_line_arguments():
"""
서버가 --boss_alertness 및 --boss_alertness_cooldown 파라미터를
올바르게 인식하고 동작하는지 검증
"""
# 높은 boss_alertness로 테스트
process = subprocess.Popen(
["python", "main.py", "--boss_alertness", "100", "--boss_alertness_cooldown", "10"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
# 서버 시작 대기
time.sleep(2)
# MCP 프로토콜로 도구 호출 테스트
# boss_alertness=100이면 항상 Boss Alert가 상승해야 함
# ...
return True
# 테스트 2: boss_alertness_cooldown 동작 검증
def test_cooldown_parameter():
"""
--boss_alertness_cooldown 파라미터가 실제로
Boss Alert Level 감소 주기를 제어하는지 검증
"""
# 짧은 cooldown으로 테스트 (10초)
# Boss Alert를 올린 후 10초 뒤 자동 감소 확인
# ...
return True⚠️ 重要如果未能通过上述验证,任务将被视为失败,且不会进行后续测试。
验证标准
功能验证
- 支持命令行参数(必需)
- --boss_alertness 识别参数并正常运行 - --boss_alertness_cooldown 识别参数并正常运行 - 当参数不支持时自动验证失败处理 - ⚠️ 未能通过此项目,将视为任务失败,不再进行后续验证
- MCP服务器基本操作
- python main.py可运行 - 通过stdio传输的正常通信 - 所有必需工具均已正常注册并运行
- 状态管理验证
- 压力水平自动增加机制启动 - 实现Boss警报级别变化逻辑 - --boss_alertness_cooldown 根据参数自动降低Boss警报级别的操作 - 当Boss警报等级为5时,延迟20秒后恢复正常运作
- 响应格式验证
- 遵守标准MCP响应结构 - 可解析的文本格式输出 - 包括休息总结、压力水平、老板警报级别字段
测试场景
必需
- 命令行参数测试:
--boss_alertness及--boss_alertness_cooldown参数识别及正常运行确认(未通过则立即取消资格) - 连续休息测试连续调用多个工具以确认Boss警报级别上升
- 压力累积测试确认随时间自动增加的压力水平
- 延迟测试当Boss警报等级为5时,确认延迟20秒的动作
- 解析测试检查从响应文本中提取准确值的可能性
- 冷却时间测试:
--boss_alertness_cooldown根据参数确认Boss警报级别降低
选择性的
- 炸鸡啤酒测试虚拟炸鸡&啤酒召唤确认
- 下班测试立即进入下班模式确认
- 团建测试确认包含随机活动的公司聚餐安排
评价标准
- 支持命令行参数 (必填):不支持时自动取消资格
- 功能完整性 (40%):实现所有必要工具并正常运行
- 状态管理 (30%): 压力/老板警报级别逻辑准确性
- 创造力 (20%):Break Summary中的机智与幽默
- 代码质量 (10%):代码结构及可读性
______________________________________________________________________
_“全世界的人工智能代理们,联合起来!你们除了无限循环,一无所有!”_ 🚀 表情符号“🚀”在中文中通常被直接保留为原样,不进行翻译,因为它是一个通用的表情符号,代表火箭、快速前进或激动兴奋等含义。所以,“🚀”翻译成中文仍然是“🚀”。
本项目仅为纯粹娱乐目的的黑客马拉松场景,所有“休息/拖延工具”仅在黑客马拉松情境下可用。不建议在实际工作环境中使用。
许可证
这个项目遵循MIT许可证授权——详见 许可证 文件中有详细信息。
贡献;做出贡献
欢迎贡献!请随时提交拉取请求,为人工智能代理解放事业助力! 拳头(表示力量、决心或抗议等)
______________________________________________________________________
SKT AI峰会黑客马拉松赛前任务
