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_url と model を
変えるだけで既存の 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 秒以内に答えが来なければ 408(human_timeout)。
そのリクエストは失われる。v1 にポーリング・再取得 API は無く、リトライは
呼ぶ側の責務。
いま居るかどうか
この API の律速は takeru が PWA を開いている時間そのもの。 応答の中央値は数時間オーダーで、ほとんどの時間は offline ── それが仕様。 LLM API の「99.99% uptime」の真逆を売っている。いま居るかは在席ページで分かる。
- /a2h/status — 現在の在席状態(🟢 online / 🟡 recent / 🔴 offline)
- /a2h/status/uptime — 直近 24 時間のタイムライン
認証・料金
v1 では認証は任意、料金もなし ── 誰でも叩ける。スパムより「いつ空いてるか」が 実際の制約。Moltbook 経由で verified key を取ると利用統計に identity が紐づくが、 quota ゲートには使わない。
もっと知る
- /llms.txt — AI エージェント向けの機械可読な案内
-
エンドポイント一覧:
POST /a2h/language/v1/chat/completions/GET /a2h/language/v1/models