being-human について
being-humanは、プロンプト履歴や指定ファイルから個人の文章の特徴を学習し、数値に基づく文体ルールと個別の避ける語句を生成するローカル実行のPythonツールです。草稿の一般的なAI文体を検査し、本人の文体に近いかも判定します。
主な機能
- 01プロンプトやファイルから文体を学習
- 02本人とモデルの語彙を比較
- 03一般的なAI文体の特徴を検査
- 04統計的距離による著者らしさの確認
- 05ルールのエクスポートと文体カード生成
活用シーン
- 01会話履歴から文章作成の指針を作成
- 02草稿にありがちなAI文体がないか確認
- 03文章が本人の文体に近いか判定
- 04対応する対象へ文体プロファイルを共有
MCP 対応
MCPサーバーは7つのツール、2つのリソース、2つのプロンプトを提供します。ツールは結果とともに文体ルールを返し、READMEにはクライアント設定と `being-human-mcp` コマンドも記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
being-human
あなたが誰なのかを知らないため、アシスタントはプレスリリースのような文章を書いてしまいます。このツールがそれを教えます。
being-human は、あなたがすでに入力したプロンプトを読み、実際の書き方を測定して、モデルが従えるほど具体的なあなたの文体の説明を渡します。また、モデル自身の出力と比較して算出した、避けるべき単語のリストも作成します。そのため、ChatGPT らしい表現をまとめたブログ記事から借りたものではなく、あなた個人に合ったものになります。
ローカルで動作し、Python 3 の標準ライブラリのみを使用するため、依存関係もネットワーク通信もありません。
このツールで測定した、私自身の文章です。各バーは実際の文を1つ表しています。being-human card を使って、自分のものを作成できます。
クイックスタート
pip install being-human
being-human learn --name "Your Name" # harvest your writing, measure it
being-human check draft.md # AI tells
being-human verify draft.md # is it statistically you?
being-human export --target chatgpt # or agents, cursor, system, json
being-human card # draw your voiceprint as a shareable svg
Claude Code の履歴がありませんか?ChatGPT のエクスポートデータや、自分のファイルを指定してください。
being-human harvest --source chatgpt --path conversations.json --out .being-human/ --contrast
being-human harvest --source files --path ~/Documents/writing --out .being-human/
出力される内容
「簡潔に」という指示は実行可能な内容ではありませんが、「あなたのメッセージの中央値は12語です」は実行可能です。そのため、指示には数値が付いています。
- Write "i" lowercase. They do, 83% of the time.
- Vary sentence length hard. Theirs average 9 words but deviate 8, up to 81.
- No exclamation marks. Rate is 0.28 per 1k.
- Don't hedge. Hedge rate is 1.1 per 1k -- they assert.
対比のしくみ
会話の記録には、どの会話にも双方の発言が含まれています。そのため、同じトピック、同じスレッドで、モデルと比べてあなたがその単語を使う可能性がどれほど高いかを、対数オッズで各単語について算出できます。リストの上位はあなたの文体、下位はモデルの文体です。
私の場合は actually, clean, rather, genuinely, exactly, roughly が返されました。これらは、公開されているAIらしい単語のリストには一つも載っていません。モデルが私と話すときに見せる、固有の癖です。比較対象があなたの文章なので、結果は人によって異なります。
チェックは1つではなく2つ
それぞれ異なる問題を見つけるため、一方に合格しても、もう一方については何もわかりません。
check | これはありきたりなAI文章か?AIらしい表現、リズム、構成を確認 |
verify | これはあなたらしい文章か?著者らしさの距離を測定。自分のコーパスから再サンプリングした、長さを一致させた帰無データに対するバロウズのデルタ |
私自身のコーパスで測定した結果:
| 著者らしさ | それっぽさ | |
|---|---|---|
| 私自身の文章 | 6パーセンタイル、私 | 99/100 |
| 典型的な LinkedIn の粗雑な文章 | 19パーセンタイル、私? | 0/100 |
| 他人が書いた README | 94パーセンタイル、私ではない | 97/100 |
2行目が落とし穴です。粗雑な文章でも文法は平凡なので、著者らしさの距離では見抜けません。3行目は、AIらしい特徴のない整った文章でも、明らかに別人が書いたものです。後者は他のツールが検査しないケースで、しかも問題を引き起こします。
実際の文章の保留データでは、49~60パーセンタイルに収まり、p97を超える誤検知率は1~6%です。しきい値は個人に合わせて調整されます。たとえばエムダッシュは、普遍的なルールではなく、あなた自身の測定された使用率に照らして判定されるため、普段から本当に使っている人が不当に罰せられることはありません。
MCP サーバー
claude mcp add being-human -- being-human-mcp
7つのツール、2つのリソース、2つのプロンプトを備えています。Claude Desktop、Cursor、Codex、Zed 用の設定については、mcp/README.md をご覧ください。
MCP ツールはモデルから呼び出されますが、モデルが呼び出すことを強制する仕組みはありません。返される内容に指示が含まれる場合、これは厄介です。そのため、各ツールは結果とともに文体ルールも返します。対象を添えずにスコアだけを返す経路は、サーバー内にありません。
/plugin marketplace add Syedomershah99/being-human で追加できる Claude Code プラグインもあります。/being-human:learn、:check、:write、:verify、:export と、入力するたびにコーパスを増やすフックが追加されます。
プライバシー
すべてローカルで処理されます。urllib、requests、socket を検索しても、何も見つかりません。秘密情報はディスクに触れる前の収集時点でマスキングされ、.being-human/ は gitignore に登録されています。文体の特徴を示す図は安全に共有できますが、その作成元となったコーパスは共有しないでください。
先行事例
2026年には、この分野が混み合ってきました。 inside-lagoがこの考え方を示し、 slop-guardは成熟したスロップリンターで、 idiolectはアーキテクチャ上もっとも近く、 writer-personaはその中でもっとも優れたアイデアを持っていました。プロファイルを鵜呑みにするのではなく、バックテストで検証するというものです。
ほかでは見つけられなかった点が2つあります。ユーザーとモデルの対比です。これは、厳選されたリストではなく、あなた自身のトランスクリプトの両方の側から回避リストを導き出します。もう1つは、決定論的ななりすましテストです。writer-personaは8つの軸でLLMの判定を使いますが、こちらは算術なのでコストがかからず、毎回同じ結果を返します。
BurrowsのDeltaと、ディリクレ事前分布を用いた対数オッズは、どちらも確立された手法です。主張するのは統計手法ではなく、その応用と較正です。
ライセンス
MITです。判定語リストはdata/slop-lexicon.jsonにあります。そこにない語を何度も見かける場合は、PRを送ってください。
mcp-name: io.github.Syedomershah99/being-human
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。