見出し画像

09 ユニバーサルスタンダード Universal Standard 09

  • 第1回:【今回】システムの土台(初期化と設定管理クラス) 

  • 第2回:自分の立場(送信者)の設定機能

  • 第3回:相手の立場(受信者)の設定機能

  • 第4回:立場に応じた入力制限(セキュリティレベル)の設定

  • 第5回:最高責任者(国家リーダー)向けの厳格モード判定

  • 第6回:Gemini APIとの連携コアシステム

  • 第7回:発言者と相手の関係性を考慮したプロンプト(指示文)生成

  • 第8回:実際の翻訳・ニュアンス補正の実行処理

  • 第9回:実行テスト用のサンプルデータとメイン処理

  • 第10回:全体の動作確認とエラーハンドリング

著作権は無いです。オープンコードです。
This is open-source code that anyone can use and modify.

第6回:Gemini APIとの連携コアシステム

このコードでは、Pythonから最新のGoogle公式AIライブラリ(google-genai)を呼び出し、これまでに設定したセキュリティ設定(第5回のTemperatureなど)をAIモデルに引き渡して、いつでもテキストを生成できるようにする接続の土台を作ります。

python

from google import genai
from google.genai import types

class UniversalStandardEngine:
    """設定情報を読み込み、実際にGemini APIと通信を行うエンジンクラス"""
    def __init__(self, config: UniversalStandardConfig):
        self.config = config
        # 最新のgoogle-genaiライブラリを使用してクライアントを初期化
        # api_keyがNoneの場合は自動的に環境変数 GEMINI_API_KEY が参照されます
        self.client = genai.Client(api_key=self.config.api_key)

    def generate_message_with_ai(self, prompt: str) -> str:
        """構築された指示文(プロンプト)をGemini APIに送信し、結果を受け取る関数"""
        # セキュリティレベルに応じた温度設定(表現のブレなさ)を反映
        self.config.update_temperature_by_security()
        
        # APIリクエストのオプションを設定
        ai_config = types.GenerateContentConfig(
            temperature=self.config.temperature,
            max_output_tokens=1000
        )
        
        # 最新モデル「gemini-2.5-flash」を呼び出してテキストを生成
        response = self.client.models.generate_content(
            model=self.config.model_name,
            contents=prompt,
            config=ai_config
        )
        return response.text

AIとの通信経路がこれでバッチリ確保できました。


第7回:発言者と相手の関係性を考慮したプロンプト(指示文)生成


このコードでは、第2回と第3回で設定した「自分の立場」と「相手の立場」の組み合わせを分析し、AIに対して「どのような口調やニュアンスで翻訳・補正すべきか」という厳密な指示文(プロンプト)を自動で組み立てるロジックを実装します。

python

    def create_prompt_by_relationship(self, raw_text: str, target_lang: str) -> str:
        """
        自分と相手の立場から最適な翻訳・ニュアンス指示文(プロンプト)を組み立てる関数
        """
        my_role = self.config.my_role
        target_role = self.config.target_role
        
        # 1. 基本的な翻訳の指示を定義
        base_instruction = f"あなたは世界共通システム『ユニバーサルスタンダード』のAI翻訳・ニュアンス補正エンジンです。入力された文章を、以下の指定された関係性に100%合致するような、極めて自然で完璧な【{target_lang}】に翻訳・補正してください。\n\n"
        
        # 2. 自分と相手の立場に応じた「振る舞い」の個別ルールを定義
        relationship_instruction = ""
                
        # 相手が「友人」の場合:親しみやすさを重視
        if target_role == "friend":
            relationship_instruction = "【関係性】親しい友人同士の会話です。過度な敬語は使わず、スラングや親しみのある自然な表現を活かしてください。\n"
        
        # 自分が「一般」で、相手が「国家最高責任者」または「象徴」の場合:最上級の敬意
        elif my_role == "general" and target_role in ["prime_minister", "emperor"]:
            relationship_instruction = "【関係性】一般市民から、一国の最高指導者または国家の象徴へ宛てたメッセージです。無礼な表現を完全に排除し、最上級の敬意と礼節を尽くした極めて丁寧な表現に補正してください。\n"
            
        # 自分が「国家最高責任者」で、相手も「国家最高責任者」の場合:国際外交の公式トーン
        elif my_role == "prime_minister" and target_role == "prime_minister":
            relationship_instruction = "【関係性】国家元首・首相同士の公式な国際外交の通信です。一言の誤解も許されません。極めて理性的、外交的、かつ格調高い公式表現を使用してください。\n"
           
   # どちらかが「企業経営者」または「ビジネス取引先」の場合:ビジネス敬語
        elif my_role == "ceo" or target_role == "business_partner":
            relationship_instruction = "【関係性】ビジネスの取引における通信です。信頼感を与え、ビジネスマナーに則った正確で誠実な丁寧語・尊敬語を使用してください。\n"
            
        # それ以外(標準)
        else:
            relationship_instruction = "【関係性】一般的な公的・市民間の通信です。丁寧で誰にでも伝わりやすい標準的な表現にしてください。\n"
            
        # 3. すべてを合体させて1つのプロンプト(指示文)にする
        prompt = (
            f"{base_instruction}"
            f"{relationship_instruction}"
            f"⚠️注意: 挨拶や前置きは出力せず、翻訳・補正後の『本文のみ』を返してください。\n\n"
            f"--- 補正対象の文章 ---\n"
            f"{raw_text}\n"
            f"----------------------"
        )
        return prompt


第8回:実際の翻訳・ニュアンス補正の実行処理


このコードは、第7回で作った「立場を考慮したオーダーメイドの指示文(プロンプト)」を、第6回の「Gemini API連携エンジン」へと流し込み、実際に世界共通システムとしての翻訳・ニュアンス補正を実行して、結果をきれいに返すメインの処理関数になります。

python

    def process_universal_translation(self, text: str, target_lang: str = "English") -> str:
        """
        入力されたテキストを、お互いの立場に合わせて翻訳・補正する実行関数
        引数 text: 伝えたい元の文章
        引数 target_lang: 翻訳先の言語(デフォルトは英語)
        """
        print("\n⚙️ ユニバーサルスタンダード・システムが文章を解析中...")
        
        # 1. 自分と相手の立場に合わせたプロンプト(指示文)を自動生成
        final_prompt = self.create_prompt_by_relationship(text, target_lang)
        
        try:
            # 2. Gemini APIを呼び出して、翻訳・補正された文章を取得
            corrected_output = self.generate_message_with_ai(final_prompt)
            
            print("✨ 処理が正常に完了しました。")
            return corrected_output.strip()
            
        except Exception as e:
      # 万が一のエラーハンドリング
            return f"❌ システムエラーが発生しました: {str(e)}"

これで、設定(Config)と実行エンジン(Engine)のすべての機能(パーツ)が完全に揃いました。


第9回:実行テスト用のサンプルデータとメイン処理


このコードでは、これまで作ったすべてのクラスや関数を1つに合流させ、「一般市民が国の総理大臣(大統領)にメッセージを送る場合」などの具体的なシチュエーションを設定し、実際にシステムがどう動くかをシミュレーションするメインの実行ブロック(if __name__ == "__main__":)を組み立てます。

python

if __name__ == "__main__":
    # ===== 【テスト実行】ユニバーサルスタンダード・システムの発動 =====
    print("=== 🌐 ユニバーサルスタンダード・システム 起動 ===")
    
    # 1. システム設定の初期化(APIキーが環境変数にある前提)
    # ※直接指定する場合は UniversalStandardConfig("YOUR_API_KEY") とします
    config = UniversalStandardConfig()
    
    # 2. シチュエーション設定:一般市民から国の最高責任者(総理大臣)への通信
    print("\n[シチュエーション: 一般市民が国のリーダーへ提案を送る]")
    config.set_my_role("general")            # 自分の立場:一般市民
    config.set_target_role("prime_minister") # 相手の立場:総理大臣・大統領
    
    # 3. 実行エンジンの起動
    engine = UniversalStandardEngine(config)
  
    # 4. テスト用の生データ(フランク、あるいは少し乱暴な日本語)
    raw_message = "ちょっと聞いてよ。紙の名刺とかマジで無駄だから、世界共通のQRコードシステムを早く作ったほうがいいと思うわけ。まじでよろしく。"
    print(f"\n元の発言(生データ):\n「{raw_message}」")
    
    # 5. 英語(English)への翻訳・ニュアンス補正を実行
    # 自動的にセキュリティレベル4(厳格モード)が適用され、格調高い英語に補正されます
    result_english = engine.process_universal_translation(raw_message, target_lang="English")
    
    print("\n📢 【システム出力結果(世界共通言語)】:")
    print(result_english)
    print("\n================================================")


第10回:全体の動作確認とエラーハンドリング(および、これまでのコードを1つのファイルにまとめる方法の解説)


第10回:全体の動作確認とエラーハンドリング(まとめ)

このシステムを自分のパソコンや発表の場で動かすための最終ステップです。

1. プログラムの結合順序(上からこの順番に並べます)

  1. インポート文・初期化クラス(第1回 + 第2回 + 第3回 + 第4回 + 第5回)

    • UniversalStandardConfig という1つのクラスの中に、設定、立場、セキュリティ判定の関数をすべて入れ込みます。

1. プログラムの結合順序(上からこの順番に並べます)

  1. インポート文・初期化クラス(第1回 + 第2回 + 第3回 + 第4回 + 第5回)

    • UniversalStandardConfig という1つのクラスの中に、設定、立場、セキュリティ判定の関数をすべて入れ込みます。

  2. AIエンジンクラス(第6回 + 第7回 + 第8回)

    • UniversalStandardEngine クラスの中に、API連携、プロンプト生成、実行処理の関数を入れ込みます。

  3. メイン処理ブロック(第9回)

    • ファイルの最下部に if __name__ == "__main__": を配置します。

2. 動かすための準備(環境構築)

コマンドライン(ターミナル)で、最新のGoogle公式AIライブラリをインストールします。

bash

pip install google-genai

bash

export GEMINI_API_KEY="あなたのAPIキー"
python universal_standard.py

3. 期待される動作結果

このプログラムを実行すると、自動的に「セキュリティレベル4(厳格モード)」が発動し、少しフランクだった元の文章が、以下のような国家指導者に送るにふさわしい格調高く丁寧な英語に自動補正されて出力されます!

(出力例)
"I would like to respectfully propose the abolition of paper business cards in favor of the swift implementation of a globally standardized QR code system, which would significantly improve efficiency."

これにて「ユニバーサルスタンダード・システム(立場考慮型AI翻訳エンジン)」のコードがすべて揃いました!

世界に対する素晴らしい提案の第一歩として、発表が最高の形で大成功することを心から応援しています。

詳しいことは専門家に任せます。




著作権はあります。

いいなと思ったら応援しよう!