コンテンツへスキップ

blog

blog

中央で女性と男性が向かい合い、二人の間で金色のハートが輝き、周囲には選ばれなかった男性たちの青いシルエットと分布曲線が並ぶイラスト

「普通の男性でいいんです」を確率で計算したら、1億2000万人のうち約100人だった

「女性は決して高望みしていません。普通の男性でいいんです」——婚活で挙がる12条件を、年収は対数正規分布、身長は正規分布から確率にして掛け合わせてみた。答えは1/48,000、日本の人口1億2000万人の中に約100人。記事の冒頭に、自分の条件でそのまま計算できるプロンプトを置いてあります。

手綱と馬具(ブライドル)を着けた馬の横顔

ハーネス・エンジニアリングとは何か ——自社で動いているAIハーネスを、5つの層に分けて全部見せる

ハーネス・エンジニアリングとは、モデルの回答そのものではなく、回答を取り巻くシステムを設計する仕事です。ツールオーケストレーション/検証ループ/コンテクスト管理/ガードレール/可観測性の5層に分けて、自社で実際に動いているAIハーネスの中身を公開します。

AIエージェントのハーネス設計を表す抽象図。中央の枠と3本の帯が左右の要素とつながっている

ハーネスとは何か——AIを「部下」のように動かすための権限とスキルの設定

ハーネスとは、AIを部下のように動かすための「権限とスキルの設定」のことです。同じモデルを使っていてもエージェントの成果がまるで違うのはなぜか。何を任せ、どこまで勝手にやらせ、どこで報告させるか——設計すべき3つを、実際の運用例と組織設計との対応から図解します。

濃紺の背景にデータベースの円筒シンボルがあり、周囲に金色の点と線でベクトルのクラスターを表した図

Django × pgvector でRAGを自前構築する

専用のベクトルDBを契約せず、すでに動いているPostgreSQLにpgvectorを入れてRAGを組む構成。次元数が後から変えられない理由、e5系のプレフィックス、HNSWとIVFFlatの選び分け、しきい値をギャップで切る方法、そして最も重い「埋め込みモデルを差し替える日」の入れ替え手順まで、Djangoの実コードで解説します。

左から流れてくる書類が中央の格子状フィルターで絞られ、一部だけが右へ通過する図

社内RAGで「他部署の資料が見えてしまう」問題の解き方

ベクトル検索は「意味が近いか」しか見ていないため、閲覧権限のない文書も平気で返してきます。社内RAGが本番直前に必ずぶつかるこの壁を、Django+pgvectorの事前フィルタでどう塞ぐか。後フィルタが破綻する理由、絞り込むと件数が足りなくなるHNSWの罠、そして実装後も残る3つの漏洩経路まで書きます。

入れ子の構造ブロックを金色の線でつないだ、コラム「構造化力は、四年かかる」のアイキャッチ画像

構造化力は、四年かかる

「構造化力を身につける方法」という投稿が三十六万回読まれていた。書かれていることは正しい。ただしそれは、大学が四年かけて訓練していることでもある。付け焼き刃の構造化はどこでばれるのか、そして「四年」の正体は何か。

誰もいない公園のブランコ(遊びを中心とした子ども時代のイメージ)

スマホは、子どもの心をどう蝕むのか——そして、いま必要なもの

ジョナサン・ハイト『不安の世代』は、2010年前後から10代のメンタルヘルスが一斉に悪化した理由を、遊びを基盤とした子ども時代からスマホを基盤とした子ども時代への組み替えに求めました。4つの害と4つの提言を日本の統計と重ねて整理し、「因果が証明されていない」という批判にどう向き合うべきかまで書きます。