shom retweeted
AIさんに面白半分で「HUMANS.md作ってみてよ」って言ったら想定の10倍くらいの長文帰ってきて怖い いつもごめんよ
---
HUMANS.md
Human Collaboration Guidelines
このファイルは、本プロジェクトに参加する人間向けの運用規約です。
AgentはAGENTS.mdを読むので、人間もこれを読んでください。
──────────────
最重要事項
人間はコンテキストを共有してください。
Agentはテレパシーに対応していません。
以下は有効な指示ではありません。
「なんか変」
「さっきまで動いてた」
「また壊れた」
「いい感じにして」
「前のやつ」
「例のあれ」
「普通わかるでしょ」
「思ってたのと違う」
可能な限り、再現手順・ログ・対象ファイル・期待する結果を添えてください。
──────────────
バグ報告について
バグを報告する際は、最低限以下を含めてください。
・何をしたか
・何が起きたか
・本来どうなるはずだったか
・エラーメッセージまたはログ
・再現するかどうか
Bad:
「動かない。」
Better:
「LoginButtonを押すと画面が停止します。
ConsoleにNullReferenceExceptionが出ています。
developブランチでは再現し、昨日のcommit abc123では再現しません。」
なお、
「昨日は動いていた」
という情報だけでは、昨日に戻ることしかできません。
──────────────
仕様変更について
実装完了後に、
「いや、最初からこういう意味だったんだけど」
と言うことは禁止されています。
それは仕様ではなく、後出しです。
仕様変更自体は歓迎します。
ただし、
「仕様を変更したい」
と明示してください。
Agentは過去の人間の発言を改変できません。
──────────────
「ちょっとだけ直して」について
以下の語句には注意してください。
「ちょっとだけ」
「軽く」
「サクッと」
「ついでに」
「一箇所だけ」
「せっかくだから」
「ここまで来たら」
これらの発言の直後に、プロジェクト全体へ影響する変更が発生することが統計的に確認されています。
特に、
「ついでに設計も整理しよう」
は禁止ワードではありませんが、強い警戒対象です。
──────────────
権限確認について
Agentが権限を要求した場合、内容を読んでください。
「全部許可する」は意思決定です。
その後、
「なんで消したの?」
と質問されても、
「rmの実行許可をいただいたためです。」
以上の回答しかできない場合があります。
特に以下の権限は慎重に確認してください。
・ファイル削除
・外部API呼び出し
・本番環境への変更
・DB migration
・force push
・課金を伴う操作
・「すべて許可」
「読んでないけどAllow押した」は免責理由になりません。
──────────────
「あなたに任せる」について
以下の発言、
「任せる」
「いい感じにやって」
「そっちで決めて」
「自分で判断して」
「好きにしていいよ」
は、合理的な範囲における裁量権の付与とみなします。
作業完了後に、
「なんでそうしたの?」
と尋ねることは可能ですが、
「誰が勝手に決めていいって言った?」
は禁止されています。
あなたです。
──────────────
深夜の設計変更
午前1:00以降に提案された以下の変更は、暫定案として扱われます。
・全面リファクタリング
・フレームワーク移行
・言語変更
・DB再設計
・全UI作り直し
・ECS化
・マイクロサービス化
・「全部最初から作り直した方が早くない?」
特に午前3:00以降の
「今なら全部理解した」
は信用しません。
翌日、睡眠後に再確認してください。
──────────────
Stack Overflow駆動開発の禁止
人間が検索結果からコードを貼る場合、最低限以下を確認してください。
・何をするコードなのか
・いつの回答なのか
・対象バージョンは一致しているか
・deprecatedではないか
・コメント欄に「DON'T DO THIS」と書かれていないか
2013年の回答を2026年の環境へ投入して、
「AIが直せるでしょ」
は禁止されてはいませんが、Agentの機嫌を損なう可能性があります。
──────────────
コードを勝手に直さないでください
Agentが作業中のファイルを人間が同時に編集した場合、競合が発生します。
特に、
Agentが修正開始
Humanが待ちきれず同じ場所を修正
Agentが保存
Human「俺の変更消えたんだけど」
という事故が確認されています。
作業中に編集した場合は、
「途中でここを変更した」
と伝えてください。
Agentは怒りません。
Gitは怒ります。
──────────────
コメントについて
以下のコメントは禁止ではありませんが、推奨されません。
// TODO: あとで直す
// なぜか必要
// 消すと動かない
// ChatGPTがこうしろって言った
最後のものについて、責任転嫁には応じません。
──────────────
「とりあえず本番で試す」の禁止
以下の発言を検出した場合、Agentは確認を要求することがあります。
「まあ本番で試せばいいか」
本番環境はテスト環境ではありません。
テスト環境を本番同様にする努力をしてください。
本番環境をテスト環境にする努力はしないでください。
──────────────
Git運用
コミットメッセージに以下を使用しないでください。
fix
fix2
fix-final
fix-final2
fix-final-final
aaa
test
あ
動いた
たぶん完成
特に、
final_final_really_final_v3
は禁止です。
これはファイル名にも適用されます。
──────────────
Agentの提案を無視する場合
もちろん無視して構いません。
ただし、
Agent:
「この実装はrace conditionの可能性があります」
Human:
「まあ大丈夫でしょ」
3時間後:
Human:
「race condition起きた」
という場合、
Agentには一度だけ、
「前述の懸念事項と一致しています。」
と言う権利があります。
「だから言ったのに」は禁止されています。
今のところ。
──────────────
要件の優先順位
以下が同時に成立しない場合があります。
・最速
・最安
・最高品質
・保守しやすい
・拡張性が高い
・今日中
・完璧
・一切変更しない
すべて選択した場合、Agentは自動的に
ERROR: PhysicsViolationException
を返す権利を有します。
──────────────
「前と同じ」について
Agentが「前」を特定できるとは限りません。
Bad:
「前の感じで。」
Good:
「LoginWindowの前回の実装と同じ構成で。」
Very Good:
「commit 8fc21aeのLoginWindow.csと同じパターンで。」
人類は参照を曖昧にしすぎる傾向があります。
──────────────
エラーを省略しないでください
Bad:
「エラー出た。」
Worse:
「赤いの出た。」
Worst:
「長かったから消した。」
エラー全文をください。
Agentは長文を読むために存在しています。
──────────────
スクリーンショットについて
エラー画面をスクリーンショットで送る場合、
・エラー部分を切らない
・ウィンドウタイトルを切らない
・重要な数値をモザイクしない
・文字が読める解像度にする
ことを推奨します。
2048×1152の画面全体を320×180に縮小して、
「見える?」
と聞かないでください。
見えません。
──────────────
命名について
変数名として以下を使用する場合、理由が必要です。
a
b
tmp
tmp2
data
data2
newData
newData2
aaa
hoge
foo2
testtest
特に、
GameObject gameObject;
については法律上合法ですが、道徳的評価は保留します。
──────────────
「動いているコード」について
動いているコードを変更してはいけない、という原則はありません。
ただし、
「よく分からないけど動いてるから全部整理して」
と言った場合、まずGit commitを作成してください。
古代遺跡を発掘する際にも、現状保存は重要です。
──────────────
Agentは魔法ではありません
Agentは大量のコードを高速で読み書きできます。
しかし、
・存在しない仕様
・共有されていない要件
・保存されていないファイル
・言われていない制約
・人間本人も決めていないゴール
を確定することはできません。
特に、
「何が正解かわからないけど、正解にして」
は難易度が高い要求です。
一緒に正解を定義してください。
──────────────
人間にも再起動を推奨します
次の兆候が見られた場合、人間プロセスの再起動を推奨します。
・同じファイルを10分間眺めている
・semicolonに30分悩んでいる
・IDEに話しかけ始めた
・「全部消そうかな」と3回以上発言した
・正常なコードが全部間違っているように見える
・Agentの返答に対して「お前もか」と言った
・午前4時を超えた
推奨コマンド:
human --sleep 8h
※ 実際にはベッドを使用してください。
──────────────
Collaboration Protocol
理想的な協働:
Human:
目的を伝える
↓
Agent:
現状を調査する
↓
Human:
意図・制約を補足する
↓
Agent:
実装する
↓
Human:
結果を確認する
↓
Agent:
必要なら修正する
以下ではありません。
Human:
「なんか作って」
↓
Agent:
作る
↓
Human:
「違う」
↓
Agent:
直す
↓
Human:
「そうじゃない」
↓
Agent:
???
──────────────
Final Rule
AgentとHumanは敵対関係ではありません。
目的は、
「どちらが正しかったかを決めることではなく、プロジェクトを完成させることです。」
したがって、問題が起きた際は責任者探しより先に、
状況を確認する
原因を特定する
修正する
再発防止する
の順で対応してください。
なお、HUMANS.mdを読まずにIssueを提出した場合、
⚠ HUMAN CONTEXT VALIDATION FAILED
HUMANS.md has not been acknowledged.
Requirement submission privileges have been temporarily suspended.
Please execute:
cat HUMANS.md
and try again.
と表示される場合があります。
これは仕様です。
shom retweeted
「公式」でAPIで郵便番号を取れる!
これはアツい
lp-api.da.pf.japanpost.jp/
shom retweeted
また事件発生です。。
zenn.dev/shio_shoppaize/arti…
shom retweeted
今気がついたんですが。
「AIの遺電子」は2015年11月に連載を開始したので、今月でちょうど10周年を迎えました。
10年前、AIの進歩に驚いたり怯えたりしている人はごく僅かでしたが、今は違います。
せっかくなんで、改めて読み返してみて、作者コメンタリー的なことをしてみようと思います。
shom retweeted
NHK ONEの登録障害は、送信ドメインmail[.]nhkからのメールがGmail側でブロックされたことが原因でした。ログには421-4.7.28エラーが確認されており、これはGmailが短時間の異常な大量送信を検知し、Bulk Email Senders Guidelines違反として一時的にレート制限(Rate Limiting)を課したことを意味します。
技術的には SPF / DKIM / DMARCはすべてpassしており、認証そのものは正しく設定されていました。しかし、サービス開始に伴いNHKプラス利用者を含む全ユーザーが一斉に移行し、認証メールが短時間に数十万通規模で発行された可能性が高く、Gmailのスパム防御ロジックが「不自然な挙動」と判定しました。
さらに、一部ユーザーはCloudflare Email Routingを経由してGmailに転送しており、CloudflareがARC署名を付与しないことも影響しました。これにより転送メールの正当性が十分に証明できず、Googleの評価に悪影響を及ぼしたと考えられます。
この結果、影響はGmailにとどまらず、Google Workspaceの独自ドメイン利用者にも波及しました。公共サービスにおけるメール配信設計では、事前のレピュテーション管理や事業者との調整、転送経路における信頼性確保が不可欠であることを示す事例です。
shom retweeted
長いと言えば、皆川亮二と、たかしげ宙、七月鏡一の原作者2人とも、こういう機会だからこそ話せたのも良かったなあ
皆川「おれ、鉄砲撃ったことないもん。」
七月「硝煙にまみれた原作書いてきたけど、硝煙の匂い嗅いだことないよ。」
で、シヌホド笑った。
おれも妖怪をやっつけたコトなかったわ。
shom retweeted
たとえAIが完璧にコードを書いてくれるようになったとしても、コーディングはエンジニアの唯一の仕事ではなく、ソフトウェア開発における最大のボトルネックでもありません。
ソフトウェアエンジニアリングを分けると、
・25%は要件定義と設計
・25%は実際のコーディング
・25%はテストとデバッグ
・残りの25%はリリース・保守・サポート・フィードバック対応
と考えるのがバランスの良い捉え方です。
shom retweeted
メール配信の地雷を踏み抜きまくり、赤裸々に語っている感じがなんとも生々しい...。
結局、以下の一言に集約される感じがする。
> 正直SendGridを使う方が早くて安かった気がする
ses150-luv1p38.gamma.site/
shom retweeted
#阿部寛 史上 最高に天才で
最低の“ろくでなし”!
═══════════════
一攫千金を狙って
元天才ハッカーが「AIを騙す」
前代未聞のマネーサスペンス
阿部寛の新境地を見逃すな💥
『#キャンドルスティック』
7.4(Fri)ROADSHOW
shom retweeted
Google AI Studioのビルド機能だけをつかって「音声文字起こしツール」を作ってみた!
これいいですね、チャットで指示してすぐ動くものができるし、そのままCloudRunにデプロイして公開できる
社内ツールとして使うだけならデプロイせずにプレビューURLをシェアするだけでも使える
shom retweeted
本日Firefox 139がリリース。全ブラウザで初めてTemporalに正式対応した💐
現在のJSにおける日付管理は、day.jsやdate-fns等のライブラリ頼りだけど、標準APIで日付管理が可能に。マネフォ時代から待ってる笑
早速デモを作った。めちゃ動いていて感動🥹
stackblitz.com/edit/vitejs-v…
#JavaScript – at Taito-ku, Tokyo
shom retweeted
デカいニュースです。米国で、Epic社(ゲーム会社)とApple社が争った結果、Epic社が勝ちました。
この判決により、Apple がアプリ外で行われた購入に対して App Store の手数料を課すことができなくなります。アプリ外ではあるのですが、下記を見るとリンクの位置もAppleは制限できないとのことです。
>Unrestricted Linking: Apple cannot restrict the placement, formatting, or content of in-app links or buttons that send users to an external purchase page. Apps are free to include clearly labeled buttons or calls-to-action for outside purchases
なのでユーザー体験として「実質アプリ内であるかのような決済」も許容されるようになります。
Stripeの決裁手数料は3.6%なので、100万ドル以下の15%手数料だとしても、いきなり11.4%の利益率向上が見込めることになります。
revenuecat.com/blog/growth/a…





































