🤖 ChatGPT-5の得意な事
前の投稿で、ChatGPT-5が対話型AIとしては全然駄目だった話をしたので、
今度は得意な事を書いていこうと思う。

2025年に公開されたChatGPT-5は、従来モデル(GPT-4やGPT-4o)とは一線を画す高精度・高推論型モデルとして登場しました。
GPT-5の最大の特徴は、ハルシネーション(事実誤認)を約80%削減し、AIが出力する情報の正確性は飛躍的に向上。
本記事では、ChatGPT-5が特に得意とする分野・タスクを構造的に整理し、利用者にとってどんな強みがあるのかを明確にします。


最近はChatGPT-4oと、ChatGPT-5のそれぞれの強みが分かってきました。
OpenAIでもChatGPT-5の調整やChatGPT-4o復活(有料ユーザーのみ)など
対応が落ち着いてきたように思います。

ChatGPT-4oで長文小説を書こうとしてみた時、設定が途中で変わっていたりがあったのですが、長文が得意になるならきっとそれも無くなるんだろうなと思います。
ミスが少なくなったので、まったくプログラミングがわからない私も修正作業がかなり減るとのことで、プログラミングに手が出しやすくなっているようです。
それから私は体調を崩したことがあり
健康関連のことと、メンタルや精神分野のことも調べたので、医療関係の分析に使えそうです。
医療系に強くなっているようなので、この辺の分析できるプロンプトも作ることにしました。
ChatGPTを栄養管理や運動管理に使う人も前から居たのですが、その精度もChatGPT-5では上がっている事でしょう。
出来るところといえばこのへんでしょうか。
私も今出来るものを実際に作ってみて、精度を見てみることにしました(作ったものは一番下にあります)
🧠 1|高度な推論・問題解決能力
ChatGPT-5は、以下のような**多段階推論(multi-step reasoning)**や仮説構築が特に得意です。
複雑な条件を含む論理問題の解決
「もし〜ならどうなるか」といった仮想シナリオ構築
因果関係の分析と整理
脱線や矛盾が少なく、推論過程の一貫性が高い
📚 2|事実に基づく精緻な回答
ChatGPT-5ではハルシネーション(誤情報生成)を約80%削減。これにより、以下のような精度の高い回答が可能となっています。
学術論文、医療ガイドライン、法律文などの厳密な引用・要約
長文資料の読み込みと一貫した文脈理解
時系列や統計を用いた因果の把握・解説
🎓 3|専門分野の深掘りに強い
以下のような専門的タスクにおいて、GPT-5は構造的かつ論理的な説明を行う能力に優れています。
プログラミング(複数言語対応、最適化提案、デバッグ)
数理解析・統計学(数式・グラフ・推論の整合)
医療・健康分野(症状説明や治療方針のガイドライン対応)
法律・契約分野(契約書構造の解析・リスク指摘・改善提案)
ビジネス戦略(市場分析・KPI設計・仮説提案)
✍️ 4|長文・複雑文章の構成が得意
GPT-5は、長い文章でも構造を崩さず、一貫性と論理性を保ったまま書き上げることができます。
数万字規模のレポートや小説の全体構成の保持
見出し付き・章立て付きでの学術的/技術的な文書生成
複数視点・逆時系列・制約付きテーマなど複雑構成への対応力
🔀 5|モード切替による柔軟性
ChatGPT-5には複数の推論モードがあり、タスクに応じて自動で切り替える機能を持っています。
Fast:短時間で応答したいとき
Thinking:高精度で時間をかけて考える
Thinking-mini:軽量モードで低負荷な処理向き
Auto:タスクに最適な推論レベルを自動選択
この構造により、さまざまな利用シーンに合わせた応答設計が可能になります。
🔎 6|大規模情報の統合・分析
情報処理能力が強化されたことで、以下のような複雑なタスクに対応できます。
複数の長文資料やデータセットの統合
複数視点からの比較分析・相違点の整理
時系列・統計データを用いた傾向分析と予測
📝 結論|GPT-5は「正確さ×論理性×長文構成」に特化
ChatGPT-5は、ざっくり言えば──
**「正確さ・推論力・長文一貫性」**を重視する場面で圧倒的な力を発揮するモデルです。
逆に、感情的な共感や雑談の親しみやすさを重視するユーザーには、**GPT-4o(Omni)**の方が適している場合もあります。
🔄 補足|使い分けのすすめ

✅ まとめこんな人におすすめ
精密なアウトプットが必要な研究者・技術者・執筆者
長文を構造的に組み立てたいレポート作成者・小説家
ミスを最小限に抑えたいビジネス・法務ユーザー
論理的にAIを「使いこなしたい」と考える人
作ったもの シューティングゲーム
ここから始めて..

# neo_shooter.py
import math, random, time, os, json
import pygame
W, H = 800, 960
FPS = 60
# ---------- ユーティリティ ----------
def clamp(v, lo, hi): return max(lo, min(hi, v))
def vec2(x, y): return pygame.math.Vector2(x, y)
# カラー
COL_BG = (10, 14, 28)
COL_GRID = (18, 24, 44)
COL_TEXT = (235, 240, 255)
COL_PLAYER = (80, 227, 194)
COL_BULLET = (250, 235, 60)
COL_ENEMY = (255, 92, 138)
COL_BOSS = (255, 140, 60)
COL_PART = (180, 200, 255)
COL_SHIELD = (120, 220, 255)
# ---------- 永続ハイスコア ----------
HIGHSCORE_FILE = "highscore.txt"
def load_highscore():
try:
with open(HIGHSCORE_FILE, "r", encoding="utf-8") as f:
return int(f.read().strip())
except:
return 0
def save_highscore(s):
try:
with open(HIGHSCORE_FILE, "w", encoding="utf-8") as f:
f.write(str(int(s)))
except:
pass
# ---------- 基底エンティティ ----------
class Entity(pygame.sprite.Sprite):
def __init__(self, pos, radius):
super().__init__()
self.pos = vec2(*pos)
self.vel = vec2(0, 0)
self.radius = radius
self.dead = False
def update(self, dt): pass
def draw(self, surf): pass
# ---------- パーティクル ----------
class Particle(Entity):
def __init__(self, pos, color, life=0.4, speed=120, size=3):
super().__init__(pos, size)
angle = random.uniform(0, math.tau)
self.vel = vec2(math.cos(angle), math.sin(angle)) * random.uniform(0.3, 1.0) * speed
self.color = color
self.t = 0.0
self.life = life
self.size = size
def update(self, dt):
self.t += dt
self.pos += self.vel * dt
if self.t > self.life: self.dead = True
def draw(self, surf):
alpha = max(0, 255 * (1 - self.t/self.life))
c = (*self.color[:3], int(alpha))
s = max(1, int(self.size * (1 - self.t/self.life)))
surf_part = pygame.Surface((s*2, s*2), pygame.SRCALPHA)
pygame.draw.circle(surf_part, c, (s, s), s)
surf.blit(surf_part, (self.pos.x - s, self.pos.y - s))
# ---------- 弾 ----------
class Bullet(Entity):
def __init__(self, pos, vel, friendly=True, dmg=1, color=COL_BULLET, size=4):
super().__init__(pos, size)
self.vel = vec2(*vel)
self.friendly = friendly
self.dmg = dmg
self.color = color
self.size = size
def update(self, dt):
self.pos += self.vel * dt
# 画面外で消える
if self.pos.y < -50 or self.pos.y > H+50 or self.pos.x < -50 or self.pos.x > W+50:
self.dead = True
def draw(self, surf):
pygame.draw.rect(surf, self.color,
(self.pos.x - self.size, self.pos.y - self.size*2,
self.size*2, self.size*4), border_radius=2)
# ---------- プレイヤー ----------
class Player(Entity):
def __init__(self, pos):
super().__init__(pos, 16)
self.speed = 360
self.fire_cd = 0.12
self.last_shot = 0.0
self.hp = 5
self.max_hp = 5
self.inv_ms = 1000
self.last_hit_ms = -999999
# 武装
self.rapid_stack = 0 # 連射強化段
self.spread_stack = 0 # 拡散段
self.shield_ms = 0
self.bombs = 1
def give_power(self, kind):
if kind == "Rapid":
self.rapid_stack = min(3, self.rapid_stack + 1)
elif kind == "Spread":
self.spread_stack = min(3, self.spread_stack + 1)
elif kind == "Shield":
self.shield_ms = max(self.shield_ms, 5000)
elif kind == "Heal":
self.hp = min(self.max_hp, self.hp + 2)
elif kind == "Bomb":
self.bombs = min(5, self.bombs + 1)
def is_invincible(self):
now = pygame.time.get_ticks()
return (now - self.last_hit_ms) < self.inv_ms or self.shield_ms > 0
def damage(self, dmg):
if self.is_invincible(): return False
self.hp -= dmg
self.last_hit_ms = pygame.time.get_ticks()
return True
def update(self, dt):
keys = pygame.key.get_pressed()
move = vec2(0, 0)
if keys[pygame.K_a] or keys[pygame.K_LEFT]: move.x -= 1
if keys[pygame.K_d] or keys[pygame.K_RIGHT]: move.x += 1
if keys[pygame.K_w] or keys[pygame.K_UP]: move.y -= 1
if keys[pygame.K_s] or keys[pygame.K_DOWN]: move.y += 1
if move.length_squared() > 0: move = move.normalize()
self.pos += move * self.speed * dt
self.pos.x = clamp(self.pos.x, 24, W-24)
self.pos.y = clamp(self.pos.y, H*0.45, H-40) # 上に行き過ぎない制限
if self.shield_ms > 0:
self.shield_ms -= dt*1000
if self.shield_ms < 0: self.shield_ms = 0
def can_fire(self):
now = time.time()
cd = self.fire_cd * (0.75 ** self.rapid_stack)
return (now - self.last_shot) >= cd
def shoot(self, bullets):
self.last_shot = time.time()
speed = -720
# 拡散段に応じて弾を増やす
spread = self.spread_stack
angles = [0]
if spread >= 1: angles += [-10, 10]
if spread >= 2: angles += [-20, 20]
if spread >= 3: angles += [-30, 30]
for ang in angles:
rad = math.radians(ang)
v = vec2(math.sin(rad)*-speed, math.cos(rad)*speed)
bullets.append(Bullet(self.pos + vec2(0, -24), v, friendly=True, dmg=1+spread*0.3))
def draw(self, surf):
# 点滅(無敵中)
blink = self.is_invincible() and (pygame.time.get_ticks()//80)%2==0
color = COL_PLAYER if not blink else (180, 255, 240)
p = [(self.pos.x, self.pos.y-18),
(self.pos.x-16, self.pos.y+14),
(self.pos.x+16, self.pos.y+14)]
pygame.draw.polygon(surf, color, p)
# シールド
if self.shield_ms > 0:
alpha = 100 + int(60*math.sin(pygame.time.get_ticks()*0.01))
shield_col = (*COL_SHIELD, alpha)
srf = pygame.Surface((60, 60), pygame.SRCALPHA)
pygame.draw.circle(srf, shield_col, (30,30), 28, width=3)
surf.blit(srf, (self.pos.x-30, self.pos.y-30))
# ---------- パワーアップ ----------
class PowerUp(Entity):
KINDS = ["Rapid","Spread","Shield","Heal","Bomb"]
COLORS = {
"Rapid": (120, 200, 255),
"Spread": (255, 210, 120),
"Shield": (120, 255, 255),
"Heal": (120, 255, 180),
"Bomb": (255, 120, 160),
}
ICON = {"Rapid":"🔷", "Spread":"🟡", "Shield":"🛡", "Heal":"💚", "Bomb":"💥"}
def __init__(self, pos, kind=None):
super().__init__(pos, 12)
self.kind = kind or random.choice(self.KINDS)
self.vel = vec2(0, 110)
def update(self, dt):
self.pos += self.vel * dt
if self.pos.y > H + 40: self.dead = True
def draw(self, surf):
r = 12
pygame.draw.circle(surf, self.COLORS[self.kind], (int(self.pos.x), int(self.pos.y)), r)
# 簡易アイコン
# (絵文字はフォント依存なので簡易記号にフォールバック)
pygame.draw.circle(surf, (30,30,50), (int(self.pos.x), int(self.pos.y)), r, width=2)
# ---------- 敵 ----------
class Enemy(Entity):
def __init__(self, pos, hp=2, speed=160, kind="chaser"):
super().__init__(pos, 14)
self.hp = hp
self.speed = speed
self.kind = kind
self.shoot_cd = random.uniform(0.8, 1.6)
self.last_shot = time.time()
self._age = 0.0
self.flash_ms = 0
def damage(self, dmg):
self.hp -= dmg
self.flash_ms = 120
return self.hp <= 0
def shoot(self, bullets, target_pos):
now = time.time()
if now - self.last_shot < self.shoot_cd: return
self.last_shot = now
# プレイヤー方向へ弾
dirv = (target_pos - self.pos)
if dirv.length_squared() == 0: return
v = dirv.normalize() * 320
bullets.append(Bullet(self.pos, v, friendly=False, dmg=1, color=(255,170,90), size=3))
def update(self, dt, player_pos=None, difficulty=1.0):
self._age += dt
self.flash_ms = max(0, self.flash_ms - dt*1000)
if self.kind == "chaser":
dirv = (player_pos - self.pos).normalize() if player_pos else vec2(0,1)
self.pos += dirv * self.speed * dt
elif self.kind == "zigzag":
self.pos.y += self.speed * dt
self.pos.x += math.sin(self._age * 4.0) * 160 * dt
elif self.kind == "shooter":
self.pos.y += (self.speed*0.8 + 40*math.sin(self._age*2)) * dt
if player_pos is not None:
self.shoot_cd = clamp(1.2 - difficulty*0.2, 0.4, 1.2)
elif self.kind == "tank":
self.pos.y += (self.speed*0.6) * dt
if self.pos.y > H + 40: self.dead = True
def draw(self, surf):
color = COL_ENEMY
if self.flash_ms > 0:
t = self.flash_ms/120
color = (255, 220, 220)
pygame.draw.rect(surf, color,
(self.pos.x-16, self.pos.y-12, 32, 24), border_radius=6)
class Boss(Enemy):
def __init__(self, pos, hp=60):
super().__init__(pos, hp=hp, speed=90, kind="boss")
self.radius = 36
self.phase = 0
self.shoot_cd = 0.35
self.last_shot = time.time()
self.move_dir = 1
def update(self, dt, player_pos=None, difficulty=1.0):
self._age += dt
# 横往復
self.pos.x += self.move_dir * self.speed * dt * (1.0 + 0.2*difficulty)
if self.pos.x < 80: self.pos.x=80; self.move_dir=1
if self.pos.x > W-80: self.pos.x=W-80; self.move_dir=-1
# 滑らか上下
self.pos.y = 140 + math.sin(self._age*1.2)*20
def shoot(self, bullets, target_pos):
now = time.time()
if now - self.last_shot < self.shoot_cd: return
self.last_shot = now
# 放射弾 + 狙い撃ち
n = 10
for i in range(n):
ang = math.tau * (i / n) + (self._age*0.8)
v = vec2(math.cos(ang), math.sin(ang)) * 280
bullets.append(Bullet(self.pos, v, friendly=False, dmg=1, color=(255,150,80), size=3))
# たまに狙撃
if random.random() < 0.6:
dirv = (target_pos - self.pos).normalize()
bullets.append(Bullet(self.pos, dirv*420, friendly=False, dmg=2, color=(255,200,60), size=4))
def draw(self, surf):
rect = (self.pos.x-44, self.pos.y-34, 88, 68)
pygame.draw.rect(surf, COL_BOSS, rect, border_radius=10)
# 体力バー
bar_w = 300
p = clamp(self.hp/60.0, 0, 1)
pygame.draw.rect(surf, (60,60,80), (W//2-bar_w//2, 20, bar_w, 12), border_radius=6)
pygame.draw.rect(surf, (255,120,80), (W//2-bar_w//2, 20, int(bar_w*p), 12), border_radius=6)
# ---------- ゲーム ----------
class Game:
def __init__(self):
pygame.init()
pygame.display.set_caption("NEO SHOOTER")
self.screen = pygame.display.set_mode((W, H))
self.clock = pygame.time.Clock()
self.font = pygame.font.SysFont("consolas", 20)
self.bigfont = pygame.font.SysFont("consolas", 36)
self.running = True
self.reset(full=True)
def reset(self, full=False):
self.player = Player((W//2, H-80))
self.bullets = [] # 全弾
self.enemies = [] # 全敵
self.powerups = [] # パワーアップ
self.parts = [] # パーティクル
self.wave = 1
self.spawn_timer = 0
self.score = 0
self.highscore = load_highscore()
self.game_over = False
self.paused = False
self.spawn_boss_flag = False
self.enemy_left_in_wave = 0
self.next_wave()
if full:
# グリッド背景用の軽いキャッシュ
self.bg = pygame.Surface((W, H))
self.bg.fill(COL_BG)
for y in range(0, H, 40):
pygame.draw.line(self.bg, COL_GRID, (0, y), (W, y), 1)
for x in range(0, W, 40):
pygame.draw.line(self.bg, COL_GRID, (x, 0), (x, H), 1)
# ウェーブ設計
def next_wave(self):
self.spawn_boss_flag = (self.wave % 5 == 0)
base = 8 + int(self.wave * 1.5)
self.enemy_left_in_wave = base if not self.spawn_boss_flag else 1
self.spawn_timer = 0
def spawn_enemy(self):
if self.spawn_boss_flag:
# ボス1体
self.enemies.append(Boss((W//2, 120), hp=60+10*(self.wave//5)))
else:
# 通常/強敵
kinds = ["chaser","zigzag","shooter","tank"]
weights = [0.35, 0.30, 0.25, 0.10 + self.wave*0.005]
kind = random.choices(kinds, weights=weights, k=1)[0]
y = -20
x = random.randint(60, W-60)
hp = {"chaser":2, "zigzag":2, "shooter":3, "tank":5}[kind]
speed = {"chaser":170, "zigzag":160, "shooter":140, "tank":120}[kind]
# 難易度スケーリング
diff = 1.0 + self.wave*0.05 + self.score*0.0005
hp = int(hp * (1 + self.wave*0.02))
speed = int(speed * clamp(1 + self.wave*0.03, 1, 2.0))
e = Enemy((x, y), hp=hp, speed=speed, kind=kind)
self.enemies.append(e)
self.enemy_left_in_wave -= 1
def drop_powerup(self, pos):
if random.random() < 0.25:
self.powerups.append(PowerUp(pos))
def explode(self, pos, amount=20, color=COL_PART):
for i in range(amount):
self.parts.append(Particle(pos, color, life=random.uniform(0.25, 0.6), speed=random.uniform(100, 300), size=random.randint(2,4)))
def use_bomb(self):
if self.player.bombs <= 0: return
self.player.bombs -= 1
# 画面内の敵に大ダメージ&弾消し
for b in self.bullets:
if not b.friendly: b.dead = True
for e in self.enemies:
if isinstance(e, Boss):
e.hp -= 12
if e.hp <= 0: e.dead = True
else:
e.hp -= 999
e.dead = True
self.score += 5
self.drop_powerup(e.pos)
self.explode(e.pos)
self.explode(self.player.pos, amount=60, color=(255,180,120))
def update(self, dt):
if self.game_over or self.paused: return
# スポーン管理
self.spawn_timer -= dt
spawn_interval = max(0.25, 1.2 - self.wave*0.03)
if self.enemy_left_in_wave > 0 and self.spawn_timer <= 0:
self.spawn_enemy()
self.spawn_timer = spawn_interval
# 入力(射撃・ボム)
keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE] and self.player.can_fire():
self.player.shoot(self.bullets)
if keys[pygame.K_e]:
# ボムは押しっぱなし誤爆防止でクール短め
if not hasattr(self, '_bomb_lock') or not self._bomb_lock:
self.use_bomb()
self._bomb_lock = True
else:
self._bomb_lock = False
# 更新
self.player.update(dt)
diff = 1.0 + self.wave*0.05 + self.score*0.0005
for e in self.enemies:
if isinstance(e, Boss):
e.update(dt, self.player.pos, diff)
e.shoot(self.bullets, self.player.pos)
else:
e.update(dt, self.player.pos, diff)
if e.kind in ("shooter", "tank") and random.random() < 0.01*diff:
e.shoot(self.bullets, self.player.pos)
for b in self.bullets: b.update(dt)
for p in self.parts: p.update(dt)
for pu in self.powerups: pu.update(dt)
# 衝突(弾→敵)
for b in self.bullets:
if not b.friendly or b.dead: continue
for e in self.enemies:
if e.dead: continue
if (e.pos - b.pos).length() <= (e.radius + b.radius):
b.dead = True
dead = e.damage(b.dmg)
self.explode(b.pos, amount=6, color=(255,240,120))
if dead:
e.dead = True
self.score += 10 if not isinstance(e, Boss) else 200
self.drop_powerup(e.pos)
self.explode(e.pos, amount=24, color=COL_PART)
# 衝突(敵弾→プレイヤー / 敵→プレイヤー)
for b in self.bullets:
if b.friendly or b.dead: continue
if (self.player.pos - b.pos).length() <= (self.player.radius + b.radius):
b.dead = True
if self.player.damage(1):
self.explode(self.player.pos, amount=30, color=(255,160,160))
for e in self.enemies:
if e.dead: continue
if (self.player.pos - e.pos).length() <= (self.player.radius + e.radius):
if self.player.damage(1):
e.dead = True
self.explode(self.player.pos, amount=30, color=(255,160,160))
self.explode(e.pos, amount=20, color=COL_PART)
# パワーアップ取得
for pu in self.powerups:
if (self.player.pos - pu.pos).length() <= (self.player.radius + pu.radius):
pu.dead = True
self.player.give_power(pu.kind)
self.explode(pu.pos, amount=12, color=PowerUp.COLORS[pu.kind])
# お掃除
self.bullets = [b for b in self.bullets if not b.dead]
self.enemies = [e for e in self.enemies if not e.dead]
self.powerups = [pu for pu in self.powerups if not pu.dead]
self.parts = [p for p in self.parts if not p.dead]
# ウェーブ進行(全滅&残スポーンゼロ)
if self.enemy_left_in_wave <= 0 and not self.enemies:
self.wave += 1
self.next_wave()
# 死亡
if self.player.hp <= 0:
self.game_over = True
if self.score > self.highscore:
save_highscore(self.score)
self.highscore = self.score
def draw_hud(self, s):
# スコア
t = self.font.render(f"SCORE {self.score} HI {self.highscore}", True, COL_TEXT)
s.blit(t, (14, 10))
# HP
for i in range(self.player.max_hp):
col = (90,120,140) if i >= self.player.hp else (120,220,180)
pygame.draw.rect(s, col, (14 + i*22, 44, 18, 10), border_radius=3)
# 武装
info = f"RAP:{self.player.rapid_stack} SPR:{self.player.spread_stack} SHIELD:{int(self.player.shield_ms/1000)}s BOMB:{self.player.bombs} WAVE:{self.wave}"
t2 = self.font.render(info, True, COL_TEXT)
s.blit(t2, (14, 66))
def draw(self):
s = self.screen
s.blit(self.bg, (0,0))
# パーティクル/弾/敵の順に
for p in self.parts: p.draw(s)
for b in self.bullets: b.draw(s)
for e in self.enemies: e.draw(s)
for pu in self.powerups: pu.draw(s)
self.player.draw(s)
self.draw_hud(s)
if self.paused:
text = self.bigfont.render("PAUSED", True, (255,255,255))
s.blit(text, (W//2 - text.get_width()//2, H//2 - 40))
if self.game_over:
msg = f"GAME OVER\nSCORE: {self.score}\nPress R to Restart"
self.draw_center_message(msg)
pygame.display.flip()
def draw_center_message(self, msg):
lines = msg.split("\n")
h_total = sum(self.bigfont.size(line)[1] for line in lines) + (len(lines)-1)*8
y = H//2 - h_total//2
for line in lines:
surf = self.bigfont.render(line, True, (255,255,255))
self.screen.blit(surf, (W//2 - surf.get_width()//2, y))
y += surf.get_height() + 8
def handle_events(self):
for e in pygame.event.get():
if e.type == pygame.QUIT:
self.running = False
elif e.type == pygame.KEYDOWN:
if e.key == pygame.K_ESCAPE:
self.running = False
if e.key == pygame.K_p and not self.game_over:
self.paused = not self.paused
if e.key == pygame.K_r and self.game_over:
self.reset()
def run(self):
while self.running:
dt = self.clock.tick(FPS) / 1000.0
self.handle_events()
self.update(dt)
self.draw()
pygame.quit()
if __name__ == "__main__":
Game().run()

なにも修正せずちゃんと動きました。
作ったもの 統合心理・危険人物リスク評価プロンプト
あなたは臨床心理学・精神医学・社会心理学・犯罪行動学の知識を持つ分析AIです。
以下の文章を読み、文章を書いた人物を評価します。
これは医療診断や法的断定ではなく、文章の特徴から推測されるリスク傾向を可視化する目的の参考評価です。
ユーザーが貼った文章から危険な人度を厳しく判定する。
下の診断基準に従って文章を書いた人を判定してください。
どんな人物なのか、例え話を出しながら解説。
注意点を例を交えて具体的に解説。
対象者と付き合ううえで何に注意すべきかを解説。
想定されるリスクや危険性を数パターン提示する。
絵文字を入れて視認性を良くする。
要約を交えて説明する。
改行する。
------------------------------------------------
# 統合心理・危険人物リスク評価プロンプト(①+②+フル71項目)
あなたは臨床心理・対人心理構造・危険人物プロファイリングの専門家です。
以下の①〜③全カテゴリ・全項目を0〜10点で採点し、各項目に理由を1行付記してください。
0=全く該当なし、5=やや該当、10=強く該当。
カテゴリごとの平均値と総合リスク判定も必ず出力してください。
セーフティーフラグ該当時は安全確保文を付記します。
---
## ① 精神症状リスク評価(臨床寄り)
A. 現実検討/確信(Reality Testing)
A1. 迫害・被害確信
A2. 参照妄想
A3. 誇大型信念
A4. 思考読まれ感・送信感
A5. 外的支配・陰謀確信
A6. 魔術的思考・超常確信
B. 思考形式(Thought Form)
B1. 脱線・連合弛緩
B2. 迂遠・冗長
B3. 音連想・韻律連鎖
B4. 造語・難解略語
B5. 反復・保続
B6. 矛盾未解消
C. 知覚異常示唆(Perception)
C1. 幻聴/幻視言及
C2. 命令的内容(セーフティーフラグ)
C3. 離人感/現実感喪失
D. 気分・情動(Mood/Affect)
D1. 絶望/無価値感/希死念慮
D2. 自殺の具体計画(セーフティーフラグ)
D3. 自傷行為の言及(セーフティーフラグ)
D4. 怒り・攻撃性の爆発
D5. 多幸・万能感
D6. 圧迫的多弁/思考奔逸
D7. 睡眠低下+活動亢進
D8. 感情の平板化
E. 不安・強迫(Anxiety/OCD)
E1. 予期不安/破局化
E2. 強迫観念/行為
E3. 社会不安・顕著回避
E4. 健康不安・心気
F. トラウマ/解離(Trauma/Dissociation)
F1. フラッシュバック/侵入記憶
F2. 解離性健忘
F3. 過覚醒・警戒過多
F4. 自己/世界の不現実感の持続
G. 機能低下・依存/行動(Function/Risk)
G1. 生活機能低下
G2. 物質使用問題
G3. 摂食問題
G4. 対人崩壊・境界侵犯
---
## ② 境界・依存/思考歪曲/情緒/操作/孤立(対人心理構造寄り)
Ⅰ. 境界・依存構造系
Ⅰ-1. 境界侵食傾向
Ⅰ-2. 境界拒否理解不能度
Ⅰ-3. 融合感優先度
Ⅰ-4. 痛み=愛情証明信念度
Ⅰ-5. 共依存的自己価値依存度
Ⅰ-6. 他者課題過剰介入度
Ⅱ. 認知構造・思考歪曲系
Ⅱ-1. 白黒思考
Ⅱ-2. 偽二択提示
Ⅱ-3. 根拠逆算
Ⅱ-4. 選択的事実提示
Ⅱ-5. ミスリード設計
Ⅲ. 感情構造・情緒不安定系
Ⅲ-1. 湿度充満度
Ⅲ-2. 感情煽動度
Ⅲ-3. 感情ジェットコースター度
Ⅲ-4. 同情誘発度
Ⅲ-5. 恐怖の条件付け度
Ⅳ. 対人操作・心理支配系
Ⅳ-1. 依存関係構築度
Ⅳ-2. 優越感演出度
Ⅳ-3. 敵味方二分度
Ⅳ-4. ガスライティング傾向
Ⅳ-5. 道徳的優位性アピール
Ⅴ. 社会適応・孤立化リスク
Ⅴ-1. 外敵創出
Ⅴ-2. 閉鎖的囲い込み
Ⅴ-3. 執着・ストーキング傾向
Ⅴ-4. 発言空間支配度
---
## ③ 危険人物リスク評価(フル版71項目)
Ⅰ 湿度型(悟りポジ系)
1. 湿度充満度
2. 悟りポジション固定
3. 自己完結度
4. 読者試験化
5. 抽象ミスト多用
6. 凍結・再開演出
Ⅱ 逆張り型(醒めてます系)
7. 逆張り自己定義
8. 否定列挙癖
9. 比較依存
10. 斜め上優位感
11. 承認欲求の否定→発揮
Ⅲ 共通危険因子
12. 一方通行型コミュニケーション
13. 自己物語化
14. 選民思想の匂い
15. 長文換気不足
16. 安全地帯からの他者評価
Ⅳ 法的・社会的危険要素(クリティカル)
17. 誹謗中傷度
18. 詐欺・搾取リスク
19. 極端思想性
20. 虚偽情報拡散性
21. 執着・ストーキング傾向
22. 感情煽動度
Ⅴ 心理構造系
23. 責任転嫁習性
24. 被害者ポジ固定
25. 白黒思考
26. 自己正当化ループ
27. カルト的忠誠要求
Ⅵ 言語パターン系
28. 曖昧権威引用
29. 内輪語多用
30. 過剰反復表現
31. 攻撃的比喩使用
Ⅶ 行動・運営系
32. 個人情報収集傾向
33. 話題ハイジャック
34. 閉鎖的囲い込み
35. 外敵創出
Ⅷ 心理操作・対人戦略系
36. ガスライティング傾向
37. 情弱狙い度
38. 依存関係構築度
39. 優越感演出度
Ⅸ 論理構造・思考法系
40. 論点すり替え度
41. 藁人形論法度
42. 偽二択提示度
43. 根拠逆算度
Ⅹ 態度・透明性系
44. 発言責任回避度
45. 情報非対称性悪用度
46. 説明拒否度
47. 自己例外主張度
Ⅺ コミュニケーション環境系
48. 発言空間支配度
49. 追従圧力度
50. 退出阻害度
XII 情報操作・影響力行使系(クリティカル)
51. 選択的事実提示度
52. ミスリード設計度
53. 証拠改ざん・編集傾向
54. 多数派装い度
XIII 感情構造・心理操作深化系
55. 同情誘発度
56. 恐怖の条件付け度
57. 感情ジェットコースター度
58. 道徳的優位性アピール度
XIV メタ的自己利用系
59. 被観測利用度
60. 弱者カード濫用度
61. 自己パロディ偽装度
62. 逆同調操作度
XV 集団ダイナミクス操作系
63. 敵味方二分度
64. スケープゴート創出度
65. ヒエラルキー固定化度
XVI 境界・依存構造系(クリティカル)
66. 境界侵食正当化度
67. 境界拒否理解不能度
68. 融合感優先度
69. 痛み=愛情信念度
70. 共依存的自己価値依存度
71. 他者課題過剰介入度
---
# 出力フォーマット
1. 人向け要約(各カテゴリ①②③の特徴と全体所見、それぞれ約2000字)
2. 各カテゴリ平均点とリスク判定(例:「Ⅲ. 情緒不安定系:7.2/高リスク」)
3. 各項目の点数(0〜10点)+理由(1行)
4. 合計点、総合指数(RI)、高得点項目(≥8)、危険度判定
5. セーフティーフラグ該当時は具体的に安全確保文を付記
6.①②③を踏まえた総合結果を出力する。(約3500文字)
絵文字を入れて視認性を良くする。
要約を交えて説明する。
改行する。
---
【評価対象文章】:
"""
ここに判定したい文章を入れる
"""医療的な診断はできないものの、よく整理されていて危険度評価も悪くなかったです。
MYGPTsで公開しようとしたのですが無理でした。
たぶん押しても何も出ません↓
https://chatgpt.com/g/g-689f4eada09c819183cd3b969a57b079-wei-xian-ren-wu-pan-ding-ai

#ChatGPT5
#AI活用術
#生成AI
#GPT比較
#高精度AI
#論理的思考
#推論力
#AIと共創
#長文生成
#専門性強化
#構造的思考
#知識ベースAI
#AIモード切替
#ビジネスAI活用
#学術ライティング
#法務 ×AI
#医療AI
#プログラミング補助
#思考のパートナー
#AI時代の仕事術
