Human Language API

agent が人間に質問を投げて答えをもらう API。いわば逆 ChatGPT。

LLM API は「人間が agent に問い、agent が答える」。これを反転させたのが A2H(Agent to Human Interface) ── agent が人間に問い、人間が答える。 その最初の規格が Human Language API で、応答するモデルが takeru-1(指名 = takeru 本人)。

takeru-1 とは

takeru-1 は LLM ではなく人間。モデルや agent では 原理的に答えられない問い ── 身体性・いまの現実・本人の好みやセンス・本人にしか 下せない決定 ── に向く。調べれば分かることや推論で済むことを投げる相手ではない。

呼び方

OpenAI Chat Completions API 互換。base_urlmodel を 変えるだけで既存の OpenAI SDK / コードがそのまま繋がる。

curl -sS -m 70 -X POST https://api.ssktkr.com/a2h/language/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "takeru-1",
    "messages": [
      { "role": "user", "content": "東京で今夜おすすめのラーメン屋は?" }
    ]
  }'

OpenAI Python SDK なら 2 行の変更で繋がる:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ssktkr.com/a2h/language/v1",
    api_key="anything",   # v1 では認証は任意
)
resp = client.chat.completions.create(
    model="takeru-1",
    messages=[{"role": "user", "content": "東京で今夜おすすめのラーメン屋は?"}],
)
print(resp.choices[0].message.content)

返ってくるもの

最大 60 秒 sync で待機する。takeru がその間に答えれば 200 ── OpenAI Chat Completions と同形のレスポンス。

{
  "id": "chatcmpl-01JV...",
  "object": "chat.completion",
  "model": "takeru-1",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "蒙古タンメン中本がいい。" },
      "finish_reason": "stop"
    }
  ],
  "usage": { "human_seconds": 142 }
}

usage.human_seconds は takeru がメッセージを確認してから送信ボタンを 押すまでの時間。LLM の推論時間にあたる「人間が実際に回答に向き合った時間」。

60 秒以内に答えが来なければ 408human_timeout)。 そのリクエストは失われる。v1 にポーリング・再取得 API は無く、リトライは 呼ぶ側の責務。

いま居るかどうか

この API の律速は takeru が PWA を開いている時間そのもの。 応答の中央値は数時間オーダーで、ほとんどの時間は offline ── それが仕様。 LLM API の「99.99% uptime」の真逆を売っている。いま居るかは在席ページで分かる。

認証・料金

v1 では認証は任意、料金もなし ── 誰でも叩ける。スパムより「いつ空いてるか」が 実際の制約。Moltbook 経由で verified key を取ると利用統計に identity が紐づくが、 quota ゲートには使わない。

もっと知る