French Ship Madame De Pompadour
基于《星际迷航》创作科幻叙事的社交模拟与故事生成器。使用OOP Python/Flask,包含一些数据结构、Gemini API,前端采用React/Vite/Tailwind。
受《星际迷航》启发的AI与随机动作太空船模拟器
FS Madame de Pompadour 是一款基于文本的叙事模拟器,可在科幻宇宙中生成动态且不可预测的故事。点击"下一步",您将逐回合推进模拟,观察一组角色如何基于预定义行为与生成式AI的结合进行互动。
目标是创建一个"数字生态缸",让复杂的社会动态和意外事件从简单的规则与AI的创造力中涌现。
欢迎来到FS Madame de Pompadour。
佩皮略船长转向哈罗德船员,厉声说道:"报告对冯采取的纪律处分。"
佩皮略船长转向通讯站,命令道:"立刻给我接通杜波依斯中尉。"
泰德里克凑近韦伦船员,低声说:"你看到冯做了什么吗?看来佩皮略船长今天心情不好,"同时微妙地整理制服以显得体面。
康斯坦丁迅速瞥了一眼哈罗德船员,然后悄悄对穆罕默德船员嘀咕:"我好奇冯这次做了什么惹船长不高兴,"一边不动声色地擦拭附近的一段栏杆。
船员冯紧张地整理制服,然后,捕捉到以西结船员的目光,低声咕哝:"今天会是很长的一天,"希望以西结会回应。
穆罕默德船员注意到康斯坦丁的谨慎擦拭,瞥了一眼栏杆说:"看起来需要好好擦洗一下,嗯?也许我们应该一起做这段,康斯坦丁?"
哈罗德船员注意到紧张的气氛和船长的命令,随意调整了自己的制服,对塞巴斯蒂安船员咕哝:"看来冯成了焦点,嗯?在任务变得更不愉快之前,我们是不是该去喝杯咖啡缓和一下气氛?"
看到紧张局势,韦斯特利船员转向弗林船员问道:"你听说冯的事了吗?看来船长心情不好,也许我们应该确保自己的岗位一尘不染。"
佩皮略船长征求哈罗德船员专业意见。
佩皮略船长转向冯船员命令道:"冯,立即向我报告你当前岗位和系统状态。"
韦斯特利船员注意到船长对冯的严厉命令,迅速转向弗林船员低声说:"弗林,我们去检查一下补给柜,我想船长可能想要盘点应急口粮,"希望显得忙碌以避免不必要的注意。
穆罕默德船员看到佩皮略船长周围的紧张气氛,悄悄走近以西结船员低语:"你觉得我们是不是该准备好清洁用品,以防船长需要快速完成什么任务?"
在这个来自FS Madame de Pompadour模拟的演示快照中,我们观察到一个复杂而动态的社会生态系统正在运行。该系统展示了其生成涌现叙事的能力——不是通过预编脚本的事件,而是通过允许独立智能体互动,创造出下层甲板上丰富而可信的生活图景。
模拟以一个明确的催化剂启动:一位高级权威人物——佩皮略船长——通过直接命令引入了即时的高风险紧张局势。这种"命令级联"成为整个社会生态系统的中心引力点。注意他的要求不仅触发了单个角色的脚本,而是启动了一个统一的高压事件。这展示了系统对层级结构的新关注,其中单个智能体的行动可以决定共享环境中每个其他角色的焦点、情绪和战略目标。
随着船长的命令在船员中扩散,我们看到复杂的、反应性的社会策略涌现。船员们并非继续无所事事的任务;他们立即开始处理新的现实。观察像泰德里克和康斯坦丁这样的角色如何形成临时的对话小组来八卦和分析局势,试图理解新的权力动态。更令人印象深刻的是,韦斯特利船员通过主动制定生存策略展示了更高层次的涌现逻辑——建议他和一名船员同伴显得忙于正式任务以避免船长的怒火。这不是预编脚本的行为,而是AI为应对感知到的威胁而生成的逻辑社会结论,展示了强大的风险评估能力。
这个短暂的窗口揭示了一个强大的涌现叙事引擎,它无缝地将职业角色与个人焦虑融合在一起。我们看到哈罗德船员被迫从随意的低声交谈转变为对船长的要求给出正式的专业意见,展示了系统管理冲突社会情境的能力。整个模拟围绕与冯的核心冲突展开,创造了一个统一的叙事压力锅,而非一系列独立的安静戏剧。该引擎已超越生成简单生活图景的阶段,现在展示了在压力下模拟复杂社会计算、战略联盟和涌现群体思维的能力。
FS Madame de Pompadour 构建于现代解耦的Web架构之上,将后端模拟引擎与前端用户界面分离,以实现模块化和高性能。
后端:Python、Flask 和 Gemini
整个模拟核心和逻辑位于Python后端。
- Python: 因其强大的数据处理能力和稳健的AI/ML生态系统而成为自然选择。面向对象的方法允许模块化的
Crewman和ActorManager类,易于扩展。 - Flask: 一个轻量级且灵活的Web框架,用于创建前端与之通信的API。其唯一职责是接收下一回合的请求,触发模拟逻辑,并返回结果。
- Google Gemini: "机器中的幽灵"。该项目集成了Gemini API以驱动其智能动作系统。当角色决定"智能地"行动时,后端会向Gemini模型发送一个提示——包含飞船背景、角色角色和近期动作历史——然后模型返回一个创造性的、上下文感知的动作。
前端:React、Vite 和 Tailwind CSS
用户界面是一个快速、现代的單頁應用程序(SPA)。
- React: 一个用于构建动态、基于组件的用户界面的强大JavaScript库。整个事件日志是一个React组件,当从后端接收到新动作时,它会高效更新。
- Vite: 一个下一代前端构建工具,提供极快的开发服务器和优化的生产构建。
- TypeScript: 用于为JavaScript代码添加静态类型,改善开发者体验并减少错误。
- Tailwind CSS: 一个实用优先的CSS框架,允许直接在HTML中进行快速且一致的样式设计,如组件类名所示。
整体架构
单个回合的流程简单而有效:
- 用户在基于React的UI中点击**"下一步"**按钮。
- 前端向后端运行在Flask上的
/action端点发送fetch请求。 - Flask服务器调用Python的
ActorManager,后者运行模拟的一个回合,可能调用Gemini API。 - 后端将结果动作字符串作为JSON对象返回。
- React前端接收JSON,更新其状态,并在屏幕上渲染新事件,自动滚动到最新条目。
