<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Openai [text.Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://text.baldanders.info/tags/openai/" />
	<link rel="self" type="application/atom+xml" href="https://text.baldanders.info/tags/openai/index.xml" />
	<id>tag:text.Baldanders.info,2023-03-28:/tags</id>
	<updated>2023-03-28T20:49:13+09:00</updated>
	<subtitle>帰ってきた「しっぽのさきっちょ」</subtitle>
	<icon>https://text.baldanders.info/images/avatar.jpg</icon>
	<logo>https://text.baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>OpenAI API を使って GPT と遊ぶ gpt-cli をリリースした。</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/release/2023/03/released-gpt-cli/" />
		<id>tag:text.Baldanders.info,2023-03-28:/release/2023/03/released-gpt-cli/</id>
		<published>2023-03-28T11:49:13+00:00</published>
		<updated>2024-05-10T22:02:32+00:00</updated>
		<summary>先日書いたとおり，ちょっと真面目に ChatGPT で遊んでみることにした。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;h2&gt;OpenAI API で遊びたい&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2023/03/practice-on-the-wall/&#34; target=&#34;_blank&#34; title=&#34;ChatGPT という壁打ち&#34;&gt;先日書いた&lt;/a&gt;とおり，ちょっと真面目に ChatGPT で遊んでみることにした。
んで，とりあえず Web ブラウザでチャットは何かと辛いので，コマンドライン・ツールで近い機能が実装できないかなぁ，と物色してみたら&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sashabaranov/go-openai&#34; target=&#34;_blank&#34; title=&#34;sashabaranov/go-openai: OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go&#34;&gt;sashabaranov/go-openai: OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というパッケージを使うのが&lt;a href=&#34;https://zenn.dev/spiegel/scraps/fa5fcc9f7f1781&#34; target=&#34;_blank&#34; title=&#34;ターミナルで ChatGPT とお話するための #golang コード&#34;&gt;よさげ&lt;/a&gt;である。&lt;/p&gt;
&lt;p&gt;というわけで，このパッケージを用いた CLI ツールを作ってみた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/goark/gpt-cli&#34; target=&#34;_blank&#34;&gt;goark/gpt-cli: CLI tool for GPT with OpenAI API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ぶっちゃけ，この手のツールはみんな思いつくようで， &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; 製のものだけでもそこそこ見かける。
でも，まぁ，こういうのは実際にコードを書いて動かしてみないと理解できなかったりするからねぇ。
N番煎じはご容赦を。&lt;/p&gt;
&lt;p&gt;拙作の場合はこんな感じ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CLI tool for GPT with OpenAI API.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli [flags]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli [command]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Available Commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  chat        Chat with GPT-x
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  help        Help about any command
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  version     Print the version number
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --api-key string     OpenAI API key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --config string      Config file (default /home/username/.config/gpt-cli/config.yaml)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --debug              for debug
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -h, --help               help for gpt-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-dir string     Directory for log files (default &amp;#34;/home/username/.cache/gpt-cli&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-level string   Log level [nop|error|warn|info|debug|trace] (default &amp;#34;nop&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use &amp;#34;gpt-cli [command] --help&amp;#34; for more information about a command.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;今のところはチャット機能しかないが， &lt;a href=&#34;https://github.com/sashabaranov/go-openai&#34; target=&#34;_blank&#34; title=&#34;sashabaranov/go-openai: OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go&#34;&gt;sashabaranov/go-openai&lt;/a&gt; を使えば，いま話題沸騰（笑）の GPT-4 や DALL·E, Whisper あたりもハンドリングできるみたいなので，そのうち挑戦してみたいと思っている。
ちなみに GPT-4 は申請中だが，しばらく順番は回ってこないだろうな。&lt;/p&gt;
&lt;h2&gt;OpenAI API Key を取得する&lt;/h2&gt;
&lt;p&gt;拙作を動かす場合は &lt;a href=&#34;https://platform.openai.com/&#34; target=&#34;_blank&#34;&gt;OpenAI API&lt;/a&gt; Key を取得する必要がある。
取得方法は適当にググってください。
&lt;a href=&#34;https://platform.openai.com/&#34; target=&#34;_blank&#34;&gt;OpenAI&lt;/a&gt; のアカウントを取ると，最初は無料だけど，無料枠を使い切ると有料（従量制）になるのでご注意を。&lt;/p&gt;
&lt;p&gt;で， &lt;a href=&#34;https://platform.openai.com/&#34; target=&#34;_blank&#34;&gt;OpenAI API&lt;/a&gt; Key はコマンドラインで指定することもできるけど，設定ファイルに記述しておくことができる。
規定ファイルは &lt;code&gt;$XDG_CONFIG_HOME/gpt-cli/config.yaml&lt;/code&gt;。
中身は YAML 形式で，こんな感じに記述できる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;api-key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;your_api_key_string&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Linux の場合は， &lt;code&gt;$XDG_CONFIG_HOME&lt;/code&gt; は &lt;code&gt;$HOME/.config/&lt;/code&gt; ディレクトリに割り当てられていることが多い。
Windows だと &lt;code&gt;%AppData%&lt;/code&gt; フォルダ， macOS (Darwin) だと &lt;code&gt;$HOME/Library/Application/&lt;/code&gt; フォルダになる。
コマンドラインの &lt;code&gt;--config&lt;/code&gt; オプションで設定ファイルを指定することもできる。&lt;/p&gt;
&lt;h2&gt;GPT とチャットする&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli chat -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat with GPT-x, input from standard input.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli chat [flags]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli chat [command]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Aliases:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  chat, c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Available Commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  history     Print chat history
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  interactive Interactive mode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -a, --attach-file strings   Path of attach files (text file only)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -c, --clipboard             Input message from clipboard
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -h, --help                  help for chat
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -m, --message string        Chat message
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p, --prepare-file string   Path of prepare file (JSON format)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -f, --save-file string      Path of save file (JSON format)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Global Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --api-key string     OpenAI API key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --config string      Config file (default /home/username/.config/gpt-cli/config.yaml)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --debug              for debug
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-dir string     Directory for log files (default &amp;#34;/home/username/.cache/gpt-cli&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-level string   Log level [nop|error|warn|info|debug|trace] (default &amp;#34;nop&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use &amp;#34;gpt-cli chat [command] --help&amp;#34; for more information about a command.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;いちばん簡単な使い方は以下の通り（&lt;a href=&#34;https://platform.openai.com/&#34; target=&#34;_blank&#34;&gt;OpenAI API&lt;/a&gt; Key は設定ファイルに記述済みとする）。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli c -m &amp;#34;hello&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hello! How can I help you today?
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;save to /home/username/.cache/gpt-cli/chat.2133582955.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://platform.openai.com/&#34; target=&#34;_blank&#34;&gt;OpenAI API&lt;/a&gt; を使って “&lt;code&gt;hello&lt;/code&gt;” と投げると “&lt;code&gt;Hello! How can I help you today?&lt;/code&gt;” と返ってきた。
最後に，やり取りの記録を &lt;code&gt;$XDG_CACHE_HOME/gpt-cli/chat.*.json&lt;/code&gt; ファイル&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; に格納して終了（保存先は &lt;code&gt;--save-file&lt;/code&gt; または &lt;code&gt;-f&lt;/code&gt; オプションで指定できる）。
そして，次に起動するときは &lt;code&gt;--prepare-file&lt;/code&gt; または &lt;code&gt;-p&lt;/code&gt; オプションで記録を格納したファイルを指定すれば続きから始められる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--prepare-file&lt;/code&gt; オプションを使うことで初期状態をある程度いじることができる。
&lt;code&gt;--prepare-file&lt;/code&gt; オプションで指定するファイルは JSON 形式で，たとえば&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;model&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-3.5-turbo-0301&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;max_tokens&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;256&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;temperature&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;messages&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;system&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;これからプログラムのコードを渡すので，質問に答えてください。&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;などと記述しておいて，これを &lt;code&gt;--prepare-file&lt;/code&gt; オプションで読み込ませて初期状態にできる。&lt;/p&gt;
&lt;h3&gt;チャットにファイルを添付する&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;--attach-file&lt;/code&gt; または &lt;code&gt;-a&lt;/code&gt; オプションを使ってファイルを添付して評価してもらうこともできる。
こんな感じ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ cat sample/hello.go
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;package main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;import &amp;#34;fmt&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;func main() {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fmt.Println(&amp;#34;Hello, world.&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli c -a sample/hello.go -m &amp;#34;Summarize the source code below.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The source code is a basic program in the Go programming language that prints the text &amp;#34;Hello, world.&amp;#34; to the console. It includes the standard library package &amp;#34;fmt&amp;#34; and a main function that utilizes the &amp;#34;Println&amp;#34; function from the &amp;#34;fmt&amp;#34; package.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;save to /home/username/.cache/gpt-cli/chat.3658387869.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;--attach-file&lt;/code&gt; オプションを複数使って複数のファイルを指定することが可能。
また &lt;code&gt;*.go&lt;/code&gt; みたいなワイルドカード指定もできる（bash 上などではファイル名が勝手に展開されてしまうので &lt;code&gt;&amp;quot;*.go&amp;quot;&lt;/code&gt; のように引用符で囲むとよい）。&lt;/p&gt;
&lt;h3&gt;クリップボードの内容をメッセージとして送信する&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;--clipboard&lt;/code&gt; または &lt;code&gt;-c&lt;/code&gt; オプションを指定することでクリップボードの内容をメッセージとして送信できる。&lt;/p&gt;
&lt;p&gt;たとえば上述の &lt;code&gt;sample/hello.go&lt;/code&gt; の内容をクリップボードにコピーした上で&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli c -c -m &amp;#34;次のコードを要約してください。&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このコードは、mainパッケージをインポートし、&amp;#34;Hello, world.&amp;#34;という文字列を出力するプログラムです。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;save to /home/username/.cache/gpt-cli/chat.2878035472.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;などとできる。
送信の順番は &lt;code&gt;--message&lt;/code&gt; オプションで指定した文字列 → クリップボードの内容 → 添付ファイル の順に送信される。&lt;/p&gt;
&lt;h2&gt;対話モード&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli chat interactive -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Interactive mode in chat.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli chat interactive [flags]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Aliases:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  interactive, i
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -h, --help               help for interactive
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p, --profile string     Path of profile file (JSON format)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -f, --save-file string   Path of save file (JSON format)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Global Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --api-key string     OpenAI API key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --config string      Config file (default /home/username/.config/gpt-cli/config.yaml)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --debug              for debug
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-dir string     Directory for log files (default &amp;#34;/home/username/.cache/gpt-cli&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-level string   Log level [nop|error|warn|info|debug|trace] (default &amp;#34;nop&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;こんな感じに使える。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli c i
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Input &amp;#39;q&amp;#39; or &amp;#39;quit&amp;#39; to stop
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat&amp;gt; こんにちは
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;こんにちは！私はAIのアシスタントです。何かお手伝いできることがありますか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat&amp;gt; 科学雑誌の日経サイエンスにChatGPTの特集が載るそうです。どんな内容になるか予想してみましょう。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ChatGPTとは、人工知能による自然言語処理を利用した対話型のチャットボットです。日経サイエンスがChatGPTに特集を組むことから、以下のような予想が考えられます。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. ChatGPTの機能や特徴の紹介
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ChatGPTの性能、動作原理などの詳しい解説や、どのような機能があるのか、どのような場面で活躍するのかなどが紹介される可能性があります。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. ChatGPTの応用例の紹介
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ChatGPTが活用される応用例として、カスタマーサポート、医療支援、人工知能アシスタントなどがあります。特集では、ChatGPTがどのようにこれらの分野で活躍しているのか、具体例を交えて解説されるかもしれません。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. ChatGPTの進化と今後の展望について
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ChatGPTは、自然言語処理分野での革新的な技術であり、今後、ますます進化していくことが期待されています。特集では、今後どのような改良がされ、また、普及の度合いがどこまで広がるのか、その展望についても取り上げられるかもしれません。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat&amp;gt; ありがとうございます。雑誌を読むのが楽しみです
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;どういたしまして。日経サイエンスは、科学技術に関する話題や最新の研究成果などが掲載され、とても興味深く読める雑誌ですね。ChatGPTに特集が組まれるということで、ますます注目が集まりそうですね。楽しみにしていてください。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat&amp;gt; q
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;save to /home/username/.cache/gpt-cli/chat.2788390222.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;入力は1行のみ可（複数行編集の実装は保留中）。
ファイルの添付とかもできない。
本当に文章で対話するだけ（笑）&lt;/p&gt;
&lt;h2&gt;チャット履歴を表示&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli chat history -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Print chat history.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gpt-cli chat history [flags]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Aliases:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  history, hist, h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -a, --assistant-name string   Assistant name (display name)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -h, --help                    help for history
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -f, --history-file string     Path of history file (JSON format)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -u, --user-name string        User name (display name)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Global Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --api-key string     OpenAI API key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --config string      Config file (default /home/username/.config/gpt-cli/config.yaml)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --debug              for debug
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-dir string     Directory for log files (default &amp;#34;/home/username/.cache/gpt-cli&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-level string   Log level [nop|error|warn|info|debug|trace] (default &amp;#34;nop&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最後に出力される記録ファイルを読み込んで markdown 風のテキストに整形して出力できる。
オマケ機能。
こんな感じ。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpt-cli c h -u Spiegel -a ChatGPT -f /home/username/.cache/gpt-cli/chat.2133582955.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Chat with GPT
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- `model`: gpt-3.5-turbo-0301
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## Spiegel
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hello
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## ChatGPT
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hello! How can I help you today?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ChatGPT とのやりとりを &lt;a href=&#34;https://gist.github.com/spiegel-im-spiegel&#34; target=&#34;_blank&#34;&gt;Gist に上げたり&lt;/a&gt;してるんだけど，手動で整形するのが面倒くさくて（笑）&lt;/p&gt;
&lt;h2&gt;よっしゃ，今日はこれぐらいにしといたるわ&lt;/h2&gt;
&lt;p&gt;というわけで，今回はこのへんで。
しばらく遊んでみて，必要なら機能を足すかも知れん。
こうやって，ツールがカオスになっていくんだねぇ（笑）&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://japan.zdnet.com/article/35201375/&#34; target=&#34;_blank&#34;&gt;ChatGPTに回答の参考文献を提示させるには - ZDNET Japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/u_u/articles/54902c757ffce5&#34; target=&#34;_blank&#34;&gt;ChatGPTのプロンプトをLispで書く&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/kznrluk/items/6d5ecd22c1b19d3e1d56&#34; target=&#34;_blank&#34;&gt;ChatGPTで開発効率アップ！askiを使ったCLIコードレビュー＆バグ特定 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.to/disukharev/top-3-open-source-ai-tools-for-programmers-4oed&#34; target=&#34;_blank&#34;&gt;TOP 3 open-source AI to code like a PRO 🧠 🤖 - DEV Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zetamatta.hatenablog.com/entry/2023/03/24/233301&#34; target=&#34;_blank&#34;&gt;go-readline-ny でマルチライン編集 - 標準愚痴出力&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考図書&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B0BXQ2HMQ5?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51RHpNwG41L._SL160_.jpg&#34; width=&#34;120&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B0BXQ2HMQ5?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;日経サイエンス2023年5月号（特集：対話するAI　ChatGPT）&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;日経サイエンス編集部 (編集)&lt;/dd&gt;
    &lt;dd&gt;日経サイエンス 2023-03-25 (Release 2023-03-25)&lt;/dd&gt;
    &lt;dd&gt;雑誌&lt;/dd&gt;
    &lt;dd&gt;B0BXQ2HMQ5 (ASIN), 4910071150534 (EAN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;特集記事が「話す AI 描く AI」ということで，いわゆる Generative AI に関する内容。大規模言語モデル（LLM）の解説も載っている。圏論の記事もあるよ。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2023-03-28&#34;&gt;2023-03-28&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 日経サイエンス2023年5月号（特集：対話するAI ChatGPT） --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4621300253?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41meaSLNFfL._SL160_.jpg&#34; width=&#34;122&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4621300253?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;丸善出版 2016-06-20&lt;/dd&gt;
    &lt;dd&gt;単行本（ソフトカバー）&lt;/dd&gt;
    &lt;dd&gt;4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;著者のひとりは（あの「バイブル」とも呼ばれる）通称 “K&amp;amp;R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。と思ったら絶版状態らしい（2025-01 現在）。復刊を望む！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2016-07-13&#34;&gt;2016-07-13&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- プログラミング言語Go --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B09C2XBC2F?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/31PDIZXO9tL._SL160_.jpg&#34; width=&#34;160&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B09C2XBC2F?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;デベロッパーゴースーパーゴラン Tシャツ&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Geek Go Super Golang Tees&lt;/dd&gt;
    &lt;dd&gt;ウェア&amp;amp;シューズ&lt;/dd&gt;
    &lt;dd&gt;B09C2XBC2F (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;ついカッとなってポチった。反省はしない&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2022-04-10&#34;&gt;2022-04-10&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- Golang Tシャツ --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Linux では &lt;code&gt;$XDG_CACHE_HOME&lt;/code&gt; は &lt;code&gt;$HOME/.cache/&lt;/code&gt; ディレクトリに割り当てられていることが多い。 Windows だと &lt;code&gt;%LocalAppData%&lt;/code&gt; フォルダ， macOS (Darwin) だと &lt;code&gt;$HOME/Library/Caches/&lt;/code&gt; フォルダになる。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>ChatGPT という壁打ち</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2023/03/practice-on-the-wall/" />
		<id>tag:text.Baldanders.info,2023-03-19:/remark/2023/03/practice-on-the-wall/</id>
		<published>2023-03-19T12:43:57+00:00</published>
		<updated>2023-03-28T11:50:11+00:00</updated>
		<summary>改めて OpenAI にアカウントを作った</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;先日から『&lt;a href=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;はじめて学ぶ ビデオゲームの心理学 脳のはたらきとユーザー体験（UX） | セリア ホデント, 山根 信二, 成田 啓行 |本 | 通販 | Amazon&#34;&gt;はじめて学ぶ ビデオゲームの心理学&lt;/a&gt;』という本をちょっとずつ読み始めている。
この本の感想はいずれ書くとして，この本に&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;ビデオゲームをはじめ各種のゲームは、ツールでないという点で、ほかの製品と少し違います。ビデオゲームは外部の目標に向かってプレイするものではなく、プレイ自体が目的になる、自己目的的な活動です。私たちはゲームを通じてシステムに働きかけ、その反応を楽しみます。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;『はじめて学ぶ ビデオゲームの心理学』p.39&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;と書かれているのを見て，その前に見た&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;おもちゃが手に入ったときの草の根活動は日本最強だと思うんですよね。事業化するのがとにかく下手 &lt;a href=&#34;https://t.co/d43QS8F4h7&#34;&gt;https://t.co/d43QS8F4h7&lt;/a&gt;&lt;/p&gt;&amp;mdash; odashi (@odashi_t) &lt;a href=&#34;https://twitter.com/odashi_t/status/1634252815882391554?ref_src=twsrc%5Etfw&#34;&gt;March 10, 2023&lt;/a&gt;&lt;/blockquote&gt;
&lt;/figure&gt;
&lt;p&gt;という tweet を思い出した。&lt;/p&gt;
&lt;p&gt;もの凄い個人的な意見を言わせていただければ AI でプログラマが失業するかもしれないなんて話は完全に想定内なのよ。
つい40年前には「キーパンチャー」とか「コーダー」とかいう（今は絶滅した）職業が存在してたんだぜ。
プログラマみたいな（頭脳）労働集約的な職業が近い将来なくなったとしても全く不思議ではないだろう。&lt;/p&gt;
&lt;p&gt;たとえば「Linux のメンテナを AI に一任することになりました」とか「Eマスク氏が AI を使って Twitter を自分好みに全面改修しました」みたいな話が起きれば本格的に（職業をかわるという意味での）転職を考えないといけなくなるだろうが，たかだか学部生の宿題レベルが解ける程度なら，鼻の先は驚異でも脅威でもない（日進月歩という意味では凄いと思うけど）。&lt;/p&gt;
&lt;p&gt;話が逸れた。
逸れたついでに&amp;hellip;&lt;/p&gt;
&lt;p&gt;恥ずかしながら中学時代はテニス部だったのだが&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，運動神経が壊滅してる私は「壁打ち」で練習することが多かった。
「壁打ち」って奥が深いよね。
どの方向にどういう強さ打って，球にどう回転を加えれば，思い通りの球が返ってくるか。
まさに物理学だよね。&lt;/p&gt;
&lt;p&gt;私の中で ChatGPT は何となく「壁打ち」なイメージなんだよなぁ。
インプットに対するアウトプットを見ながら次のインプットを調整していく。
フィードバックを行うのは機械（＝壁）じゃなくて人間のほうだよね。&lt;/p&gt;
&lt;p&gt;というような思いつきを Mastodon に投稿したら&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote class=&#34;nobox center&#34;&gt;
&lt;iframe src=&#34;https://social.hyuki.net/@hyuki/110046769146123924/embed&#34; class=&#34;mastodon-embed&#34; style=&#34;max-width: 100%; border: 0&#34; width=&#34;400&#34; allowfullscreen=&#34;allowfullscreen&#34;&gt;&lt;/iframe&gt;
&lt;/blockquote&gt;&lt;/figure&gt;
&lt;p&gt;というリアクションをいただいた。
ありがたや。&lt;/p&gt;
&lt;p&gt;結城浩さんといえば最近&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gist.github.com/hyuki/f7218870ae47847eab066545b8b51d05&#34; target=&#34;_blank&#34;&gt;ChatGPT と結城浩の対話（矛盾や反復を含んだ対話によってAIと人間の識別は行えるか） · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というのを公開されていて，これは凄いと思った。
対話というのはお互いの間で「文脈（context）」を生成・共有する必要があるが，パッと見た限りでは両者の間に「文脈」があるように見える。
もっとも ChatGPT については&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;ChatGPTと会話していると、記憶力があるように錯覚するけれど、APIで使う人はわかるように、記憶はなく（ステートレスで）、今までの会話の全記録（ただし長さ制限あり）と新しい質問を入力して、新しい回答を生成するだけ。密かに悪巧みを考えることもできない（SFに出てくるAGIではない）&lt;/p&gt;&amp;mdash; Haruhiko Okumura (@h_okumura) &lt;a href=&#34;https://twitter.com/h_okumura/status/1637280594534211584?ref_src=twsrc%5Etfw&#34;&gt;March 19, 2023&lt;/a&gt;&lt;/blockquote&gt;
&lt;/figure&gt;
&lt;p&gt;なんだそうで，そうなると少なくとも ChatGPT 側は「文脈」と言えるものを持ってないことになる？&lt;/p&gt;
&lt;p&gt;「ゲーム」の面白さのひとつは，「ゲーム」というブラックボックスに対して何某かの入力を行いそれに対する反応をフィードバックして次の入力を行う，という繰り返しで対象への「理解」を深めることにあり，それ自体が目的化している点にあると思う。&lt;/p&gt;
&lt;p&gt;何だかよく分からないものを理解していくというプロセスは，自身の「『有能さ』への欲求」を満たす行為であり，まさに「ゲーム」に対する内発的動機になり得るものだ。&lt;/p&gt;
&lt;p&gt;であるなら ChatGPT も「仕事に使えるか？」とか要らないことは考えずに，純粋に「ゲーム」だと思えば楽しく遊べるのではないか，と考えを切り替えることにした。
競馬の予想屋と大して変わらないなんちゃらアナリストの発言に右往左往するのはもう止めよう。&lt;/p&gt;
&lt;p&gt;というわけで，改めて（Google アカウントではない）アカウントを作ってみた。
Subscription で決済が発生するのなら Google アカウントは使いたくなかったので。
まずは無料枠分で「壁打ち」するところから始めようか（笑）&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;年齢に関わらず、遊びは私たちの精神を鋭敏に保つために重要です。
[&amp;hellip;]
遊ぶことは学ぶことです。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;『はじめて学ぶ ビデオゲームの心理学』p.71&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://help.openai.com/en/articles/6825453-chatgpt-release-notes&#34; target=&#34;_blank&#34;&gt;ChatGPT — Release Notes | OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/koma_aws/items/5d4a8bed52599f497f5c&#34; target=&#34;_blank&#34;&gt;ChatGPTをVSCodeで利用するための設定方法 - Qiita&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/waarrk/articles/a6868cea7549de&#34; target=&#34;_blank&#34;&gt;ChatGPTのVSCodeプラグインが神すぎる件について&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;これらで紹介されている拡張機能は，規約違反がどうのとかで，後悔を取りやめたらしい。まぁ Chromium がインストールされている必要があるみたいなので，どっちみち使わんと思うが&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/yukiaprogramming/items/538a18bb3581245857e5&#34; target=&#34;_blank&#34;&gt;ChatGPTのAPIをGolangで実装する - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/o_ob/articles/gas-chatgpt-api&#34; target=&#34;_blank&#34;&gt;VisualStudio CodeとGoogle Apps ScriptでChatGPT(gpt-3.5-turbo)をより安全快適に使う&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://japan.zdnet.com/article/35201375/&#34; target=&#34;_blank&#34;&gt;ChatGPTに回答の参考文献を提示させるには - ZDNET Japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://platform.openai.com/docs/libraries/community-libraries&#34; target=&#34;_blank&#34;&gt;OpenAI API&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sashabaranov/go-openai&#34; target=&#34;_blank&#34;&gt;GitHub - sashabaranov/go-openai: OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/u_u/articles/54902c757ffce5&#34; target=&#34;_blank&#34;&gt;ChatGPTのプロンプトをLispで書く&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/ikeda_yasuhiro/items/3c633ddf0f3119051fe0&#34; target=&#34;_blank&#34;&gt;GPT-4はどのようにして「不適切な回答」を回避するように学習されているのか - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/kznrluk/items/6d5ecd22c1b19d3e1d56&#34; target=&#34;_blank&#34;&gt;ChatGPTで開発効率アップ！askiを使ったCLIコードレビュー＆バグ特定 - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.to/disukharev/top-3-open-source-ai-tools-for-programmers-4oed&#34; target=&#34;_blank&#34;&gt;TOP 3 open-source AI to code like a PRO 🧠 🤖 - DEV Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考図書&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41Yi36OSUmL._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4571210450?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;はじめて学ぶ ビデオゲームの心理学 脳のはたらきとユーザー体験（UX）&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;セリア ホデント (著), 山根 信二 (監修), 成田 啓行 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;福村出版 2022-12-13&lt;/dd&gt;
    &lt;dd&gt;単行本（ソフトカバー）&lt;/dd&gt;
    &lt;dd&gt;4571210450 (ASIN), 9784571210457 (EAN), 4571210450 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;デジタル版が出そうもないので，諦めて紙の本を購入。ゲームデザイナやゲームエンジニアだけでなく，ソフトウェア・エンジニアは全員読むべき。あと，ゲーマーな人も読むといいよ。感想は&lt;a href=&#34;https://text.baldanders.info/remark/2023/04/the-psychology-of-video-games/&#34;&gt;こちら&lt;/a&gt;。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2023-04-09&#34;&gt;2023-04-09&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- はじめて学ぶ ビデオゲームの心理学 --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B0BXQ2HMQ5?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51RHpNwG41L._SL160_.jpg&#34; width=&#34;120&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B0BXQ2HMQ5?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;日経サイエンス2023年5月号（特集：対話するAI　ChatGPT）&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;日経サイエンス編集部 (編集)&lt;/dd&gt;
    &lt;dd&gt;日経サイエンス 2023-03-25 (Release 2023-03-25)&lt;/dd&gt;
    &lt;dd&gt;雑誌&lt;/dd&gt;
    &lt;dd&gt;B0BXQ2HMQ5 (ASIN), 4910071150534 (EAN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;特集記事が「話す AI 描く AI」ということで，いわゆる Generative AI に関する内容。大規模言語モデル（LLM）の解説も載っている。圏論の記事もあるよ。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2023-03-28&#34;&gt;2023-03-28&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 日経サイエンス2023年5月号（特集：対話するAI ChatGPT） --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B00LF90DZW?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/61StnV8HguL._SL160_.jpg&#34; width=&#34;113&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B00LF90DZW?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;賢者の弟子を名乗る賢者1 (GCノベルズ)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;りゅうせんひろつぐ (著), 藤ちょこ (イラスト)&lt;/dd&gt;
    &lt;dd&gt;マイクロマガジン社 2014-06-30 (Release 2014-07-01)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B00LF90DZW (ASIN), 9784896374650 (EAN), 4896374657 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;最近のお気に入りラノベ。 &lt;a href=&#34;http://ncode.syosetu.com/n6829bd/&#34;&gt;Web 版&lt;/a&gt;も愛読している。こういう設定のゲームとかあったら楽しいかなぁ。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2017-06-09&#34;&gt;2017-06-09&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 賢者の弟子を名乗る賢者 --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;親に無理やり入れさせられた。高校に入ったら一切運動部には関わらないという条件で渋々入った。テニス部を選んだのは一番楽そうに見えたからだ（←シロート考えw）。まぁ，それで身に着けた体力の余剰分でこの歳まで生き延びたんだから，そこだけは当時の親に感謝しておこう。今だに運動も体育会系のノリもまっぴらゴメンって感じだが。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry>
</feed>
