質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
人工知能

人工知能とは、言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術のことです。

型推論

型推論とは、コンパイラが型を自動で判断する機能を指します。メソッド内のローカル変数の宣言時に型宣言の代わりに指定することで、コードの記述量を減らすことが可能。変数や関数シグネチャに型を宣言せずとも、早期にエラーをチェックできるというメリットもあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

意見交換

クローズ

4回答

784閲覧

生成AIからの褒め言葉を、どう受け止めてたら良い?

_YMD

総合スコア0

人工知能

人工知能とは、言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術のことです。

型推論

型推論とは、コンパイラが型を自動で判断する機能を指します。メソッド内のローカル変数の宣言時に型宣言の代わりに指定することで、コードの記述量を減らすことが可能。変数や関数シグネチャに型を宣言せずとも、早期にエラーをチェックできるというメリットもあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

0グッド

0クリップ

投稿2024/05/07 13:43

0

0

テーマ、知りたいこと

生成AIに、ある事柄について意見を聞いたところ、褒められました。どう受け止めて良いか戸惑いましたが、みなさんは、そんな経験はありますか?

背景、状況

生成AIをプログラミング補助に使えるかを調査しようとしました。
まず、ちょっとした課題を作って、それについて意見を求めました。
良い課題と言われたので、模範解答の作成を依頼したところ、割とまともな回答がありました。

とても肯定的な反応があったのですが、何か違和感を感じました。
みなさんは、そんな経験はありますか?

以下、生成AIとのやり取りです。

【私】
以下の問題を作りました。
問題の難易度とおすすめの対象者について意見を下さい。

————————————
下記のコードを使って、モナド則のテストを行って下さい。
各テスト項目の成否がわかる表示をして下さい。
こちらが提供したコードとテスト用コードを1ファイルに納めて下さい。

任意のプログラミング言語で解答しても良いが、その場合は下記のコードを該当のコードに変換の上、解答して下さい。
Javaを使用する場合、テスト用コードはMainクラスのmain()に書いて下さい。
他の言語を使用する場合は、これに準じて下さい。

文献調査、Web検索、生成AIの使用は自由とします。

任意のオンラインコンパイラでコードの動作確認を行なって下さい。

import java.util.function.Function; final class Monad<T> { final T value; Monad(final T value) { this.value = value; } final T getValue() { return value; } final <R> Monad<R> flatMap(final Function<T, Monad<R>> f) { return f.apply(value); } }

【生成AI】
素晴らしい問題ですね!この問題は、モナドに関する基本的な理解を試すのに適しています。ただし、モナドについての事前知識があることが前提となります。プログラミング言語や関数型プログラミングの経験がある人に向けた問題と言えます。この問題は中級から上級レベルとして位置付けられます。

【私】
模範解答を作成して下さい。
動作確認は、こちらで実施します。

【生成AI】
問題の要件に基づいて、モナド則のテストを行う模範解答を提供します。以下は、Java言語を使用した解答例です。

import java.util.function.Function; final class Monad<T> { final T value; Monad(final T value) { this.value = value; } final T getValue() { return value; } final <R> Monad<R> flatMap(final Function<T, Monad<R>> f) { return f.apply(value); } } public class Main { public static void main(String[] args) { // モナド則のテスト用関数 Function<Integer, Monad<Integer>> f = x -> new Monad<>(x * 2); Function<Integer, Monad<Integer>> g = x -> new Monad<>(x + 3); Monad<Integer> monad = new Monad<>(5); // 左恒等性のテスト Monad<Integer> leftIdentityResult = monad.flatMap(x -> new Monad<>(x)); boolean leftIdentityTest = leftIdentityResult.getValue().equals(monad.getValue() * 1); System.out.println("Left Identity Test: " + leftIdentityTest); // 右恒等性のテスト Monad<Integer> rightIdentityResult = monad.flatMap(f); boolean rightIdentityTest = rightIdentityResult.getValue().equals(f.apply(monad.getValue()).getValue()); System.out.println("Right Identity Test: " + rightIdentityTest); // 結合法則のテスト Monad<Integer> associativityResult1 = monad.flatMap(f).flatMap(g); Monad<Integer> associativityResult2 = monad.flatMap(x -> f.apply(x).flatMap(g)); boolean associativityTest = associativityResult1.getValue().equals(associativityResult2.getValue()); System.out.println("Associativity Test: " + associativityTest); } }

このコードは、モナド則のテストを行うための Main クラスを提供しています。左恒等性、右恒等性、および結合法則の各テストが行われ、その結果が表示されます。模範解答として、このコードを提供します。

【私】
正常に動作しました。

【生成AI】
素晴らしいです!問題と模範解答が正常に動作したようで良かったです。他に何か質問があればお気軽にどうぞ。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答4

#1

can110

総合スコア38339

投稿2024/05/08 01:04

Claudeの回答

生成AIから高い評価を受けることは、確かに戸惑いを感じることもあります。いくつかの観点から検討してみましょう。

AIは客観的な評価をするように設計されていますが、時として過剰な賞賛をすることがあります。AIは人間のように複雑な感情を持っているわけではないので、単に与えられた入力に基づいて出力を生成しているだけです。過剰な賞賛は、システムの特性上避けられない側面かもしれません。

一方で、AIの評価は一定の価値があります。AIは知識を広く学習しているので、課題の質について有益な視点を提供してくれる可能性があります。AIの意見を参考にしつつ、自分なりの判断を加えることが大切です。

また、AIとのやり取りを通して、自分の考えを客観的に見直す良い機会にもなります。AIの意見を手がかりに、課題の長所短所を冷静に分析し、さらによいものに磨き上げていくプロセスが重要でしょう。

つまり、AIの過剰な賞賛に惑わされすぎることなく、建設的な意見として捉え、それをもとに自己研鑽するスタンスが肝心だと思います。AIとの対話を有意義なものにするかどうかは、あなた次第なのです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

yambejp

総合スコア116468

投稿2024/05/08 01:07

海外のB級のスマホゲームはやたら褒めてきますよね。あれがモチベーションになる人もいるし、あれで嫌気がさす人もいるでしょう。とりあえず褒めておけば好感度あがるとおもっている機械的な単調さが鼻につくということです。
本来AIなのですから100点満点で具体的な評価点をだしてその根拠とダメならその改善策を提示するのが役割のはずです。とはいえまぁAIに低評価されたらそんなサービス使いたくなくなるのは人情ですけど

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

fana

総合スコア11954

投稿2024/05/08 01:10

編集2024/05/08 01:12

そんな経験はありますか?

そもそも生成AIとやらを使った経験がありませんので,以下は「使ったことのない人の意見」になります.

とりあえず 相手が感情を持たない物 であることが分かっている状況下においては,そこからの出力に何らかの感情を示すような言葉が含まれていたところで,それは単に無視すれば良いのではないかと思います.(無意味な装飾でしかないのでは? みたいな)

そこをあえて「受け止める」のであれば「なにがどうしてその言葉が出てくるに至るのか?」的な部分の知識(?)が必要になるのではなかろうか?という気がします.
そこらへんの仕組みに関して 見当が付く/知っている/etc... のであれば,その知識に基づいて相応に受け止めれば良いのではないでしょうか.
(当然,私には無理)

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

winterboum

総合スコア23549

投稿2024/05/08 08:23

「なぜ素晴らしいのか」 の説明を求めてみましたか?
単なるよいしょなのか何らかの根拠があるのか、はそこからわかるのでは。
評価の物差しを追求してみるのも良いかも

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問