Goのcontext.Contextの正しい使い方:キャンセル、タイムアウト、および値
Goのcontextは制御フローであり、ストレージではない。
Go の context.Context は、誤用するにはほどほどにシンプルです — そして、そここそが問題の本質です。
Goのcontextは制御フローであり、ストレージではない。
Go の context.Context は、誤用するにはほどほどにシンプルです — そして、そここそが問題の本質です。
適切な境界でエラーを処理する。
Go のエラー処理については、不満を持つ人が多くいます。 すべての Go 開発者が何百回も書いているコードがこれです。
Goの並行テストで「睡眠」に頼るのをやめよう。
並行処理を行うGoコードのテストには、常に一定の規律が求められてきました。 Goroutineは安価であり、チャンネルは単純、そしてコンテキストのキャンセルは慣用的なものです — 実際のGoサービスでは、バックグラウンドワーカーやタイマーが至る所に存在しています。
A2Aは死んでいません。単に普遍的ではないだけです。
GoogleのAgent2Agentプロトコル、一般的にA2Aと略されるこの規格は、最初の1年間で奇妙な展開をみせました。
AIエージェントのための信頼性の高いポーリングパターン
ポーリングエージェントは、AIアシスタントのアーキテクチャの中で最も華やかではない部分の一つですが、同時に最も有用な部分の一つでもあります。
MCPはエージェントにツールを提供します。A2Aはエージェントに同僚を提供します。
AIエージェントのアーキテクチャは、2つのレイヤーに分裂し始めています。
「A2Aはエージェントをネットワークピアに変換します。」
Agent2Agentプロトコルの略称であるA2Aプロトコルは、独立したAIエージェントシステム間の通信のためのオープン標準です。
不要な形式主義を排して、GoでCQRSを構築する
CQRS(コマンドとクエリの責務分離)は、過大宣伝され、複雑化され、単なるCRUD(Create, Read, Update, Delete)の退屈さを解消するための万能薬と誤解されがちないくつかのパターンの一つです。
コードによる図解、トラブルなし。
Mermaidは、キャンバス上でボックスをドラッグするよりも、図をテキストとして記述することを好む人々のためのテキストベースの図作成ツールです。Markdownのような構文を使用して、フローチャート、シーケンス図、クラス図、状態機械図、タイムライン、ガントチャート、エンティティ関係図などを記述します。
機能する最もシンプルなパターンを選択してください。
単一モデルのシステムはシンプルです。マルチモデルのシステムは強力です。課題はモデルの選択ではなく、それらをオーケストレートするアーキテクチャの設計にあります。
管理すべきはモデルではなく、リスクです。
LLM(大規模言語モデル)は予測不可能です。幻覚(ハルシネーション)を起こし、データを漏洩させ、有害なコンテンツを生成したり、正当なリクエストを拒否したりします。ガードレール(防護策)は、機能を損なわずにモデルの動作を制限します。
シリアスなアシスタントは実際にはどのように構築されているか。
本番環境で運用されるAIアシスタントは、「プロンプトを与えたLLM」ではありません。ユーザーの意図を受け取り、状態を保持し、検索やアクションを行うタイミングを判断し、障害のデバッグに必要なランタイムの詳細情報を公開するシステムです。
「雰囲気」に頼る解析をやめ、契約を検証せよ。
ほとんどのLLM「構造化出力」チュートリアルは、本気度にかけるものです。 それらは、JSONを丁寧な口調でリクエストし、モデルが適切に動作することを祈る方法を教えます。 それでは検証ではありません。 それは単に括弧で囲まれた楽観主義にすぎません。
重複する副作用を回避する
分散システムにおける冪等性(Idempotency)とは、ネットワークが嘘をつき、キューが再送を試み、クライアントがパニックし、オペレーターがリプレイボタンを押した際に、あなたを救済する性質です。本番環境では、重複したメッセージの配信は正常な挙動です。問題となるのは、重複した副作用の発生です。
本番環境で耐えるClaude Skillsの構築
ほとんどのチームは、Claude Skillsの使い方を2つのいずれかの誤った方法で運用しています。SKILL.mdを単なるゴミ箱のように使っているか、巨大なプロンプトの切り貼りから抜け出せずにいるかのどちらかです。
保持すべきスキルと、スキップしてよいスキル
OpenClawには2つの拡張ストーリーがあり、それらは混同されやすいものです。
プラグインはランタイムを拡張します。スキルはエージェントの振る舞いを拡張します。