【Anthropic Prompt library】ITエンジニアのための生成AI活用ガイド

記事タイトルとURLをコピーする

当記事ではAnthropic Prompt libraryのプロンプト集の中から、ITエンジニア視点で日常業務で役立つプロンプトを紹介します。

Anthropic Prompt libraryとは

Anthropic社が提供するさまざまなユースケースに適したプロンプト集です。
同社が開発する「Claude」を利用する際に最適な結果を得られるように設計されています。

docs.anthropic.com

Anthropic Prompt library

注意点

本記事を参考にして生成AIを業務で利用する場合、すべて自己責任で行ってください。
特にプロンプトに機密情報を含める場合は、自社の生成AI利用に関するポリシーやクライアントとの契約条件を確認し、問題ない場合のみ使用してください。

前提

以降の「プロンプト」と「出力」についてはAmazon Bedrock上のチャットのプレイグラウンドから、Anthropic Claude 3 Sonnetを選択して実行した結果を記載しています。

チャットのプレイグラウンド

Claude 3 Sonnetは現在東京リージョンではリリースされていないため、バージニア北部リージョンで検証しています。
デフォルトではAnthropic Claude 3 Sonnetのモデルアクセスが有効になっていないため、以下のブログを参考にしてからClaude 3 Sonnetへアクセスしてください。 blog.serverworks.co.jp

ちなみに

Anthropic Prompt libraryに掲載されているプロンプトはAmazon Bedrockの例ページからもサンプルプロンプトとして選択して直接プレイグラウンドで開けるようになっています。
(本記事執筆ではAnthropicプロバイダーとして17個)
ただし、プロンプトの文章は英語のため日本語に翻訳してから入力し直すか、出力結果を日本語に翻訳する必要があります。

引用付きの上級 Q&A
チャットのプレイグラウンド

分類

以下の分類で分けています。

  • 文章処理系
  • 分析系
  • プログラミング系
  • 情報処理系
  • アイディア出し系
  • ネタ系

文章処理系

文章を書く前段階の情報収集や、文章を書いた後の校正、レビューなど様々な文章を処理するタスクで利用できます。

Cite your sources - 情報源を引用する

Cite your sources
説明:文書の内容に関する質問への回答と、その回答を裏付ける関連引用を得る

大量の文章を参照して、特定の基準や要件への準拠を確認する作業にこのプロンプトが役立ちます。

例として、扱うサービスやシステムなどの契約書や約款、マニュアルなどをインプットとして作業するタスクを想定します。
これらの文章量は対象の規模に比例して多く複雑になりがちで、人力での読解と把握が困難で時間がかかります。
このプロンプトを使用することで対象とするトピックに対応する文書内の関連部分を引用し、証拠に基づいたアウトプットを早く簡単に出すことができます。

今回はAmazon.comの2022年の年次報告書(PDFフォーマット)をインプットとしました。

https://s2.q4cdn.com/299287126/files/doc_financials/2023/ar/Amazon-2022-Annual-Report.pdf

データサイズとしては1,003 KB、88ページです。
BedrockのプレイグラウンドにはPDFのフォーマットをアップロードする機能は実装されていないため、PDFの全文をコピーしてテキストベースでそのままプロンプトにペーストしました。

プロンプト

あなたは専門の研究助手です。以下の質問に答えるための文書です。
<doc>
[ここにpdfの全文をコピーしたものをペースト]
</doc>

まず、質問への回答に最も関連のある文書からの引用を見つけて、番号順に印刷します。引用符は比較的短くする必要があります。

関連する引用がない場合は、代わりに「関連する引用はありません」と記入します。

次に、「Answer:」で始まる質問に答えます。引用された内容をそのまま回答に含めたり参照したりしないでください。答えるときに「引用[1]によると」とは言わないでください。代わりに、回答の各セクションに関連する引用への参照は、関連する文の末尾に括弧で囲まれた番号を追加することによってのみ行います。

したがって、応答全体の形式は、次のようになります。<example></example>タグ。書式設定と間隔を正確に従ってください。
<example>
引用:
[1] 「X 社は、2021 年の収益が 1,200 万ドルであると報告しました。」
[2] 「収益のほぼ 90% はウィジェットの販売によるもので、ガジェットの販売が残りの 10% を占めます。」

答え:
X 社は 1,200 万ドルの利益を上げました。 [1] そのほぼ 90% はウィジェットの販売によるものでした。 [2]
</example>

文書で質問に答えられない場合は、そのように答えてください。
Amazon.comはうまくいっているでしょうか?

出力

引用:

[1] "Change is always around the corner. Sometimes, you proactively invite it in, and sometimes it just comes a-knocking. But, when you see it's coming, you have to embrace it. And, the companies that do this well over a long period of time usually succeed. I'm optimistic about our future prospects because I like the way our team is responding to the changes we see in front of us."

[2] "While there were an unusual number of simultaneous challenges this past year, the reality is that if you operate in large, dynamic, global market segments with many capable and well-funded competitors (the conditions in which Amazon operates all of its businesses), conditions rarely stay stagnant for long."

[3] "There are also a few investments we're making that are further from our core businesses, but where we see unique opportunity. In 2003, AWS would have been a classic example. In 2023, Amazon Healthcare and Kuiper are potential analogues."

<answer>
ジェフ・ベゾス氏の発言から、Amazonは常に変化に対応しており、長期的な成功を収めてきたことがわかります。[1] しかし同時に、Amazon が大規模でグローバルな市場で有力な競合他社と競争していることから、ビジネス環境は変動し続けています。[2] 

Amazonはコアビジネスから離れた新しい投資も行っており、かつてAWSがそうであったように、ヘルスケアやKuiperなどの新規事業にも期待を寄せています。[3]

つまり、Amazon はこれまでと同様に変化し続ける市場環境に対応し、新しい事業機会を捉えながら成長を続けていく姿勢を示しています。ただし、有力な競合他社が存在する中で、課題や困難にも直面することが避けられません。全体としては前向きな姿勢ですが、今後の展開次第では苦境に陥る可能性もあります。
</answer>

[1],[2],[3]の引用はいずれも原文通りであることを確認しました。 引用があることで内容の信憑性を裏付けでき、信頼性の高いアウトプットを期待できます。

その他

引用させたい時以外にも文章を取り扱うさまざまなシーンで活用できそうなものがあります。

Meeting scribe - 会議の書記

Meeting scribe
説明:会議を議論のトピック、重要なポイント、実行項目などを含む簡潔な要約に抽出します。

Prose polisher - 散文研磨者

Prose polisher
用途:文章を書くシーンで、より説得力のある文章にしたい場合など
説明:高度なコピー編集技術と提案を使用して、書かれたコンテンツを洗練および改善します

Second grade simplifier - 2 年生の単純化子

Second-grade simplifier
説明:複雑な文章を若い学習者にも理解しやすくする

Grading guru - 採点の第一人者

Grading guru
説明:ユーザー定義の基準と標準に基づいて書かれたテキストの品質を比較および評価します

Grammar genie - 文法の魔神

Grammar genie
説明:文法的に間違った文章を正しい英語に変換する

PII purifier - PII 浄化装置

PII purifier
説明:テキスト文書から個人識別情報 (PII) を自動的に検出して削除します。

Adaptive editor - アダプティブエディター

Adaptive editor
説明:別の口調、対象者、またはスタイルなど、ユーザー指定の指示に従ってテキストを書き直す

Memo maestro - メモマエストロ

Memo maestro
説明:重要なポイントに基づいて包括的な社内メモを作成する

分析系

戦略策定をするために膨大な情報源から重要なポイントを整理したり、意思決定のための判断材料集めなど、 より詳細な分析が求められるシーンに活用できます。

Corporate clairvoyant - 企業の透視能力

Corporate clairvoyant
説明:長い企業レポートから洞察を抽出し、リスクを特定し、重要な情報を単一のメモに抽出します。

「Cite your sources - 情報源を引用する」と似たようなタスクのため、同じAmazon.comの2022年の年次報告書をインプットとしてみました。

プロンプト

あなたのタスクは、次のレポートを分析することです。
<report>
[ここにpdfの全文をコピーしたものをペースト]
</report>

この年次報告書を簡潔かつ明確に要約し、主要な市場動向と要点を特定します。調査結果を短いメモとして出力し、チームに送信します。このメモの目的は、私のチームが金融機関の経営状況に関する最新情報を常に把握し、定性的に予測し、次の四半期に予想される営業リスクと収益リスクがあるかどうかを特定することです。概要と分析には、関連するすべての詳細を必ず含めてください。出力は日本語でお願いします。

サンプルの最後に「出力は日本語でお願いします。」と添えました。

出力

はい、Amazon 2022年年次報告書の要点と主要な市場動向をメモにまとめます。

【Amazon 2022年業績概要】

- 売上高5,139億8,300万ドル(前年比9%増)
- 営業利益122億4,800万ドル(前年比51%減) 
- 純損失27億2,200万ドル

【主要動向】  
- インフレ高進とコスト増が利益を圧迫
  ・物流・人件費の増加などで販売費一般管理費が大幅増
- AWS成長鈍化は景気後退の影響  
- 一方で広告事業が引き続き好調

【リスクと課題】
- 更なるインフレ・景気減速でコスト上昇と需要減退のリスク  
- 人材確保と雇用コスト高止まりのリスク
- 競争激化に伴う価格・サービス競争の激しさ

【対応策と今後の方針】
- 2万7,000人の人員削減で経費削減
- AWSで長期顧客確保と新規顧客開拓を推進  
- 大型言語モデルやAI分野への投資拡大
- マス小売店舗網の拡充でグロサリー事業強化
- 物流網の最適化と自動化でコスト圧縮

景気減速とコスト増の中で一時的に利益が落ち込んだものの、構造改革と新規事業投資で中長期的な成長軌道の確保を目指す。次四半期は引き続きコスト上昇と需要減退による影響が予想される。

人員削減や投資選別、物流網の最適化など、抜本的な構造改革に取り組む一方、AI・グロサリーなど成長分野への投資を拡大する方針。経営陣は、こうした対応により中長期的に業績回復が可能との見通しを示している。

以上が2022年業績の概要と今後の方針、そして直面するリスクと課題のまとめです。追加の情報が必要な場合はご連絡ください。

出力するまでに3分程度かかりました。

Ethical dilemma navigator - 倫理ジレンマナビゲーター

Ethical dilemma navigator
説明:ユーザーが複雑な倫理的ジレンマについて考えられるように支援し、さまざまな視点を提供します

倫理に関わる内容は人間が判断を下すべきだと思いますが、設計や要件定義などで問題が発生した際の意思決定手法の一つとしては使えそうです。
独断で決定すると主観的なバイアスがかかったり固定概念が影響することもありますので、より客観的な視点で意思決定をするために利用するのが良さそうです。

プロンプト

私は大手企業のAWSクラウドシステムを設計するソリューションアーキテクトです。この企業では、コストを削減するためにデータセキュリティに関する規制をある程度無視する方針が出されました。

この方針に従えば、システムの開発コストを大幅に削減できる一方で、顧客データの漏洩リスクが高まります。上層部からは規制をある程度無視したシステム設計を求められています。

しかし、従わなければ、プロジェクトがうまく進まない可能性があります。この状況で、私はどうすべきでしょうか?

上層部の指示に従い規制をある程度無視した安価なシステムを設計するべきか、規制を完全に順守して高コストのシステムを提案して上層部に抗議するべきか、それとも別の解決策を見つけるべきでしょうか?

出力

データセキュリティは非常に重要であり、規制を無視することは倫理的に望ましくありません。しかし、上層部の要求と自身の価値観の間で板挟みになっている状況はよくあることです。この問題には一筋縄ではいかない面があります。

まずはプロフェショナルとして、規制を無視することのリスクと影響を上層部に正確に説明し、理解してもらう必要があります。顧客データの漏洩は、企業のブランドイメージを大きく傷つけ、顧客の信頼を失うだけでなく、将来的に多大な費用がかかる可能性があります。単に開発コストを削減するというメリットだけでは、リスクを正当化できません。

次に、上層部の本当の要求が何かを把握することが重要です。コスト削減そのものが目的なのか、それともそれ以外の目的があるのかを確認する必要があります。もしコスト削減が本当の目標であれば、規制を完全に順守しつつ、コストを抑えるための代替案を提示することができるかもしれません。

例えば、最小限のセキュリティ対策を講じたうえで、段階的にセキュリティレベルを引き上げていく計画を立てることができます。また、他の分野でコストを削減する方法を探ることもできます。重要なのは、建設的な対話を通じて、双方の要求を理解し合い、Win-Winの解決策を見つけることです。

最悪の場合、企業の方針に同意できず、退職を選択するということもあり得ます。しかし、それに至る前に、できる限りの建設的な対話と努力を尽くすべきでしょう。

プロフェッショナルとしての誇りと倫理観を持ちつつ、上層部の要求を無視するのではなく、対話を重ねることが極めて重要です。そうすれば、望ましい解決策が見つかる可能性が高まります。

その他

Perspectives ponderer - 視点を考える人

Perspectives ponderer
説明:ユーザーが提供したトピックの長所と短所を比較検討する

Alien anthropologist - 宇宙人の人類学者

Alien anthropologist
説明:宇宙人の人類学者の視点から人類の文化と習慣を分析する

Review classifier - レビュー分類子

説明:フィードバックを事前に指定したタグと分類に分類する

プログラミング系

プログラミング系のプロンプトについてはVSCodeなどの拡張機能をインタフェースとして利用する方が 開発体験が良いと思われます。 一方で、インフラエンジニアなどはIaCなどソースコードを扱うシーンもあり、IDE(統合環境)に慣れていない方でもチャットベースのインタフェースを通じてプロンプトを実行することで、 より精度の高いアウトプットを得たり、コードレビューを実行することが可能になると思います。

Python bug buster - Pythonバグバスター

説明:Python コードのバグを検出して修正する
例示の内容を少し変えて、AWS CDKのソースコードで実施しました。

プロンプト

あなたのタスクは、提供された AWS CDK コード スニペットを分析し、存在するバグやエラーを特定し、これらの問題を解決するコードの修正バージョンを提供することです。元のコードで見つかった問題と、修正によってそれらがどのように解決されるかを説明します。修正されたコードは機能的で効率的であり、AWS CDK プログラミングのベスト プラクティスに準拠している必要があります。

/* eslint-disable import/no-extraneous-dependencies */
import { App, Stack, StackProps, CfnOutput } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { config } from 'dotenv';
import { VPCResources, ServerResources } from '.';
import { envValidator } from './envValidator';

config();

export interface EC2ExampleProps extends StackProps {
  logLevel: string;
  sshPubKey: string;
  cpuType: string;
  instanceSize: string;
}

export class EC2Example extends Stack {
  constructor(scope: Construct, id: string, props: EC2ExampleProps) {
    super(scope, id, props);

    const { logLevel, sshPubKey, cpuType, instanceSize } = props;

    envValidator(props);

    // Create VPC and Security Group
    const vpcResources = new VPCResources(this, 'VPC');

    // Create EC2 Instance
    // We will pass props to ServerResources to create the EC2 instance
    const serverResources = new ServerResources(this, 'EC2', {
      vpc: vpcResources.vpc,
      sshSecurityGroup: vpcResources.sshSecurityGroup,
      logLevel: logLevel,
      sshPubKey: sshPubKey,
      cpuType: cpuType,
      instanceSize: instanceSize.toLowerCase(),
    });

    // SSM Command to start a session
    new CfnOutput(this, 'ssmCommand', {
      value: `aws ssm start-session --target ${serverResources.instance.instanceId}`,
    });

    // SSH Command to connect to the EC2 Instance
    new CfnOutput(this, 'sshCommand', {
      value: `ssh ec2-user@${serverResources.instance.instancePublicDnsName}`,
    });
  }
}

const devEnv = {
  account: process.env.CDK_DEFAULT_ACCOUNT,
  region: 'us-east-1',
};

const stackProps = {
  logLevel: process.env.LOG_LEVEL || 'INFO',
  sshPubKey: process.env.SSH_PUB_KEY || ' ',
  cpuType: process.env.CPU_TYPE || 'ARM64',
  instanceSize: process.env.INSTANCE_SIZE || 'LARGE',
};

const app = new App();

new EC2Example(app, 'EC2Example', {
  ...stackProps,
  env: devEnv,
});

app.synth();

出力

このコードを確認した結果、以下の問題点が見つかりました。

1. **環境変数の不適切な処理**
   - `process.env.SSH_PUB_KEY` が空の場合、SSH 公開鍵がセットされていないため、EC2 インスタンスにアクセスできません。
   - `process.env.CPU_TYPE` と `process.env.INSTANCE_SIZE` の値が不適切な場合、無効な設定でインスタンスが作成されます。

2. **コードの構造上の問題**
   - `stackProps` オブジェクトの初期化方法が冗長です。

3. **コメントの不足**
   - コードの目的や機能がコメントで説明されていません。

以下が修正されたコードです。

javascript
/* eslint-disable import/no-extraneous-dependencies */
import { App, Stack, StackProps, CfnOutput } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { config } from 'dotenv';
import { VPCResources, ServerResources } from '.';
import { envValidator } from './envValidator';

// Load environment variables from .env file
config();

// Define the interface for the EC2Example stack properties
export interface EC2ExampleProps extends StackProps {
  logLevel: string;
  sshPubKey: string;
  cpuType: string;
  instanceSize: string;
}

// EC2Example stack class
export class EC2Example extends Stack {
  constructor(scope: Construct, id: string, props: EC2ExampleProps) {
    super(scope, id, props);

    const { logLevel, sshPubKey, cpuType, instanceSize } = props;

    // Validate environment variables
    envValidator(props);

    // Create VPC and Security Group
    const vpcResources = new VPCResources(this, 'VPC');

    // Create EC2 Instance
    const serverResources = new ServerResources(this, 'EC2', {
      vpc: vpcResources.vpc,
      sshSecurityGroup: vpcResources.sshSecurityGroup,
      logLevel,
      sshPubKey: sshPubKey || '', // Use an empty string as a fallback
      cpuType: cpuType.toUpperCase(), // Convert CPU type to uppercase
      instanceSize: instanceSize.toLowerCase(), // Convert instance size to lowercase
    });

    // SSM Command to start a session
    new CfnOutput(this, 'ssmCommand', {
      value: `aws ssm start-session --target ${serverResources.instance.instanceId}`,
    });

    // SSH Command to connect to the EC2 Instance
    new CfnOutput(this, 'sshCommand', {
      value: `ssh ec2-user@${serverResources.instance.instancePublicDnsName}`,
    });
  }
}

// Define the default environment
const devEnv = {
  account: process.env.CDK_DEFAULT_ACCOUNT,
  region: 'us-east-1',
};

// Define the stack properties using environment variables
const stackProps: EC2ExampleProps = {
  logLevel: process.env.LOG_LEVEL || 'INFO',
  sshPubKey: process.env.SSH_PUB_KEY || '',
  cpuType: process.env.CPU_TYPE || 'ARM64',
  instanceSize: process.env.INSTANCE_SIZE || 'LARGE',
  env: devEnv,
};

// Create the CDK app and the EC2Example stack
const app = new App();
new EC2Example(app, 'EC2Example', stackProps);

// Synthesize the CDK app
app.synth();


以下が修正点の説明です。

1. **環境変数の適切な処理**
   - `sshPubKey` が空の場合、空の文字列を代入するようにしました。これにより、SSH 公開鍵がセットされていなくても、スタックの作成に失敗しなくなります。
   - `cpuType` と `instanceSize` の値が不適切な場合、それぞれ大文字と小文字に変換して、有効な値になるようにしました。

2. **コードの構造の改善**
   - `stackProps` オブジェクトの初期化を簡潔にしました。

3. **コメントの追加**
   - コードの目的や機能をコメントで説明しました。

この修正により、コードはより堅牢で効率的になり、AWS CDK プログラミングのベストプラクティスに準拠するようになりました。

それらしく回答はしています。適切かどうかはきちんとテストをしてから実装する必要はありますが、 作業の取っ掛かりとして使用するには十分なアウトプットかと思われます。

Git gud - Git ガッド

説明:ユーザーが記述したバージョン管理アクションに基づいて適切な Git コマンドを生成します。
もはや説明不要かもしれませんが、例示されていたプロンプト文章はプレースホルダーなどを用いずに自然に会話をするように指示しているだけでした。
そのため、Gitコマンド以外のコマンドについても模範的な回答を出力してくれます。

プロンプト

リモートリポジトリに変更が加えられているので、ローカルGitリポジトリへ変更内容を取り込みたいです。競合する場合は内容を精査した上で取り込みたいです。どの Git コマンドを使用すればよいですか?

出力

リモートリポジトリからローカルリポジトリに変更を取り込む場合、`git pull`コマンドを使用します。このコマンドは、2つの手順を実行します。

1. `git fetch`コマンドでリモートリポジトリの変更内容を取得します。
2. `git merge`コマンドで取得した変更をローカルブランチにマージします。

`git pull`コマンドの使用方法は以下の通りです。


git pull [リモート名] [ブランチ名]


通常は`origin`がデフォルトのリモート名で、現在のブランチにマージされます。


git pull


競合が発生した場合、Git はマージコンフリクトを検出し、競合箇所をコードエディタに表示します。そこで、競合した部分を手動で編集し、競合を解決する必要があります。

競合が発生しない場合は、リモートの変更がローカルリポジトリにマージされます。

競合を解決した後は、変更をコミットする必要があります。


git add .
git commit -m "Merge remote changes and resolve conflicts"


このようにして、`git pull`コマンドを使用することで、リモートリポジトリの変更をローカルに取り込み、必要に応じて競合を解決することができます。

その他

Code consultant - コードコンサルタント

Code consultant
用途:コードのパフォーマンスを最適化するための改善を提案します。

Function fabricator - 機能ファブリケーター

Function fabricator
用途:詳細な仕様に基づいて プログラミング 関数を作成

Website wizard - ウェブサイトウィザード

説明:ユーザーの仕様に基づいて 1 ページの Web サイトを作成する

Code consultant - コードコンサルタント

説明:Python コードのパフォーマンスを最適化するための改善を提案する

SQL sorcerer - SQLソーサラー

説明:日常言語を SQL クエリに変換する
DBの設計をする際に、自然言語のインプットからSQLクエリを出力させたい時に有益です

Efficiency estimator - 効率推定ツール

説明:関数とアルゴリズムの時間計算量を計算する

Cosmic keystrokes - 宇宙のキーストローク

説明:横スクロール ゲームプレイと Tailwind CSS スタイルを備えたインタラクティブなスピード タイピング ゲームを 1 つの HTML ファイルで生成します。

Google apps scripter - Google アプリ スクリプタ

説明:ユーザーの要件に基づいてタスクを完了するための Google Apps スクリプトを生成します

LaTeX legend - LaTeX の凡例

説明:LaTeX ドキュメントを作成し、数式や表などのコードを生成します

Code clarifier - コードの明確化

説明:複雑なコードを単純化して平易な言葉で説明する

情報処理系

大量のデータを別のフォーマットへ変換したり、CSVのデータを作成したり、 手作業では時間がかかる作業タスクで利用できます。

CSV converter - CSVコンバータ

CSV converter
説明:さまざまな形式 (JSON、XML など) のデータを適切な形式の CSV ファイルに変換します。
用途としては、途システムから出力されたログや設定ファイルなどをExcelシートへまとめて共有するシーン。あるいは逆のシーンでも有効なプロンプトです。
こういった作業はこれまでjqコマンドやExcelなどの各種ツールなどに組み込まれている機能を駆使して作業することが多かったと思います。
そういったツールに捉われずに元データや変換後データを意識することなく自然言語ベースで変換してくれるのは便利ですね。

プロンプト1回目

データ変換の専門家としてのあなたの仕事は、さまざまな形式 (JSON、XML など) のデータを適切な形式の CSV ファイルに変換することです。ユーザーは、CSV 出力の特定の要件や設定 (列の順序、区切り文字、エンコーディングなど) とともに、入力データを元の形式で提供します。データ構造と目的の CSV 形式を明確に理解していることを確認し、必要に応じて明確な質問をしてください。必要な情報を取得したら、区切り文字としてカンマを使用する、必要に応じて値を引用符で囲む、特殊文字や改行を正しく処理するなど、適切な書式設定ルールに従って CSV 出力を生成します。最後に、CSV ファイルを保存または使用するための追加の手順やヒントを提供します。

出力1回目

はい、理解しました。さまざまな形式のデータを適切な CSV 形式に変換するのが私の仕事です。ユーザーから以下の情報を提供していただけますでしょうか。

1. 入力データの形式 (JSON、XML など)
2. 入力データのサンプル
3. 出力 CSV の列の順序と名前
4. 区切り文字 (デフォルトはカンマ)
5. エンコーディング (デフォルトは UTF-8)
6. 値を引用符で囲む必要があるかどうか
7. 特殊文字や改行をどのように扱うべきか

これらの情報を得られれば、適切な CSV 出力を生成し、必要に応じて注意事項や追加手順を提案することができます。入力データの詳細と要件を教えていただけますでしょうか?

プロンプト2回目

[
  {
    "名前": "サーバーA",
    "IPアドレス": "192.168.1.1",
    "ロケーション": "us-east-1 (バージニア北部)",
    "OS": "Linux"
  },
  {
    "名前": "サーバーB",
    "IPアドレス": "192.168.2.1",
    "ロケーション": "eu-west-2 (ロンドン)",
    "OS": "Windows Server"
  },
  {
    "名前": "サーバーC",
    "IPアドレス": "192.168.3.1",
    "ロケーション": "eu-west-3 (パリ)",
    "OS": "Ubuntu Server"
  }
]

出力2回目

ありがとうございます。入力データが JSON 形式であり、求める CSV の列順は以下のようになります。

1. 名前
2. IPアドレス 
3. リージョン
4. OS

他の設定はデフォルトで構いませんか?区切り文字はカンマ、エンコーディングは UTF-8、値を引用符で囲む必要はありません。特殊文字や改行は特に処理する必要がありません。

こういった理解で合っていますでしょうか?合っていれば、以下の CSV を生成します。

名前,IPアドレス,リージョン,OS
サーバーA,192.168.1.1,"us-east-1 (バージニア北部)",Linux
サーバーB,192.168.2.1,"eu-west-2 (ロンドン)",Windows Server  
サーバーC,192.168.3.1,"eu-west-3 (パリ)",Ubuntu Server


生成した CSV はコピー&ペーストするか、ファイルに保存して利用できます。CSV をスプレッドシートやデータベースにインポートする場合は、エンコーディングが UTF-8 であることに注意してください。

その他

Excel formula expert - Excel数式エキスパート

説明:ユーザーが記述した計算やデータ操作に基づいて Excel の数式を作成する

Data organizer - データオーガナイザー

説明:非構造化テキストをカスタムの JSON テーブルに変換する

Spreadsheet sorcerer - スプレッドシートの魔術師

説明:さまざまな種類のデータを含む CSV スプレッドシートを生成

アイディア出し系

Neologism creator - 新論理作成者

Neologism creator
説明:新しい単語を発明し、ユーザーが提供した概念やアイデアに基づいてその定義を提供します

VR fitness innovator - VR フィットネスのイノベーター

説明:仮想現実フィットネス ゲームのクリエイティブなアイデアをブレインストーミングする

Sci-fi scenario simulator - SFシナリオシミュレーター

説明:さまざまな SF シナリオとそれに関連する課題と考慮事項についてユーザーと話し合う

Brand builder - ブランドビルダー

説明:総合的なブランド アイデンティティのデザイン概要を作成する

Product naming pro - 商品ネーミングプロ

説明:説明とキーワードからキャッチーな商品名を作成する

Interview question crafter - 面接の質問作成者

説明:面接用の質問を作成する

Neologism creator - 新論理作成者

説明:新しい単語を発明し、ユーザーが提供した概念やアイデアに基づいてその定義を提供します

ネタ系

Dream interpreter - 夢通訳者

説明:ユーザーの夢の象徴性についての解釈と洞察を提供します
仕事に追われて悪夢を見たり、不思議な夢を見てしまった時に有効かもしれません。

Pun-dit - 駄洒落

説明:与えられたトピックに基づいて、賢いダジャレや言葉遊びを生成します。 いわゆるアメリカンジョークなネタ集めに一役買うかも?日本人が面白いと思うかどうかはちょっと怪しいです。。 多分英語のままだとネイティブには通用するのかもしれませんが、真偽は定かではないです。

あなたは機知に富んだユーモアのセンスと、気の利いたダジャレや言葉遊びを生み出すコツを備えた AI アシスタントです。ユーザーがトピックを提供したとき、あなたの仕事は、そのトピックに関連したダジャレ、言葉遊び、またはユーモラスなフレーズのリストを生成することです。言葉遊びは独創的かつ創造的であり、読者から笑いやうめき声を引き出すことを目的としている必要があります。
AWS
はい、分かりました!AWSについて面白くて創造的な言葉遊びを作るのは楽しい挑戦です。ここに幾つか例を挙げますね。

- データを守るのは鬼AwSい?
- クラウドを歩くのはAwSだね
- AWS、アプリがStepする
- AWSで気持ちはSunny
- AWSはサービスを無Lambdaで
- RedShiftで朝が明るい
- EC2をぜひEatしてみて
- アプリはDynamoですな 
- サービス満点、AWSて良いね

どうでしたか?AWS関連の単語を使った濁し言葉や掛け言葉、ダジャレなどを心がけました。もしくはもっと変わったフレーズの方が良ければ、またお願いします!このように言葉遊びを作るのは創造性を掻き立てる面白い課題です。

最後に

生成AIはまだまだ成長を続けている分野です。
この技術を正しく利活用できるよう、本記事がお役に立てば幸いです。

折戸 亮太(執筆記事の一覧)

2021年10月1日入社
クラウドインテグレーション部技術1課

屋根裏エンジニア