IntentScript活用事例3選:AIとの対話を効率化する新しいアプローチ
IntentScript活用事例3選:AIとの対話を効率化する新しいアプローチ
TL;DR
- IntentScript: 意図を構造化して記述するYAMLベースの軽量言語
- 活用事例:
- AIとの対話継続・引き継ぎ
- 記事構成整理
- プログラム要求整理
- 実績: 漠然とした「ファイルを暗号化したい」から仕様→動作ツールを生成
- 始め方: 簡単な構造から始めて、AIとの対話で段階的に詳細化
AIとの対話で、こんな経験ありませんか?
「ChatGPTで長時間かけて要件を整理したのに、Claudeに移りたくなった時にまた一から説明...」
「技術記事を書こうと思ったけど、構成がまとまらずにAIとのやり取りがグダグダに...」
「作りたいツールがあるけど、要求を上手く伝えられずにAIが的外れなコードを生成...」
そんな悩みを解決する新しいアプローチが IntentScript です。
IntentScriptとは?
IntentScriptは「何をしたいか」という意図を構造化して記述するための軽量な言語です。
YAMLベースで書けるので、プログラミング経験がなくても直感的に使えます。
従来の自然言語での指示
商品には名前と価格があって、価格には税率10%を適用した税込価格も表示したい。
あと在庫数も管理したくて、在庫がゼロの時は「在庫切れ」と表示する機能も欲しい。
IntentScriptでの指示
商品:
名前: string{required}
価格: int{currency: JPY}
税込価格: int{derive: "価格 * 1.1"}
在庫数: int{min: 0}
表示状態: string{
derive: if(在庫数 > 0, "在庫あり", "在庫切れ")
}
構造化されているので、AIが意図を正確に理解し、一貫した品質で処理できるようになります。
IntentScript - 意図を書くための新しい言語 で詳しく紹介しています。
それでは、実際の活用事例を見ていきましょう。
事例1:AIとの対話におけるセーブポイント
よくある困りごと
ChatGPTで技術的な相談をしていたけれど、Claudeの方が適していることに気づいた。
あるいは、長いスレッドで議論が複雑になりすぎて整理したい。
でも長時間かけて整理した内容を、また一から説明するのは面倒...
IntentScriptでの解決
複雑な議論の状況をIntentScriptでまとめておけば、どのAIモデルでもスムーズに引き継げます。
「ここまでの議論の内容をIntentScriptでまとめて」とAIに頼むと、自動で構造化してくれます。
手動で整理する手間も省けます。
出力例:
# context.is.yml
議論の状況:
テーマ: "マイクロサービス設計の相談"
現在の課題:
- データベース分割の方針
- サービス間通信の方法
- 認証・認可の統一
決定済み事項:
- 言語はPython(FastAPI)
- データベースはPostgreSQL
- コンテナはDocker
次に検討したい点:
- 分散トランザクションの扱い
- ログ収集・監視の仕組み
- デプロイメント戦略
このファイルを新しいAIに渡すだけで、「この状況から続けて相談したい」とスムーズに継続できます。
実際の効果
- 時間短縮: 再説明の時間を大幅削減
- 情報の漏れ防止: 重要な前提条件を忘れない
- 一貫性維持: 異なるAI間でも同じ理解レベル
事例2:記事構成の整理
よくある困りごと
技術記事を書きたいけど、構成がまとまらない。AIに相談しても、毎回微妙に違う提案が返ってきて決めきれない...
IntentScriptでの解決
記事の意図や構成をIntentScriptで構造化すると、論理的な流れを維持しながら執筆できます。
記事構成:
タイトル: "Dockerコンテナの最適化入門"
ターゲット読者: "Docker初心者〜中級者"
記事の目的:
- 基本的な最適化手法の理解
- 実践的なテクニックの習得
- 具体的な改善例の提示
構成:
- 導入:
- なぜ最適化が必要か
- この記事で学べること
- 基本編:
- レイヤーキャッシュの活用
- .dockerignoreの重要性
- マルチステージビルド
- 実践編:
- 具体的な改善例
- before/afterの数値比較
- まとめ:
- 要点の整理
- 次のステップ
実例: 実は、この記事自体もIntentScriptで構成を整理してから執筆しています。
複数のAIとの議論を通じて内容を洗練させ、最終的な記事構成を決定しました。
実際の効果
- 論理的な構成: 読者の理解しやすい流れを維持
- 執筆効率向上: 何を書くべきかが明確
- 品質の一貫性: 記事全体を通して一貫したレベル
事例3:プログラム要求整理(実践例)
最初は漠然とした要求から
「.envファイルなどの機密情報を簡単に暗号化したい」
このような漠然とした要求から始まりました。最初から完璧なIntentScriptを書く必要はありません。
AIとの対話を通じて、段階的に要求を詳細化していけます。
AIとの対話で要求を具体化
人間: 「ファイルを暗号化したい」
AI: 「どのようなファイルを、どんな方法で暗号化したいですか?」
人間: 「.envファイルをパスワードで暗号化して、簡単に復号もできるツールが欲しい」
AI: 「CLIツールとして作りますか?使い方のイメージは?」
人間: 「パイプで渡して暗号化・復号できるシンプルなものがいい」
このような対話を経て、最終的に以下のIntentScriptが完成しました。
完成したIntentScript仕様
# ppc: パスワード暗号化でファイル暗号化/復号するCLIツール
Ppc:
name: "ppc (Password Pgp Cli)"
usage:
encrypt: "export PPC_PASSWORD='secret' && cat .env | ppc -e > enc.env"
decrypt: "export PPC_PASSWORD='secret' && cat enc.env | ppc -d > .env"
short: "ppc -e または ppc -d でも可"
arguments:
- "-e --encrypt 暗号化する"
- "-d --decrypt 復号する"
input: stdin "暗号化/復号対象のテキスト"
output: stdout "処理結果のテキスト"
implementation: |
gpg --symmetricコマンドのシンプルなラッパー。
環境変数PPC_PASSWORDからパスワードを取得
暗号化: gpg --symmetric --cipher-algo AES256 --armor
復号: gpg --decrypt
dependencies:
- gpg
実装結果(動作するBashスクリプト)
この要求定義から、以下の機能を持つCLIツールが生成されました:
# 使用例
export PPC_PASSWORD='my-secret-password'
cat .env | ppc -e > secrets.env.asc # 暗号化
cat secrets.env.asc | ppc -d > .env # 復号
生成されたスクリプトには以下が含まれています:
- ヘルプ機能
- エラーハンドリング
- 依存関係チェック
- セキュリティ考慮事項
- 実用的な使用例
仕様の埋め込み
生成されたBashスクリプトに、元のIntentScriptをヒアドキュメントとして埋め込みました:
#!/bin/bash
# IntentScript specification for this tool:
: << 'INTENTSCRIPT'
# 元のIntentScript仕様がここに保存される
INTENTSCRIPT
# 実際の実装コード
show_help() {
# ...実装...
}
これにより下記が得られます:
- 仕様と実装が一体化: 後から見返した時に意図が分かる
- バージョン管理: Gitで仕様と実装を同時に管理
- チーム共有: 他の人でも意図を理解して改修可能
実際の効果
- 開発時間: 要求整理30分 + AI実装生成5分 = 35分で完成
- 品質: エラーハンドリングや使いやすさまで考慮済み
- 保守性: 仕様が明確なので後から修正・拡張が容易
実感としてもいきなり実装し、言葉で説明しながら修正していくのに比べ
効率よく開発できたと思います。
Claude Codeとの連携可能性
Claude Codeでは、プロジェクトの開発方針をAIに伝える仕組みが注目されています。
従来のCLAUDE.mdに加えて、IntentScriptを活用することで、
より構造化された開発ルールを定義できる可能性があります。
# CLAUDE.md
## 開発ルール
```yaml
開発方針:
実装プロセス:
- 機能の実装前に設計をユーザに説明し、承認を得る
- 重要な機能には必ずテストコードを作成
- 公開APIは必ずdocstringで文書化
コーディングスタイル:
- 型ヒント必須
- 変数名は意味が明確になるよう命名
- エラーハンドリングは適切に実装
優先順位:
1. 可読性・保守性
2. 機能の完全性
3. パフォーマンス
このような構造化された開発ルールを定義することで、
AIがより適切な開発支援を提供できる可能性があります。
今すぐ始める方法
IntentScriptを使い始めるのは簡単です
1. 簡単な例から始める
この記事の企画自体を例にしてみましょう
記事企画:
目的: "IntentScriptの活用事例を紹介"
ターゲット読者: "AI活用に興味があるエンジニア"
構成:
- つかみ: 読者の困りごとに共感
- 事例1: 対話の継続・引き継ぎ
- 事例2: 記事構成の整理
- 事例3: プログラム要求整理
- まとめ: 行動喚起
重視する点:
- 実用性重視の具体例
- 段階的な理解しやすさ
- すぐに試せる内容
2. AIとの対話で活用
作成したIntentScriptファイルを「この内容について相談したい」としてAIに渡すだけです。
3. 段階的に拡張
最初は簡単な構想から始めて、AIとの対話を通じて
徐々に詳細化していけば大丈夫です。
まとめ
IntentScriptは「何をしたいか」を構造化して表現することで、
AIとのコミュニケーションを改善します。
特に効果的なのは:
- モデル移行時のスムーズな引き継ぎ
- 記事や資料の論理的な構成整理
- プログラム要求の明確化と実装品質向上
このように意図を構造化することで、AIの実装能力を最大限に活用できます。
複雑な要求をAIに伝える時、まずはIntentScriptで整理してみませんか?
きっと、これまでとは違う品質の結果が得られるはずです。
参考リンク
この記事の企画から執筆、レビューに至るまで多大な貢献をしてくれたAI達に感謝します。
Discussion