08 ユニバーサルスタンダード Universal Standard 08
第1回:【今回】システムの土台(初期化と設定管理クラス)
第2回:自分の立場(送信者)の設定機能
第3回:相手の立場(受信者)の設定機能
第4回:立場に応じた入力制限(セキュリティレベル)の設定
第5回:最高責任者(国家リーダー)向けの厳格モード判定
第6回:Gemini APIとの連携コアシステム
第7回:発言者と相手の関係性を考慮したプロンプト(指示文)生成
第8回:実際の翻訳・ニュアンス補正の実行処理
第9回:実行テスト用のサンプルデータとメイン処理
第10回:全体の動作確認とエラーハンドリング
著作権は無いです。オープンコードです。
This is open-source code that anyone can use and modify.
まずは第一歩として、システムのベースとなる「第1回:初期化と設定管理クラス」のコードをお届けします。
📦 第1回:システムの土台(初期化と設定管理クラス)
python
import os
class UniversalStandardConfig:
"""システム設定とユーザーの立場(アイデンティティ)を管理するクラス"""
def __init__(self, api_key: str = None):
# APIキー、モデル、役割、温度設定の初期化
self.api_key = api_key or os.getenv("GEMINI_API_KEY")
self.model_name = "gemini-2.5-flash"
self.my_role = "general"
self.target_role = "general"
self.temperature = 0.3
def show_current_status(self):
"""現在のシステム設定を表示"""
print(f"【自分の立場】: {self.my_role}")
print(f"【相手の立場】: {self.target_role}")このコードでは、前回の土台(第1回)に合流させる形で、自分自身の社会的立場(一般、企業経営者、国家最高責任者など)をシステムに登録・変更する機能を実装しています
第2回:自分の立場(送信者)の設定機能
自分自身の社会的立場(一般、企業経営者、国家最高責任者など)をシステムに登録・変更する機能
python
def set_my_role(self, role_type: str):
"""
自分(送信者)の社会的立場を設定する関数
引数 role_type: 'general', 'ceo', 'prime_minister', 'emperor' など
"""
allowed_roles = {
"general": "一般の利用者・市民",
"ceo": "企業の最高経営責任者(CEO)",
"prime_minister": "国の最高責任者(総理大臣・大統領)",
"emperor": "国家の象徴(君主・天皇)"
}
# 指定された立場が許可リストにあれば設定、なければ一般に設定
if role_type in allowed_roles:
self.my_role = role_type
print(f"👉 自分の立場を【{allowed_roles[role_type]}】に設定しました。")
else:
self.my_role = "general"
print("⚠️ 該当する立場がありません。自動的に【一般の利用者】として設定されまし第3回:相手の立場(受信者)の設定機能
python
def set_target_role(self, role_type: str):
"""
メッセージを届ける相手(受信者)の社会的立場を設定する関数
引数 role_type: 'general', 'friend', 'business_partner', 'prime_minister', 'emperor' など
"""
allowed_target_roles = {
"general": "一般の公職者・市民",
"friend": "親しい友人・フランクな同僚",
"business_partner": "ビジネスの取引先・顧客",
"prime_minister": "国の最高責任者(総理大臣・大統領)",
"emperor": "国家の象徴(君主・天皇)"
}
# 指定された相手の立場が許可リストにあれば設定
if role_type in allowed_target_roles:
self.target_role = role_type
print(f"🤝 相手の立場を【{allowed_target_roles[role_type]}】に設定しました。")
else:
self.target_role = "general"
print("⚠️ 該当する立場がありません。自動的に【一般の公職者・市民】として設定されました。")
自分の立場(第2回)と、相手の立場(第3回)がこれで揃いました。次は、これらお互いの立場に合わせて、発言できる内容やセキュリティ制限を自動調整する「第4回:立場に応じた入力制限(セキュリティレベル)の設定」に進みます。
第4回:立場に応じた入力制限(セキュリティレベル)の設定
このコードでは、お互いの立場(ロール)に応じてシステムのセキュリティレベル(安全管理基準)を自動的に変化させる機能を追加します。国の最高責任者などが関わる重要な対話では、軽率な表現や誤解を招く言葉が混ざらないよう、セキュリティチェックの強度を自動で引き上げる仕組みです。
python
def evaluate_security_level(self) -> int:
"""
自分と相手の立場から、現在の通信に必要なセキュリティレベルを5段階で判定する
戻り値: 1(一般・カジュアル) 〜 5(国家最高機密・厳格)
"""
# 初期値はレベル1(一般)
level = 1
# ビジネスや取引先が絡む場合はレベル2
if self.my_role == "ceo" or self.target_role == "business_partner":
level = 2
# どちらか一方でも国の最高責任者(総理大臣など)ならレベル4
if self.my_role == "prime_minister" or self.target_role == "prime_minister":
level = 4
# どちらか一方でも国家の象徴(天皇など)なら最大レベル5
if self.my_role == "emperor" or self.target_role == "emperor":
level = 5
print(f"🔒 現在のセキュリティレベル: Level {level}")
return level第5回:最高責任者(国家リーダー)向けの厳格モード判定
このコードでは、ノートに書かれていた『韓非子』のような冷静沈着な知性と強固な責任感をシステムに反映させます。国家リーダーや象徴が関わる発言の場合に、AIが気まぐれな表現を一切しないよう、自動的に「温度(Temperature)を極限まで低く設定(0.1)」し、発言の重みを管理する仕組みです。
python
def update_temperature_by_security(self):
"""
セキュリティレベルに応じて、AIの表現の硬さ(Temperature)を自動調整する
"""
security_level = self.evaluate_security_level()
# 国家リーダーや象徴が絡むレベル4以上の場合は、AIのブレをなくすため最少値にする
if security_level >= 4:
self.temperature = 0.1
print("🛡️ 【厳格モード】国家最高レベルの対話のため、表現のランダム性を極限まで下げました(Temp: 0.1)。")
# ビジネス等の場合はバランス型にする
elif security_level == 2:
self.temperature = 0.4
print("💼 【ビジネスモード】信頼性を重視した表現に設定しました(Temp: 0.4)。")
# 一般・友人の場合は標準設定
else:
self.temperature = 0.5
print("🌱 【標準モード】自然で人間らしい表現に設定しました(Temp: 0.5)。")
続く
著作権はあります。
