コンテンツにスキップ

Techniques#

エージェントやプロンプトの設計手法

Techniques には、エージェントやプロンプトの設計時に使える具体的な手法をまとめています。Concepts で扱う考え方を、現場で運用可能なレベルまで落とし込んだものです。

23 件のエントリ

  • Few-shot Examples の効果的な設計


    LLM に「こういう形式で答えてほしい」と伝える最強の手段は、例を見せること。Few-shot examples を正しく設計すると、出力の品質と一貫性が大きく変わる。 なぜ例示が効くか 自然言語の指…

  • CoT・ToT・ReAct — 推論パターンの使い分け


    LLM の推論能力を引き出すパターンとして、Chain-of-Thought (CoT)、Tree-of-Thoughts (ToT)、ReAct が筆者的。用途に応じて使い分ける。 3 つのパターン…

  • 推論モデル (o1/o3/Extended Thinking) の使いどころ


    OpenAI の o1・o3、Anthropic の Extended Thinking、Google の Deep Thinking など、明示的に推論時間を使うモデル(Reasoning Mode…

  • LLM から構造化 JSON を確実に取り出す


    LLM から構造化データ(JSON)を取り出す際、JSON Mode や Function Calling を使わないと、プレーンテキストの中に JSON が混じって返ってきて、パースに失敗しやすい。…

  • プロンプトキャッシュを壊さない書き方


    LLM API の多くは同じ先頭プロンプトを再利用することでプロンプトキャッシュを効かせ、レイテンシとコストを劇的に下げられる。ただしキャッシュは「先頭から完全一致」が前提なので、わずかな変動で無効化…

  • プロンプトのバージョン管理とデプロイ戦略


    プロンプトはコード同様にバージョン管理の対象。Git で管理するだけでは不十分で、評価・差分・ロールバックの仕組みが要る。 バージョン管理の基本構造 やるべきこと 1. ファイル分離 プロンプトをコー…

  • LLM コストを減らす 7 つの手法 (優先順位つき)


    LLM のコストは設計次第で 10 倍変わる。同じ体験を 1/10 のコストで提供することは珍しくない。効果の大きい 7 つの手法を優先順位付きで紹介。 効果の大きさマップ 1. プロンプトキャッシュ…

  • LLM ツール定義のスキーマ設計


    LLM にツール(関数)を使わせる際、ツールのスキーマ(名前・説明・パラメータ)が LLM の使いこなしに直結する。プロンプトエンジニアリングと同じくらい重要。 良いツール定義の条件 名前のつけ方 -…

  • プロンプトが期待通りに動かないときのデバッグ手順


    LLM が期待通りの出力を返さないとき、何から手をつけるか。プロンプトデバッグはアプリ開発と違った進め方が必要。 切り分けの手順 1. 再現性を確認する 同じ入力で 5 回実行し、パターンを見る。 -…

  • ハルシネーションを抑える 7 つの手法


    LLM のハルシネーション(事実に基づかない生成)を完全に防ぐことはできないが、運用上許容できるレベルまで抑えることは可能。7 つの手法を効果順に紹介。 効果の優先度 1. RAG で文脈を足す(効果…

  • LLM レッドチーミング — 意図的な攻撃で安全性を検証する


    LLM を組み込んだアプリの安全性を検証するには、意図的に攻撃を試みるレッドチーミングが有効。実運用前に必ず通す工程にする。 レッドチーミングの位置づけ 評価セット(正常系の確認)と別物。攻撃者視点で…

  • Guardrails — LLM 出力を決定論的に制御する仕組み


    LLM の出力を決定論的に制御するための仕組みを総称して Guardrails(ガードレール)と呼ぶ。自由な生成と安全な運用の両立に必須。 Guardrails の 3 層 1. Input Guar…

  • エージェントのメモリ設計 (短期・中期・長期)


    エージェントに「記憶」を持たせる設計は、セッションをまたいだ継続的な会話・学習・作業を実現するために必須。どこに・何を・どう保持するかを整理する。 メモリの 3 種類 短期メモリ(セッション中) 保存…

  • AI エージェントが読みやすいドキュメントの書き方


    AI エージェントが参照するドキュメントは、人間向けと書き方を変えると精度が大きく上がる。人間が読みやすい文章と、AI が解釈しやすい文章は、重なるが同じではない。 AI が解釈しやすい書き方 8 つ…

  • Claude Code を日々使い倒す 10 の小技


    Claude Code を日々の開発で使い倒している中で気付いた、小さいけど効く 10 の実践。1 つ 1 つは小さいが、合計すると体感が大きく変わる。 10 の小技 1. 最初に「役割」を明示する…

  • エージェントと協業する 1 日のワークフロー


    AI エージェントと日常的に協業する開発者の、典型的な 1 日の流れ。実践的にエージェントをどう使いこなすかを時系列で示す。 1 日の流れ(俯瞰) 朝: ブリーフィング (30 分) 目的: 今日やる…

  • エージェント専用ワークスペースのディレクトリ設計


    エージェントに仕事を任せる際、作業する専用のディレクトリ構造を設計すると、混乱が減り、追跡性が上がる。「ワークスペース」という発想で整理する。 基本構造 各ディレクトリの役割 tasks/ — 1 タ…

  • ヒアリングテンプレートの設計


    曖昧な依頼から意図を抽出するために使う、定型のヒアリング質問セット。毎回ゼロから聞くのではなく、テンプレートを用意しておくと抽出の漏れが減る。 ヒアリング質問の型 以下 7 項目をベースにする。これは…

  • 二役レビューの実装パターン


    同一モデルでの自己レビューは自己整合性バイアスに引きずられて機能しない。実装者と別ロールの批判者を構造的に分けることで、独立したレビューが成立する。 基本構造 1. 実装者(implementer):…

  • マルチエージェント組織の4つの設計教訓


    AI エージェントを複数ロールで運用する際に得た設計上の教訓。 組織構造の比喩 索引エージェントは「誰に聞けばいいか」を返すだけで、実処理は担当エージェントが直接ユーザーと対話する。批判者は全担当の成…

  • LLM-as-Judge — 評価者 LLM の組み立て方


    LLM の出力品質を別の LLM に評価させる手法。主観的な評価軸(トーン、読みやすさ、含意の適切さ)を自動化できる。ただし評価者自身にバイアスがあるため、実装には注意が要る。 基本構造 評価ルーブリ…

  • RAG のチャンクサイズを選ぶ基準


    RAG(Retrieval-Augmented Generation)で文書をベクトル検索用にチャンク分割する際、チャンクサイズの選定は検索精度と応答品質に直結する。大きすぎても小さすぎても失敗する。…

  • Python での PDF 処理: PyMuPDF と pikepdf の使い分け


    Python で PDF を扱う際、PyMuPDF(fitz) と pikepdf は両方とも有力だが、得意領域が異なる。両方を使い分けると実装の見通しが良くなる。 役割分担のマップ ライブラリの特徴…