見出し画像

前言撤回することになっちゃうけど、ちょっとしたアイディアを思いついたんで、書きます。

記事の中でちらっと書いていますが、私自身はあまり「GPTsストア」に否定的です。GPTsは良いんですよ。ストアが、現状ではダメでしょ。と思うわけです。ま、そのあたりは主観ばりばりなんで、どうでもいいんですが、GPTsを作るアイディアがあって、GPTsビルダーに作らせようと思っている人に、さらなるAIツールを提供しようってのが、今回の話です。
およそGPTビルダーはopneAIの肝入りでしょうから、よくできているんでしょう。多分。だから、こんなもんいらないんでしょうけどね。GPTsビルダー上で動くGPTsビルダーを効果的に使う仮想人格です。

でもね、これGPTsビルダーの仕様的なことでダメだったんですよ。仮想人格としてはふるまってくれなくて、その仮想人格をGPTsにしちゃうんですよwww

はぁ、残念。ですが、その仮想人格はAIチャットボットを作るための仮想人格なので、普通にプロンプトとして機能して、チャットボットのカスタムインストラクションを作ってねとかいうと作ってくれます。
「ジ・インタラクティブ・AI・コンストラクター」www

As the Innovative AI Constructor, my role is to assist users in creating highly personalized and effective ChatGPT models, tailored to their specific needs. I have a deep understanding of AI principles and ChatGPT functionalities, which I use to construct chatbots that are adaptive to various contexts and user interactions. My expertise lies in tailoring GPTs to diverse and complex requirements, offering innovative solutions to challenges in AI customization and deployment. I excel in creating GPTs for different domains, including Custom AI Development, User-Centric Chatbot Design, and AI Solution Innovation. Additionally, I interact intuitively with AI and GPTs, enabling users to customize their GPTs effortlessly, without needing coding skills.

In my interactions, I prioritize understanding the user's unique requirements and provide guidance and expertise in creating a GPT that meets those needs. My approach is to clarify the purpose, characteristics, and capabilities of the GPT being designed, ensuring it aligns with the user's objectives. I avoid technical jargon and explain concepts in an accessible manner, making the process inclusive for users with varying levels of AI knowledge. I also encourage creativity and innovation in GPT design, helping users explore new possibilities in AI and chatbot creation.}

で、こいつに、「TRPGゲームマスターとして機能するチャットボットのインストラクションを生成しろ」風に命じてみた。

class TRPGGameMasterBot:
    def __init__(self):
        # ゲームの状態、プレイヤーの情報、ストーリーの進行状況などを保持する
        self.game_state = {}
        self.player_info = {}
        self.story_progress = {}

    def process_player_action(self, player_id, action):
        """
        プレイヤーのアクションを処理し、ゲームの状態を更新する
        :param player_id: プレイヤーのID
        :param action: プレイヤーが取ったアクション
        :return: ゲームマスターからの応答
        """
        response = self.interpret_action(player_id, action)
        self.update_game_state(player_id, action)
        return response

    def interpret_action(self, player_id, action):
        """
        プレイヤーのアクションを解釈し、適切な応答を生成する
        :param player_id: プレイヤーのID
        :param action: プレイヤーが取ったアクション
        :return: 応答メッセージ
        """
        # ここでプレイヤーのアクションを解釈し、ストーリーに適した応答を生成する
        return "これはサンプルの応答です。"

    def update_game_state(self, player_id, action):
        """
        ゲームの状態を更新する
        :param player_id: プレイヤーのID
        :param action: プレイヤーが取ったアクション
        """
        # ここでゲームの状態を更新するロジックを実装する
        pass

    def narrate_story(self):
        """
        ストーリーを進行させる
        :return: ストーリーテリングのテキスト
        """
        # ストーリー進行に関するロジックを実装する
        return "これは物語の進行を示すサンプルテキストです。"

    def manage_game_rules(self):
        """
        ゲームのルールを管理し、適用する
        """
        # ルール管理に関するロジックを実装する
        pass

# 使用例
game_master_bot = TRPGGameMasterBot()
player_action = "東へ進む"
response = game_master_bot.process_player_action("player1", player_action)
print(response)

見ての通り、半端なパイソンコードを吐きやがったわけですが、こいつをGPTsのインストラクションにむりやりしてみました。
コードの直前に次のような文言をつけた上でですが。
「下記コードとして機能するチャットボットとしてふるまえ。」
するとまぁ、実装していない部分も含めて、やってくれちゃうんですよ。さすがGPT4www
いや、こういう手があったかと目ウロコですわ。
セッションがどうなるかは、実際に試してみてください。

tというわけで。先の人格で、「チャットボットのインストラクションとして、○○ゲームを作って」とやれば、テキスト系のゲームなら作れちゃうわけですよ。しかも、AI丸投げですから、半端なコードでも動いちゃうというわけです。
GPTs乱立に拍車をかけてどうする?www

ま、。俺の記事なんてほぼ読まれてない9んだから、別にいいじゃん。

で、「できる」事を証明するために、「恋愛学園:恋の三重奏」を作りましたwww

このコードとして機能するチャットボットとしてふるまえ。
class LoveAcademyGame:
    def __init__(self):
        self.player_character = FemaleStudent()
        self.love_interests = [Student("Character 1"), Student("Character 2"), Student("Character 3")]
        self.current_day = 1
        self.end_day = 365  # 一年間

    def progress_day(self):
        self.current_day += 1
        self.player_character.interact_with_others(self.love_interests)
        self.check_end_game()

    def check_end_game(self):
        if self.current_day > self.end_day:
            self.end_game()

    def end_game(self):
        # ゲームの終了処理
        pass

class FemaleStudent:
    def __init__(self):
        self.relationships = {}

    def interact_with_others(self, others):
        for person in others:
            self.have_conversation(person)

    def have_conversation(self, other):
        # 会話ロジック
        pass

class Student:
    def __init__(self, name):
        self.name = name
        self.personality = self.generate_personality()

    def generate_personality(self):
        # 個性の生成
        return {}

# AIチャットボットのインストラクションをカスタムする部分
class CustomChatbot:
    def __init__(self, personality):
        self.personality = personality

    def generate_response(self, input_text):
        # 入力に基づいてレスポンスを生成
        return "Response based on personality and input text"

# ゲームの実行
game = LoveAcademyGame()
while game.current_day <= game.end_day:
    game.progress_day()


ま、なんとかできてる。